跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
PythonAI

Linux 下部署 GraphRAG 并接入 Ollama 本地模型

综述由AI生成GraphRAG 在 Linux 环境下基于 Ollama 本地模型的部署实践。通过 conda 创建虚拟环境,安装 graphrag 包并初始化配置。重点解决了无 GPU 场景下的索引构建问题,调整了 settings.yaml 中的模型参数与 API 路径。实测发现本地小模型配合精简语料可完成基础问答,但需注意 API 连接路径及文本分块设置对性能的影响。

moshang发布于 2026/3/29更新于 2026/4/253 浏览

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
    async_mode: threaded
    retry_strategy: exponential_backoff
    max_retries: 1
    request_timeout: 1800
  default_embedding_model:
    type: embedding
    model_provider: ollama
    auth_type: api_key
    api_key: dummy_key
    model: nomic-embed-text:latest
    api_base: http://localhost:11434
    concurrent_requests: 1
    request_timeout: 1800
    async_mode: threaded
    retry_strategy: exponential_backoff
    max_retries: 1
chunks:
  size: 64
  overlap: 8
  group_by_columns: [id]
extract_graph:
  extractor_type: nlp
  extract_graph_nlp:
    text_analyzer:
      extractor_type: regex_english
    async_mode: asyncio

创建索引

执行以下命令开始构建知识图谱:

graphrag index

运行过程中会输出日志到 logs/indexing-engine.log。如果遇到类似 404 page not found 的错误,通常是 api_base 路径多了 /v1 导致的,请检查配置。

成功后的截图如下:

[图:索引构建完成示意]

查询测试

配置完成后,可以分别使用全局查询和本地查询模式进行测试。

全局查询:

graphrag query -m global -q "郑州有几个老师?"

输出结果通常会比较谨慎,例如:

对不起,我无法回答这个问题。根据提供的信息,我们只知道有两个老师在郑州工作,但没有提供具体的数量或详细的信息。

本地查询:

graphrag query -m local -q "郑州的这两个老师什么关系?"

本地模式下的回答逻辑会有所不同,可能会尝试推断实体间的关系:

在提供的数据中,我们无法直接找到关于'郑州的两个老师'之间具体关系的信息。然而,我们可以从其他相关数据中推断出一些可能的关系...

总结

这次部署有几个关键点值得注意:

  1. 文档时效性:官网的部署流程并非最新,部分配置项已变更,需以实际生成为准。
  2. 硬件限制:没有 GPU 的服务器初始化及问答的效果都不理想,显存和算力对大模型推理影响很大。
  3. 配置细节:API 路径错误(如多写 /v1)会导致连接失败,本地测试时尽量调低模型参数量和分块大小以提升速度。

整体来看,在无 GPU 环境下通过 Ollama 跑通 GraphRAG 是可行的,但需要根据实际情况不断微调配置参数。

目录

  1. 环境搭建
  2. 创建虚拟环境
  3. 创建虚拟环境 conda create -n AutoGenStudio python=3.10
  4. 安装与初始化
  5. 准备数据
  6. 或者使用自定义中文测试文本 echo "张三是小学语文老师,他的哥哥张三丰是中学数学老师,他们都在郑州。" > ./input/test.txt
  7. 配置本地模型
  8. 创建索引
  9. 查询测试
  10. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • 💰 8折买阿里云服务器限时8折购买
  • 🦞 5分钟部署阿里云小龙虾了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • GTC 2026 前瞻:Rubin 平台与 AI 工厂化趋势
  • Python FastAPI 入门实战:从环境搭建到核心功能详解
  • ERNIE-4.5-0.3B 轻量化部署与效能突破实战
  • Android WebView 内核升级:WebViewUpgrade 库使用详解
  • Python 开发中常见的 9 个错误
  • 阿里 Qwen-Image-2512 开源评测:真实质感与多场景应用实践
  • 前端性能优化:虚拟列表实现原理与实战指南
  • 提升 AI 大模型回答质量的 9 个提示词技巧
  • RAG 技术演进:从基础架构到模块化创新
  • 网络安全基础与渗透测试全流程指南
  • C++11 核心特性详解:列表初始化、右值引用与移动语义
  • Neo4j Desktop 2 本地安装与图数据库实战指南
  • DAMODEL 智算云平台:AI 开发资源与配置指南
  • 扁鹊 -2.0 中文医疗大模型介绍与部署
  • Windows 本地部署 Ollama 与 OpenClaw 实现 AI 自动化任务
  • ESP-SparkBot 开源 AI 桌面机器人 ESP32-S3 核心方案
  • 转行数据分析师:难度评估与备考指南
  • 算法实战:滑动窗口解决水果成篮与字母异位词
  • MCP 教程:将 Figma 设计稿转化为前端代码
  • Go Web 开发核心理论:HTTP 协议、数据库与模板实战

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online