场景:

使用 Ollama 和 RAGFlow 这两个强大的开源工具,零成本搭建一个完全本地化、数据不出内网的智能问答系统,支持 PDF、Word、Excel 等复杂文档的解析与检索,安全、低成本地将企业或个人的私有文档转化为可问答的智能知识库。

优势:

✅ 无需 API Key

✅ 数据完全本地化

✅ 支持中文

✅ 可离线使用

🌟 为什么选择 Ollama + RAGFlow?

工具 角色 优势
Ollama 大语言模型运行引擎 本地运行 Llama 3、Qwen、Mistral 等模型,无需联网
RAGFlow 文档解析 + RAG 引擎 支持复杂文档(表格、扫描件)、自动切片、向量化、检索

一、环境准备

1. 安装 Ollama

  • 官网下载

官网地址:Ollama 官网,点击下载,按照提示直接安装即可

在这里插入图片描述

  • 命令安装
macOS linux Windows通过 WSL2 安装
brew install ollama curl -s https://ollama.com/install curl -fsSL https://ollama.com/install.sh
  • 安装成功
ollama --version

执行以上命令,出现类似: ollama version is 0.12.xxx,即为安装成功

  • 启动服务(默认监听 11434 端口)
ollama serve

2. 下载本地大模型(以 Llama 3 为例)

  • 下载 8B 版本(推荐平衡性能与资源)
ollama run llama3

如下图:

在这里插入图片描述

  • 或使用中文优化模型(如 Qwen)
ollama run qwen:7b
  • ✅ 验证是否运行成功:
curl http://localhost:11434/api/tags

返回类似:

{
  "models": [
    {
      "name": "llama3",
      "digest": "sha256:...",
      "size": 4700000000,
      "modified_at": "2025-10-12T10:00:00.000Z"
    }
  ]
}

3. 部署 RAGFlow(Docker 方式)

如果未安装 Docker,请先下载并安装:

👉 Docker Desktop for Mac

Docker安装完成后,执行:

git clone https://github.com/infiniflow/ragflow.git

cd ragflow-main

cd docker // 根据最新的文件目录结构决定是否执行,进入到docker-compose.yml文件所在层级
  • 启动服务
docker-compose up -d

在这里插入图片描述

  • 查看服务状态
docker-compose ps

应该看到类似输出:

NAME                   COMMAND                  SERVICE             STATUS              PORTS
ragflow-api-1          "/bin/bash /entryp..."   api                 running             0.0.0.0:9381->9381/tcp
ragflow-web-1          "/docker-entrypoint..."   web                 running             0.0.0.0:9380->80/tcp
ragflow-mysql-1        "docker-entrypoint.s..."   mysql               running             3306/tcp
ragflow-minio-1        "/usr/bin/docker-ent..."   minio               running             9000/tcp, 9001/tcp
ragflow-redis-1        "docker-entrypoint.s..."   redis               running             6379/tcp
  • 启动后访问:

🌐 前端地址http://localhost:80

在这里插入图片描述

💡 提示:首次启动可能需要几分钟初始化数据库和模型服务。


二、配置 RAGFlow 使用 Ollama 模型

1.登录 RAGFlow 管理后台

打开 http://localhost:80,注册并登录。

2.添加 Ollama 作为 LLM 提供商

  • 点击「右上角头像」→进入 「模型管理」→「大模型」→「添加」

在这里插入图片描述

填写配置:

字段
模型名称 gemma3:4b
模型类型 chat
API 地址 http://host.docker.internal:11434/v1 (Mac/Win) 或 http://172.17.0.1:11434/v1 (Linux)
上下文长度 8000

⚠️ 注意:Docker 容器内访问宿主机 Ollama,需使用特殊 IP,如 host.docker.internal

在这里插入图片描述

  • 点击 「测试连接」,成功后保存。
    在这里插入图片描述

三、 构建你的私有知识库

1.创建知识库

  • 点击 「知识库」→「创建」,输入名称如 公司产品手册。

在这里插入图片描述

2.上传文档

  • 支持格式:PDF、.docx、.xlsx、.pptx、.txt、.html、图片等。
  • 拖拽上传你的文档,例如:
    • 《 产品说明书.pdf 》
    • 《 API 接口文档.docx 》
    • 《 销售数据.xlsx 》

在这里插入图片描述

3.设置助理

回到首页,点击「聊天」→「创建聊天」→「设置助理信息」→「保存」

在这里插入图片描述
注意

如果没有使用知识库,记得打开系统提示中的“{knowledge}可选按钮”,否则无法进行保存。

在这里插入图片描述
发送聊天信息之前,记得选择模型!

在这里插入图片描述


四、开始问答:让 AI 基于你的文档回答

1.场景示例

  • 假设你上传了一份《智能家居产品手册》,现在提问:

智能灯泡支持哪些语音助手?

  • RAGFlow 的工作流程如下:

在这里插入图片描述

2.实际效果

  • 用户提问:

我们的智能灯泡兼容哪些语音平台?

  • AI 回答:

智能灯泡的语音平台兼容性取决于具体的智能灯泡品牌和型号。以下是一些常见的智能灯泡品牌及其支持的语音平台:

1.Philips Hue:

主流支持: Amazon Alexa, Google Assistant, Apple HomeKit (通过 Hub) 特色:
Philips Hue 是最受欢迎的智能灯泡品牌之一,支持多种语音控制和自动化场景。
2. Yeelight:…

在这里插入图片描述

答案精准,且标注来源页码,极大提升可信度。


五、高级技巧:自定义 Prompt 与 Embedding 模型

1.使用本地 Embedding 模型

  • RAGFlow 也支持通过 Ollama 提供嵌入模型:
ollama run bge-large-zh
  • 在 RAGFlow 中配置 Embedding 模型:

    • 模型类型:Ollama
    • API 地址:http://host.docker.internal:11434/v1
    • 模型名:bge-large-zh
  • 中文语义匹配效果更佳!

2.自定义 Prompt 模板

  • 在知识库设置中,可以修改 Prompt:

你是一个专业的产品顾问。请根据以下上下文回答问题,不要编造信息。
如果不知道,回答“暂无相关信息”。
上下文:
{{context}}
问题:{{question}}
回答:


六、性能与资源建议

组件 最低配置 推荐配置
Ollama (Llama3 8B) 16GB RAM, 8核CPU 32GB RAM + NVIDIA GPU (8GB显存)
RAGFlow 8GB RAM 16GB RAM + SSD
系统 Ubuntu 20.04+ / macOS Ubuntu 22.04 + Docker

💡 小模型推荐:qwen:1.8b 或 phi3:mini,可在 8GB 内存运行。


七、总结

  • 通过 Ollama + RAGFlow,我们实现了:

    • 数据完全本地化,无泄露风险
    • 基于私有文档的精准问答
    • 支持复杂格式文档解析
    • 可扩展、可定制的 RAG 流程
    • 等等…
  • 这套组合非常适合:

    • 企业内部知识库
    • 法律合同检索
    • 科研文献助手
    • 客服问答机器人
    • 等等…

八、参考资料

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐