使用本地 Ollama 的 GraphRAG

毕竟用 openai api 来使用 GraphRAG 很贵,所以下面是在 widnows 11 下用 ollama 环境来使用GraphRAG

GraphRag 的 python 环境是 3.10-3.12, ollama 的模型是 llama3.1:70b

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

1. 创建 GraphRAG 环境

2. 安装 GraphRAGollama

2.1 安装 GraphRAG

2.1 安装 ollama

需要到 library (ollama.com) 现在系统所需的文件,这里测试的是windows 环境,所以需要下载 windows 版本的程序

2.2 下载下面需要使用的模型

llama3.1 是会话模型,

nomic-embed-text 是嵌入模型

3. 运行索引器

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

3.1 创建目录

3.2 下载文件

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

3.3 设置工作区变量

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

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

.env 包含运行 GraphRAG 管道所需的环境变量。如果检查该文件,您将看到定义的单个环境变量 GRAPHRAG_API_KEY=<API_KEY>。这是 OpenAI API 或 Azure OpenAI 终结点的 API 密钥。您可以将其替换为您自己的 API 密钥。这里我们使用ollama 所以不用理会

settings.yaml 包含管道的设置。您可以修改此文件以更改管道的设置。这里需要修改一些参数

这里需要修改 llm 和 e,涉及到参数有 model, api_base 修改如下:

mbeddings 节的参数,涉及到参数有 model, api_base 修改如下:

其他参数修改如下:

上面如果使用 openai 的 api, 则 api_base:

3.4 运行索引 pipeline

正常的输出应该如下:

4. 使用查询引擎

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

以下示例使用全局搜索提出高级问题:

输出为:

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

输出如下:

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部