[BUG] Nano-GraphRAG dependences is NOT working
Description
I'm installing kotaemon with nano-graphrag and i found it is not woring well. I found the error message like "Nano-GraphRAG dependencies not installed. Try pip install nano-graphrag to install. Nano-GraphRAG retriever pipeline will not work properly." though i have installed the nano-graphrag.
here is my environment:
system: debian12.9 system python3 version: 3.11 kotaemon version: local (perhaps 0.10.2) koatemon deployment method: docker compose nano-graphrag version: 0.0.8 nano-graphrag deployment method: pipx install -e .
Otherwise, I tried to uninstall and install the lib hnswlib either before installing nano-graphrag or after installing nano-graphrag, and it's not working as well. I also tried "pip install nano-graphrag" and it's failed due to some incompatible libs.
Reproduction steps
1. install kotaemon with docker first
2. install nano-graphrag with pipx
3. docker compose up kotaemon
4. docker compose logs kotaemon -f
Screenshots

Logs
root@Debian12:/opt/kotaemon# docker logs kotaemon_app -f
/app/launch.sh: 20: ollama: not found
[nltk_data] Downloading package punkt_tab to
[nltk_data] /usr/local/lib/python3.10/site-
[nltk_data] packages/llama_index/core/_static/nltk_cache...
[nltk_data] Unzipping tokenizers/punkt_tab.zip.
Nano-GraphRAG dependencies not installed. Try `pip install nano-graphrag` to install. Nano-GraphRAG retriever pipeline will not work properly.
INFO:chromadb.telemetry.product.posthog:Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information.
INFO:kotaemon:posthog.capture called with args: ('1b6a3375-cb58-42af-a546-d6d1d1bc1cf4', 'ClientStartEvent', {'batch_size': 1, 'in_colab': False, '$process_person_profile': False, 'chroma_version': '0.5.16', 'server_context': 'None', 'hosted': False, 'chroma_api_impl': 'chromadb.api.segment.SegmentAPI', 'is_persistent': False, 'chroma_server_ssl_enabled': False, 'chroma_server_api_default_path': <APIVersion.V2: '/api/v2'>}), kwargs: {}
INFO:kotaemon:posthog.capture called with args: ('1b6a3375-cb58-42af-a546-d6d1d1bc1cf4', 'ClientCreateCollectionEvent', {'batch_size': 1, 'collection_uuid': 'c7e9a329-2834-4779-9f00-86c2ac2b4a42', '$process_person_profile': False, 'chroma_version': '0.5.16', 'server_context': 'None', 'hosted': False, 'chroma_api_impl': 'chromadb.api.segment.SegmentAPI', 'is_persistent': False, 'chroma_server_ssl_enabled': False, 'chroma_server_api_default_path': <APIVersion.V2: '/api/v2'>}), kwargs: {}
INFO:kotaemon:posthog.capture called with args: ('1b6a3375-cb58-42af-a546-d6d1d1bc1cf4', 'ClientStartEvent', {'batch_size': 1, 'in_colab': False, '$process_person_profile': False, 'chroma_version': '0.5.16', 'server_context': 'None', 'hosted': False, 'chroma_api_impl': 'chromadb.api.segment.SegmentAPI', 'is_persistent': False, 'chroma_server_ssl_enabled': False, 'chroma_server_api_default_path': <APIVersion.V2: '/api/v2'>}), kwargs: {}
INFO:kotaemon:posthog.capture called with args: ('1b6a3375-cb58-42af-a546-d6d1d1bc1cf4', 'ClientCreateCollectionEvent', {'batch_size': 1, 'collection_uuid': '2440597f-a74d-4df2-afb9-baa0d8837469', '$process_person_profile': False, 'chroma_version': '0.5.16', 'server_context': 'None', 'hosted': False, 'chroma_api_impl': 'chromadb.api.segment.SegmentAPI', 'is_persistent': False, 'chroma_server_ssl_enabled': False, 'chroma_server_api_default_path': <APIVersion.V2: '/api/v2'>}), kwargs: {}
INFO:kotaemon:posthog.capture called with args: ('1b6a3375-cb58-42af-a546-d6d1d1bc1cf4', 'ClientStartEvent', {'batch_size': 1, 'in_colab': False, '$process_person_profile': False, 'chroma_version': '0.5.16', 'server_context': 'None', 'hosted': False, 'chroma_api_impl': 'chromadb.api.segment.SegmentAPI', 'is_persistent': False, 'chroma_server_ssl_enabled': False, 'chroma_server_api_default_path': <APIVersion.V2: '/api/v2'>}), kwargs: {}
INFO:kotaemon:posthog.capture called with args: ('1b6a3375-cb58-42af-a546-d6d1d1bc1cf4', 'ClientCreateCollectionEvent', {'batch_size': 1, 'collection_uuid': 'bd86573c-cb44-4695-8614-578a9213f45b', '$process_person_profile': False, 'chroma_version': '0.5.16', 'server_context': 'None', 'hosted': False, 'chroma_api_impl': 'chromadb.api.segment.SegmentAPI', 'is_persistent': False, 'chroma_server_ssl_enabled': False, 'chroma_server_api_default_path': <APIVersion.V2: '/api/v2'>}), kwargs: {}
INFO:matplotlib.font_manager:generated new fontManager
User "admin" already exists
Setting up quick upload event
Running on local URL: http://0.0.0.0:7860
INFO:httpx:HTTP Request: GET http://localhost:7860/startup-events "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
To create a public link, set `share=True` in `launch()`.
#################
root@Debian12:/opt/nano-graphrag# pipx uninstall hnswlib
uninstalled hnswlib! ✨ 🌟 ✨
root@Debian12:/opt/nano-graphrag# pipx install hnswlib --include-deps
⚠️ Note: f2py was already on your PATH at /usr/local/bin/f2py
installed package hnswlib 0.8.0, installed using Python 3.11.2
These apps are now globally available
- f2py
- numpy-config
done! ✨ 🌟 ✨
root@Debian12:/opt/nano-graphrag# pipx install nano-graphrag
root@Debian12:/opt/nano-graphrag# pipx install -e . --include-deps
⚠️ Note: futurize was already on your PATH at /usr/local/bin/futurize
⚠️ Note: pasteurize was already on your PATH at /usr/local/bin/pasteurize
⚠️ Note: openai was already on your PATH at /usr/local/bin/openai
⚠️ Note: httpx was already on your PATH at /usr/local/bin/httpx
⚠️ Note: tqdm was already on your PATH at /usr/local/bin/tqdm
⚠️ Note: normalizer was already on your PATH at /usr/bin/normalizer
⚠️ File exists at /root/.local/bin/f2py and points to /root/.local/pipx/venvs/hnswlib/bin/f2py, not
/root/.local/pipx/venvs/nano-graphrag/bin/f2py. Not modifying.
⚠️ Note: numba was already on your PATH at /usr/local/bin/numba
⚠️ Note: fonttools was already on your PATH at /usr/local/bin/fonttools
⚠️ Note: pyftmerge was already on your PATH at /usr/local/bin/pyftmerge
⚠️ Note: pyftsubset was already on your PATH at /usr/local/bin/pyftsubset
⚠️ Note: ttx was already on your PATH at /usr/local/bin/ttx
⚠️ Note: datasets-cli was already on your PATH at /usr/local/bin/datasets-cli
⚠️ Note: get_gprof was already on your PATH at /usr/local/bin/get_gprof
⚠️ Note: get_objgraph was already on your PATH at /usr/local/bin/get_objgraph
⚠️ Note: undill was already on your PATH at /usr/local/bin/undill
⚠️ Note: huggingface-cli was already on your PATH at /usr/local/bin/huggingface-cli
⚠️ Note: json_repair was already on your PATH at /usr/local/bin/json_repair
⚠️ Note: litellm was already on your PATH at /usr/local/bin/litellm
⚠️ Note: fastapi was already on your PATH at /usr/local/bin/fastapi
⚠️ Note: gunicorn was already on your PATH at /usr/local/bin/gunicorn
⚠️ Note: jsonschema was already on your PATH at /usr/local/bin/jsonschema
⚠️ Note: dotenv was already on your PATH at /usr/local/bin/dotenv
⚠️ Note: rq was already on your PATH at /usr/local/bin/rq
⚠️ Note: rqinfo was already on your PATH at /usr/local/bin/rqinfo
⚠️ Note: rqworker was already on your PATH at /usr/local/bin/rqworker
⚠️ Note: uvicorn was already on your PATH at /usr/local/bin/uvicorn
⚠️ Note: optuna was already on your PATH at /usr/local/bin/optuna
⚠️ Note: alembic was already on your PATH at /usr/local/bin/alembic
⚠️ Note: mako-render was already on your PATH at /usr/bin/mako-render
⚠️ Note: jp.py was already on your PATH at /usr/local/bin/jp.py
installed package nano-graphrag 0.0.8.2, installed using Python 3.11.2
These apps are now globally available
- alembic
- datasets-cli
- distro
- dotenv
- fastapi
- fonttools
- futurize
- get_gprof
- get_objgraph
- gunicorn
- httpx
- huggingface-cli
- jp.py
- json_repair
- jsonschema
- litellm
- mako-render
- normalizer
- numba
- openai
- optuna
- pasteurize
- pyftmerge
- pyftsubset
- rq
- rqinfo
- rqworker
- tqdm
- ttx
- undill
- uvicorn
- f2py (symlink missing or pointing to unexpected location)
done! ✨ 🌟 ✨
root@Debian12:/opt/nano-graphrag#
my docker compose file
services:
kotaemon:
image: ghcr.io/cinnamon/kotaemon:main-full
container_name: kotaemon_app
environment:
- GRADIO_SERVER_NAME=0.0.0.0
- GRADIO_SERVER_PORT=7860
ports:
- "8860:7860"
volumes:
- ktem_app_data:/app/ktem_app_data
networks:
- kotaemon_network
stdin_open: true
tty: true
volumes:
ktem_app_data:
name: ktem_app_data
networks:
kotaemon_network:
name: kotaemon_network
driver: bridge
Browsers
No response
OS
Linux
Additional information
No response