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个免费请求,之后则按实际使用量收费。
项目地址:https://github.com/circlemind-ai/fast-graphrag