circlemind-ai
组织开发了一个名为fast-graphrag
的开源项目。这个项目的目标是提供一个高效、可解释且精度高的快速图检索增强生成(Fast GraphRAG)框架。该框架专门为Agent驱动的检索工作流程设计,能够轻松融入检索管道中,提供先进的RAG功能,同时避免了构建和设计Agent工作流程的繁琐复杂性。
项目的宗旨是增加全球成功的通用人工智能(GenAI)应用数量。为实现这一目标,他们开发了记忆和数据工具,使LLM应用能够利用高度专业化的检索管道,而无需费心设置和维护复杂的Agent工作流程。
该项目的主要特点和信息如下:
核心特性
- 知识的可解释性和可调试性 :利用图形提供人类可浏览的知识视图,支持查询、可视化和更新。
- 高效、低成本、快速 :针对大规模运行而设计,无需昂贵的资源投入。
- 数据动态性 :自动生成和优化图形,以最佳方式适应特定领域和本体需求。
- 实时更新 :支持数据变化的即时更新。
- 智能探索能力 :采用基于PageRank的图形探索,提升准确性和可靠性。
- 异步和类型化设计 :完全异步,并提供完整的类型支持,确保工作流程的稳健性和可预测性。
安装指南和快速上手
- 安装方式 :可通过PyPi安装(推荐)或从源代码安装。
- PyPi安装方法:
pip install fast-graphrag
- 源代码安装方法:
git clone https://github.com/circlemind-ai/fast-graphrag.git
cd fast-graphrag
poetry install
- 快速入门 :
- 设置OpenAI API密钥:
export OPENAI_API_KEY="sk-..."
- 获取《圣诞颂歌》文本:
curl https://raw.githubusercontent.com/circlemind-ai/fast-graphrag/refs/heads/main/mock_data.txt > ./book.txt
- Python代码示例:
from fast_graphrag import GraphRAG
DOMAIN = "分析这个故事并识别其中的角色。重点关注他们之间的互动、探索的地点以及彼此的关系。"
EXAMPLE_QUERIES = [
"圣诞前夜在《圣诞颂歌》中有何重要意义?",
"维多利亚时代的伦敦背景如何影响故事主题?",
"描述导致斯克鲁奇性格转变的一系列事件。",
"狄更斯如何运用不同的幽灵(过去、现在和未来)来引导斯克鲁奇?",
"为什么狄更斯选择将故事分为'乐章'而非章节?"
]
ENTITY_TYPES = ["人物", "动物", "地点", "物品", "活动", "事件"]
grag = GraphRAG(
working_dir="./book\_example",
domain=DOMAIN,
example_queries="\n".join(EXAMPLE_QUERIES),
entity_types=ENTITY_TYPES
)
with open("./book.txt") as f:
grag.insert(f.read())
print(grag.query("斯克鲁奇是谁?").response)
开源与托管服务
这个项目采用MIT许可证发布,允许自由使用和修改。对于那些希望快速可靠地开始使用Fast GraphRAG的用户,项目还提供了托管服务选项。这项服务每月为用户提供前100个免费请求,之后则按实际使用量收费。