
nano-graphrag
轻量可改的 GraphRAG,让你快速跑通并魔改知识图谱问答
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4003
使用教程
环境要求
- Python 环境,且 pip 可用(README 未注明具体版本)
- OpenAI API Key(若没有,可改用 transformers + ollama 示例)
- 能访问 GitHub 与 PyPI 的网络环境
- (可选)如需用 Azure OpenAI 或 Amazon Bedrock,需准备对应凭证
安装与启动步骤
-
1克隆仓库
README 提示先克隆本仓库,代码结构极简,约 1100 行(不含测试与提示词)。
git clone https://github.com/gusye1234/nano-graphrag.git -
2源码方式安装
README 推荐从源码安装,-e 为可编辑安装,便于后续修改代码做实验。
cd nano-graphrag pip install -e . -
3设置 API Key
README 明确要求把 OpenAI API Key 写入环境变量,否则调用模型会失败。
export OPENAI_API_KEY="sk-..." -
4下载示例文本
README 提供的示例数据:查尔斯·狄更斯的《A Christmas Carol》,存为本地 book.txt。
curl https://raw.githubusercontent.com/gusye1234/nano-graphrag/main/tests/mock_data.txt > ./book.txt -
5运行快速上手代码
用 README 给出的 Python 片段:指定工作目录 ./dickens,读入 book.txt 并执行 insert 建库。
from nano_graphrag import GraphRAG, QueryParam graph_func = GraphRAG(working_dir="./dickens") with open("./book.txt") as f: graph_func.insert(f.read())
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | OpenAI 接口密钥,README 要求通过环境变量设置 | sk-xxxxxxxx |
working_dir | 是 | GraphRAG 的工作目录,用于存放索引与中间数据 | ./dickens |
using_azure_openai | 否 | 启用 Azure OpenAI,需按 .env.example.azure 配置变量 | True |
using_amazon_bedrock | 否 | 启用 Amazon Bedrock,需先用 aws configure 配好凭证 | True |
best_model_id | 否 | Bedrock 场景下的高质量模型 ID | us.anthropic.claude-3-sonnet-20240229-v1:0 |
cheap_model_id | 否 | Bedrock 场景下的低成本模型 ID | us.anthropic.claude-3-haiku-20240307-v1:0 |
如何确认成功
执行 insert 无报错,并在 ./dickens 工作目录下生成索引相关数据文件即视为成功(README 未列出具体文件名)。
常见问题
Q:没有 OpenAI API Key 能用吗?
A:可以。README 提供了 examples/no_openai_key_at_all.py 示例,改用 transformers 与 ollama 组合,无需任何外部 Key。
Q:如何改用 Azure OpenAI?
A:参考 .env.example.azure 设置 Azure 相关环境变量,然后在创建时传 GraphRAG(..., using_azure_openai=True, ...) 启用。
Q:如何使用 Amazon Bedrock?
A:先用 aws configure 等方式配置好凭证,再传 GraphRAG(..., using_amazon_bedrock=True, best_model_id=..., cheap_model_id=...) 启用。
Q:想换其他 LLM 或 Embedding 模型怎么办?
A:README 提示参见文档中的 Advances 章节,按其中说明替换对应后端实现。
注意事项
- README 推荐使用源码安装方式(pip install -e .)。
- 除 OpenAI 外还支持 Azure OpenAI、Amazon Bedrock,以及基于 transformers + ollama 的无 Key 方案。
- README 未说明 Python 最低版本与具体依赖版本,遇到问题请以仓库当前说明为准。
- 项目不含测试与提示词时约 1100 行代码,适合直接阅读与二次修改。
核心亮点
- 代码极简,核心逻辑集中在少量文件,便于阅读和二次开发
- 支持多种 LLM 和向量库后端,灵活适配不同环境
- 内置增量索引和缓存,提升重复查询效率
不足之处
- 功能相对基础,缺少高级调优选项(如自定义提示词模板)
- 文档/社区待观察
适用场景
- 快速原型验证 GraphRAG 效果
- 学术研究或教学演示知识图谱构建
- 在资源受限环境部署轻量级 RAG 服务
替代项目
Microsoft GraphRAG、LightRAG、FastGraphRAG
上一篇:cognita
下一篇:dataherald
同类项目推荐
chat-langchain
开源
上传文档就能得到会引用出处的问答机器人
obsidian-smart-connections
开源
写作时自动推荐相关笔记,零配置实现智能链接
Find related notes and excerpts while writing. Your link building copilot displays r···
chat-with-your-data-solution-acc···
开源
把自家文档喂给它,秒变懂行的答疑专家
A Solution Accelerator for the RAG pattern running in Azure, using Azure AI Search f···
TreeSearch
开源
像人一样搜代码,无需向量化,毫秒出结果
TreeSearch: Search your codebase like a human — not like a vector database. No embe···
awesome-geo
开源
跟上 AI 搜索时代,用 GEO 让内容被 ChatGPT 推荐
A curated list of awesome resources for Generative Engine Optimization (GEO) - optim···
quivr
开源
把 RAG 集成交给 quivr,你专注做产品功能
An open-source engine that turns continuous content streams into search and monitori···
denser-chat
开源
上传 PDF,直接提问,答案带原文高亮。
Chat with PDF files with source highlights
DigUp
开源
用一句话搜出 Mac 里任何文件内容,全程本地不上云
Search your computer by what's in your files: photos, PDFs, documents, recordings, v···
MemGallery
开源
把语音、图片、笔记和链接收进一个本地 AI 记忆库,随时搜得到
MemGallery: A smart memory bank to store all your memories from audio, images, text,···