nano-graphrag

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

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

开源 free 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3988
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类搜索知识
开发团队gusye1234
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型gpt,gpt-4o,graphrag,learning-by-doing,llm,rag
GitHub 星标★ 3988
30天Star增速
HF 下载量
上线时间2024-07-25 00:00:00
最近更新2026-09-23 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数1

使用教程

难度:入门 约 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

项目介绍

nano-graphrag 是搜索知识领域的开源项目,由 gusye1234 开发,2024 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(3,988)位列前 30%,在搜索知识分类的 585 个项目里位列前 12%。

近 42 天,它的 GitHub 星标从 3,966 增加到 3,988,净增 22。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-23。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:快速原型验证GraphRAG效果。同类可对比的替代方案包括 Microsoft GraphRAG、LightRAG、FastGraphRAG。

上一篇:cognita

下一篇:dataherald

同类项目推荐

firecrawl 开源

网页抓取像喝水一样简单,开发者省下整周加班

The web data API to search, scrape, and interact at scale.

★ 183325 2026-08-09
contoso-chat 开源

一键跑通 Azure RAG 应用,从代码到评估部署全流程

This sample has the full End2End process of creating RAG application with Prompty an···

★ 766 2026-08-09
graphify 开源

整个代码库画成一张图,找问题一眼定位

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···

★ 120493 2026-08-09
ragflow 开源

让大模型用上你的私有知识,搭建可靠的企业级RAG应用

RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fu···

★ 91170 2026-08-09