nano-graphrag

轻量可改的 GraphRAG,让你快速跑通并魔改知识图谱问答

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 搜索知识 🍴 复刻 426 🐛 待处理 84 👀 关注 18
GitHub ↗
GitHub 星标 ★ 4003
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

nano-graphrag 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类搜索知识
开发团队gusye1234
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型gpt,gpt-4o,graphrag,learning-by-doing,llm,rag
GitHub 星标★ 4003
上线时间2024-07-25 00:00:00
代码更新2026-01-27
仓库体积699 KB
本站数据更新2026-11-10
维护状态低维护
收录时间2026-08-09
浏览次数2

项目介绍

nano-graphrag 是一个轻量级、易于二次开发的 GraphRAG 实现,旨在解决传统 GraphRAG 系统(如微软 GraphRAG)代码复杂、依赖重、难以定制的问题。它用纯 Python 实现了 GraphRAG 的核心管线,包括实体/关系抽取、知识图谱构建、社区检测、混合检索(向量+图谱)和答案生成。项目强调极简与可侵入性,代码结构清晰,单文件模块化,便于研究者快速理解 GraphRAG 原理并基于其进行实验。它支持多种 LLM 后端(如 OpenAI、Ollama)和向量数据库,内置增量更新和缓存机制,适合作为学习工具或生产级 GraphRAG 的起点。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4003

技术标签

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 环境,且 pip 可用(README 未注明具体版本)
  • OpenAI API Key(若没有,可改用 transformers + ollama 示例)
  • 能访问 GitHub 与 PyPI 的网络环境
  • (可选)如需用 Azure OpenAI 或 Amazon Bedrock,需准备对应凭证

安装与启动步骤

  1. 1克隆仓库

    README 提示先克隆本仓库,代码结构极简,约 1100 行(不含测试与提示词)。

    git clone https://github.com/gusye1234/nano-graphrag.git
  2. 2源码方式安装

    README 推荐从源码安装,-e 为可编辑安装,便于后续修改代码做实验。

    cd nano-graphrag
    pip install -e .
  3. 3设置 API Key

    README 明确要求把 OpenAI API Key 写入环境变量,否则调用模型会失败。

    export OPENAI_API_KEY="sk-..."
  4. 4下载示例文本

    README 提供的示例数据:查尔斯·狄更斯的《A Christmas Carol》,存为本地 book.txt。

    curl https://raw.githubusercontent.com/gusye1234/nano-graphrag/main/tests/mock_data.txt > ./book.txt
  5. 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 场景下的高质量模型 IDus.anthropic.claude-3-sonnet-20240229-v1:0
cheap_model_id否Bedrock 场景下的低成本模型 IDus.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

同类项目推荐

obsidian-smart-connections 开源

写作时自动推荐相关笔记,零配置实现智能链接

Find related notes and excerpts while writing. Your link building copilot displays r···

★ 5552 2026-08-09
TreeSearch 开源

像人一样搜代码,无需向量化,毫秒出结果

TreeSearch: Search your codebase like a human — not like a vector database. No embe···

★ 213 2026-08-09
awesome-geo 开源

跟上 AI 搜索时代,用 GEO 让内容被 ChatGPT 推荐

A curated list of awesome resources for Generative Engine Optimization (GEO) - optim···

★ 132 2026-08-09
quivr 开源

把 RAG 集成交给 quivr,你专注做产品功能

An open-source engine that turns continuous content streams into search and monitori···

★ 39643 2026-09-02
denser-chat 开源

上传 PDF,直接提问,答案带原文高亮。

Chat with PDF files with source highlights

★ 151 2026-08-09
DigUp 开源

用一句话搜出 Mac 里任何文件内容,全程本地不上云

Search your computer by what's in your files: photos, PDFs, documents, recordings, v···

★ 6352 2026-10-13
MemGallery 开源

把语音、图片、笔记和链接收进一个本地 AI 记忆库,随时搜得到

MemGallery: A smart memory bank to store all your memories from audio, images, text,···

★ 107 2026-11-07