GraphRAG进化,效率翻倍!

发布于 2024-11-15 12:46
浏览
0收藏

circlemind-ai​组织开发了一个名为fast-graphrag的开源项目。这个项目的目标是提供一个高效、可解释且精度高的快速图检索增强生成(Fast GraphRAG)框架。该框架专门为Agent驱动的检索工作流程设计,能够轻松融入检索管道中,提供先进的RAG功能,同时避免了构建和设计Agent工作流程的繁琐复杂性。

项目的宗旨是增加全球成功的通用人工智能(GenAI)应用数量。为实现这一目标,他们开发了记忆和数据工具,使LLM应用能够利用高度专业化的检索管道,而无需费心设置和维护复杂的Agent工作流程。

GraphRAG进化,效率翻倍!-AI.x社区

该项目的主要特点和信息如下:

核心特性

  • 知识的可解释性和可调试性:利用图形提供人类可浏览的知识视图,支持查询、可视化和更新。
  • 高效、低成本、快速:针对大规模运行而设计,无需昂贵的资源投入。
  • 数据动态性:自动生成和优化图形,以最佳方式适应特定领域和本体需求。
  • 实时更新:支持数据变化的即时更新。
  • 智能探索能力:采用基于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

 

本文转载自​ NLP前沿​,作者: NLP前沿



收藏
回复
举报
回复
相关推荐