开始

 要求

Python 3.10-3.12

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

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

Quickstart

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

 顶级模块

索引管道概述
 查询引擎概述

 概述

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

 安装GraphRAG

 运行索引器

现在我们需要建立一个数据项目和一些初始配置。我们来安排一下。我们使用的是默认的配置模式,您可以根据需要使用我们推荐的配置文件环境变量来自定义该模式。

首先,让我们准备一个样本数据集:

现在让我们从可靠的来源得到一本查尔斯狄更斯的《圣诞颂歌》

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

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

设置工作区变量

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

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

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

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

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

  OpenAI和Azure OpenAI

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

Azure OpenAI

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

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

运行索引管道

我们终于可以开始输油了!

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

pipeline executing from the CLI

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

 使用查询引擎

 运行查询引擎

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

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

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

下面是一个使用本地搜索来询问有关特定字符的更具体问题的示例:

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

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