跳到内容

入门指南

要求

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

这将在 ./ragtest 目录中创建两个文件:.envsettings.yaml

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

使用 OpenAI

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

使用 Azure OpenAI

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

type: azure_openai_chat # Or azure_openai_embedding for embeddings
api_base: https://<instance>.openai.azure.com
api_version: 2024-02-15-preview # You can customize this for other versions
deployment_name: <azure_model_deployment_name>

在 Azure 上使用托管身份验证

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

auth_type: azure_managed_identity # Default auth_type is is api_key
# api_key: ${GRAPHRAG_API_KEY}

您还需要使用 az login 登录并选择具有您的终结点的订阅。

运行索引管道

最后,我们将运行管道!

graphrag index --root ./ragtest

pipeline executing from the CLI

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

使用查询引擎

现在让我们使用此数据集提出一些问题。

这是一个使用全局搜索提出高级问题的示例

graphrag query \
--root ./ragtest \
--method global \
--query "What are the top themes in this story?"

这是一个使用本地搜索提出有关特定角色的更具体问题的示例

graphrag query \
--root ./ragtest \
--method local \
--query "Who is Scrooge and what are his main relationships?"

请参阅 查询引擎 文档,以获取有关如何在索引器完成执行后利用我们的本地和全局搜索机制从数据中提取有意义的见解的详细信息。

深入了解

  • 有关配置 GraphRAG 的更多详细信息,请参阅 配置文档
  • 要了解有关初始化的更多信息,请参阅 初始化文档
  • 有关使用 CLI 的更多详细信息,请参阅 CLI 文档
  • 查看我们的可视化指南,以获得更具交互性的体验,从而调试和探索知识图。