GraphRAG 的官方文档是主要参考,但实际落地时往往需要结合具体环境调整。这次我们在 Linux 环境下尝试部署 GraphRAG,并接入 Ollama 进行本地模型推理。
本次测试环境基于 openEuler 22.03 LTS-SP3,Python 版本控制在 3.10 到 3.12 之间。值得注意的是,如果没有 GPU 支持,索引构建过程可能会非常慢甚至超时,配置项需要反复调试才能跑通。
环境搭建
创建虚拟环境
官网建议创建一个项目空间和 Python 虚拟环境来安装 graphrag。我使用的是 Anaconda,这里直接展示关键命令:
# 创建虚拟环境 conda create -n AutoGenStudio python=3.10
激活环境后,确保 Python 版本符合要求。
安装与初始化
python -m pip install graphrag
graphrag init
运行 init 后会生成 .env、settings.yaml 和 input 目录。这里有个坑,官网文档里的初始化说明可能已经滞后,生成的文件结构略有不同,需以实际生成为准。
准备数据
官方示例是纯英文的,为了测试中文效果,我准备了一些中文语料。不过全量中文数据索引太慢,最后用了一句简单的测试句来验证流程:
mkdir input
curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt -o ./input/book.txt
# 或者使用自定义中文测试文本 echo "张三是小学语文老师,他的哥哥张三丰是中学数学老师,他们都在郑州。" > ./input/test.txt
配置本地模型
核心在于修改 settings.yaml,将模型提供商从 OpenAI 切换为 Ollama。由于是在本地无 GPU 服务器测试,尽量选择小参数量的模型。
首先确认 Ollama 服务可用:
curl http://localhost:11434/api/tags
然后更新配置文件,注意 api_base 不要带 /v1 后缀,否则容易报错:
models:
default_chat_model:
type: chat
model_provider: ollama
auth_type: api_key
api_key: dummy_key
model: qwen2.5:0.5b
api_base: http://localhost:11434
model_supports_json: true
concurrent_requests: 1
[]

