Skip to content

快速入门

系统要求

Python 3.10-3.12

开始使用GraphRAG系统,您有以下几种选择:

👉 使用GraphRAG加速器解决方案
👉 从pypi安装.
👉 从源代码使用

以下是一个简单的端到端示例,展示如何使用GraphRAG系统(采用从pypi安装的方式)。

该示例演示了如何使用系统索引文本,然后利用索引数据回答关于文档的问题。

安装GraphRAG

pip install graphrag

运行索引器

我们需要设置一个数据项目和初始配置。首先准备一个示例数据集:

mkdir -p ./ragtest/input

从可靠来源获取查尔斯·狄更斯的《圣诞颂歌》副本:

curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt -o ./ragtest/input/book.txt

设置工作区变量

要初始化工作区,首先运行graphrag init命令。 由于我们已在上一步骤中配置了名为./ragtest的目录,请运行以下命令:

graphrag init --root ./ragtest

这将创建两个文件:.envsettings.yaml,位于./ragtest目录中。

  • .env包含运行GraphRAG pipeline所需的环境变量。检查该文件时,您会看到一个已定义的环境变量GRAPHRAG_API_KEY=<API_KEY>。请将<API_KEY>替换为您自己的OpenAI或Azure API密钥。
  • settings.yaml包含pipeline的设置。您可以修改此文件来更改pipeline的设置。

使用OpenAI

如果在OpenAI模式下运行,您只需在.env文件中将GRAPHRAG_API_KEY的值更新为您的OpenAI API密钥。

使用Azure OpenAI

除了设置API密钥外,Azure OpenAI用户还应在settings.yaml文件中设置以下变量。要找到相关配置部分,只需搜索models:根配置;您会看到两个部分,一个用于默认聊天端点,另一个用于默认嵌入端点。以下是添加到聊天模型配置中的示例内容:

type: azure_openai_chat # 对于嵌入使用azure_openai_embedding
api_base: https://<instance>.openai.azure.com
api_version: 2024-02-15-preview # 可为其他版本自定义此项
deployment_name: <azure_model_deployment_name>

在Azure上使用托管身份验证

要使用托管身份验证,请向模型配置添加一个额外值,并注释或删除api_key行:

auth_type: azure_managed_identity # 默认auth_type是api_key
# api_key: ${GRAPHRAG_API_KEY}

您还需要使用az login登录并选择包含您的端点的订阅。

运行索引pipeline

graphrag index --root ./ragtest

pipeline executing from the CLI

此过程需要一些时间才能完成。这取决于输入数据的大小、您使用的模型以及使用的文本块大小(这些可以在您的settings.yaml文件中配置)。 一旦pipeline完成,您应该会看到一个名为./ragtest/output的新文件夹,其中包含一系列parquet文件。

使用查询引擎

现在让我们使用这个数据集来提问。

以下是使用全局搜索提出高层次问题的示例:

graphrag query \
--root ./ragtest \
--method global \
--query "这个故事的主要主题是什么?"

以下是使用局部搜索提出关于特定角色的更具体问题的示例:

graphrag query \
--root ./ragtest \
--method local \
--query "Scrooge是谁?他的主要关系是什么?"
请参考查询引擎文档,了解有关在索引器完成执行后如何利用我们的本地和全局搜索机制从数据中提取有意义见解的详细信息。

深入了解

  • 有关配置GraphRAG的更多详情,请参阅配置文档
  • 要了解更多关于初始化的信息,请参考初始化文档
  • 有关使用CLI的更多详情,请参考CLI文档
  • 查看我们的可视化指南,获取在调试和探索知识图谱时更交互式的体验。