Skip to content

入门指南

要求

Python 3.10-3.12

要开始使用 GraphRAG 系统,您有几个选择:

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

快速入门

要开始使用 GraphRAG 系统,我们建议尝试 解决方案加速器 包。这提供了用户友好的端到端体验,并结合了 Azure 资源。

顶级模块

概述

以下是使用 GraphRAG 系统的简单端到端示例。 它展示了如何使用该系统对一些文本进行索引,然后使用索引数据来回答有关文档的问题。

安装 GraphRAG

pip install graphrag

运行索引器

现在我们需要设置一个数据项目和一些初始配置。让我们来设置这些。我们使用的是 默认配置模式,您可以根据需要使用 配置文件 进行自定义,我们推荐这种方式,或者使用 环境变量

首先让我们准备好一个示例数据集:

mkdir -p ./ragtest/input

现在让我们从可信来源获取查尔斯·狄更斯的《圣诞颂歌》副本

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

接下来我们将注入一些必需的配置变量:

设置工作区变量

首先让我们确保设置所需的环境变量。有关这些环境变量的详细信息,以及可用的环境变量,请参阅 变量文档

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

python -m graphrag.index --init --root ./ragtest

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

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

OpenAI 和 Azure OpenAI

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

Azure OpenAI

此外,Azure OpenAI 用户应在 settings.yaml 文件中设置以下变量。要找到适当的部分,只需搜索 llm: 配置,您应该会看到两个部分,一个用于聊天端点,一个用于嵌入端点。以下是如何配置聊天端点的示例:

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>
  • 有关配置 GraphRAG 的更多详细信息,请参阅 配置文档
  • 要了解更多关于初始化的信息,请参阅 初始化文档
  • 有关使用 CLI 的更多详细信息,请参阅 CLI 文档

运行索引管道

最后我们将运行管道!

python -m graphrag.index --root ./ragtest

从 CLI 执行的管道

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

使用查询引擎

运行查询引擎

现在让我们使用这个数据集来问一些问题。

以下是使用全局搜索来问一个高层次问题的示例:

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

以下是使用本地搜索来问一个关于特定角色的更具体问题的示例:

python -m graphrag.query \
--root ./ragtest \
--method local \
"Scrooge 是谁,他的主要关系是什么?"

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