GraphRAG 结合 Ollama 实现本地化部署完整教程
随着检索增强生成(RAG)技术的持续火热,微软开源的 GraphRAG 方案因其构建知识图谱的能力而备受关注。为了在保护数据隐私的同时利用大模型能力,将 GraphRAG 与本地运行的 Ollama 模型结合是一个理想的实践路径。本文档详细记录了从环境准备、安装配置到源码适配及测试验证的全过程,旨在帮助开发者在无外部 API 依赖的情况下,完美部署 GraphRAG 系统。
一、环境准备
1. Python 环境
GraphRAG 对 Python 版本有明确要求,建议使用 Python 3.10 至 3.12 版本。请确保已安装对应版本的 Python 并配置好环境变量。
python --version
2. Ollama 服务
需要在本地部署 Ollama 服务,用于提供 LLM 和 Embedding 模型的推理能力。
- 安装 Ollama:访问官网下载并安装对应操作系统的版本。
- 启动服务:默认情况下,Ollama 会在
http://localhost:11434启动。
3. 模型拉取
根据 GraphRAG 的配置需求,需要预先拉取合适的语言模型和嵌入模型。本教程推荐使用以下模型组合:
- LLM 模型:
gemma2:9b(或其他支持 JSON 输出的本地模型) - Embedding 模型:
quentinz/bge-large-zh-v1.5:latest(针对中文优化的嵌入模型)
拉取命令如下:
ollama pull gemma2:9b
ollama pull quentinz/bge-large-zh-v1.5:latest
二、安装与初始化
1. 安装 GraphRAG
通过 pip 安装官方库:
pip install graphrag
2. 创建项目目录
建立一个文件夹存放知识数据。目前 GraphRAG 仅支持 .txt 和 .csv 格式的文件。
mkdir -p ./ragtest/input
将待处理的文本数据放入 ./ragtest/input 目录下。建议文件编码为 UTF-8。
3. 初始化工作区
运行初始化命令,这将生成配置文件结构。
python -m graphrag.index --init --root ./ragtest1
执行完成后,目录中将包含 .env 和 settings.yaml 两个关键配置文件。
.env:包含运行管道所需的环境变量,如 API 密钥等。settings.yaml:包含管道的核心设置,需在此处修改以适配 Ollama。
三、配置文件详解 (settings.yaml)
这是部署的核心部分。我们需要修改 settings.yaml 以指向本地 Ollama 接口,而非 OpenAI 云端。
1. 基础设置
input:


