当前位置: 首页 > news >正文

RAGFlow + Ollama 搭建本地知识库:30 分钟跑通

你有没有过这种场景:手里一堆 PDF 文档、产品手册、技术文档,想找某个细节,翻了半天翻不到,恨不得有个 AI 帮你直接回答。

ChatGPT 能做,但你得把文档传上去——公司内部资料、客户数据,敢传吗?

今天介绍一个完全本地运行的方案:RAGFlow + Ollama。文档丢进去就能问答,数据全程不出你的电脑,30 分钟就能跑通。


RAGFlow 是什么?为什么选它

RAGFlow 是一个开源的 RAG(检索增强生成)引擎,GitHub 上 78K+ star,专门做文档解析 + 知识问答这件事。

和之前介绍过的 FastGPT 不同,RAGFlow 的核心优势在文档解析能力

对比项RAGFlowFastGPT
文档解析DeepDoc 引擎,支持 OCR、表格识别、版面分析基础文本切片
PDF 处理扫描件、带表格的 PDF 都能解析主要处理纯文本 PDF
分块可视化可以看到文档怎么被切分的,支持手动调整不可见
引用溯源回答时标注出处,点击可跳转原文支持
部署复杂度Docker 一键部署Docker 一键部署

简单说:如果你的文档有很多表格、图表、扫描件,RAGFlow 是目前开源方案里解析效果最好的


整体架构

先理解一下我们要搭的东西:

你的文档(PDF/Word/Excel) ↓ RAGFlow(文档解析 + 分块 + 检索) ↓ Ollama(本地大模型,负责生成回答) ↓ 浏览器里直接问答

三个关键组件:

  • Ollama:跑本地大模型(Qwen3.5 负责回答问题)
  • RAGFlow:解析文档、切分成知识块、检索相关内容
  • Embedding 模型:把文档和问题转成向量用于匹配(用 bge-m3)

全部跑在你自己的电脑上,不需要任何 API Key。


第一步:确认环境

硬件要求:

  • 内存:16GB 以上(RAGFlow 本身比较吃内存)
  • 硬盘:至少 30GB 可用空间
  • 显卡:有最好(加速推理),没有也能跑(CPU 模式)

软件要求:

  • Docker Desktop 已安装并运行
  • Ollama 已安装(如果还没装,参考我之前的 Ollama 入门文章)
# 确认 Docker 正常docker --version# 确认 Ollama 正常ollama --version

第二步:准备 Ollama 模型

我们需要两个模型:一个负责回答问题的对话模型,一个负责文档向量化的Embedding 模型

# 1. 对话模型:Qwen3.5 9B(约 6.6GB)ollama pull qwen3.5:9b# 2. Embedding 模型:bge-m3(约 1.2GB,中英文效果都好)ollama pull bge-m3

bge-m3 处理中文效果非常好,配合中文文档知识库是最优选择。

拉完之后确认一下:

ollama list# 应该能看到 qwen3.5:9b 和 bge-m3

重要:确保 Ollama 监听所有网络接口,这样 Docker 里的 RAGFlow 才能访问到:

# Linux/macOS:设置环境变量后重启 Ollamaexport OLLAMA_HOST=0.0.0.0:11434ollama serve# Windows:在系统环境变量中添加 OLLAMA_HOST=0.0.0.0:11434# 然后重启 Ollama 应用

第三步:Docker 部署 RAGFlow

RAGFlow 官方提供了 Docker Compose 一键部署,非常方便。

# 1. 克隆 RAGFlow 仓库git clone https://github.com/infiniflow/ragflow.gitcd ragflow/docker# 2. 使用轻量版镜像启动(推荐,体积小很多)docker compose -f docker-compose.yml up -d

首次启动会拉取镜像,大概需要 5-10 分钟(取决于网速)。

# 查看启动状态docker compose logs -f# 看到类似这行就说明启动成功:# ragflow-server | INFO: Application startup complete.

启动成功后,打开浏览器访问:http://localhost(默认 80 端口)

首次访问需要注册一个账号(纯本地,不会发到任何地方),注册完登录进去。


第四步:配置模型

登录 RAGFlow 后,先把 Ollama 的模型接进来。

配置对话模型:

  1. 点击右上角头像 →模型供应商
  2. 找到Ollama,点击添加
  3. 填写配置:
  • 模型名称:qwen3.5:9b
  • 模型类型:Chat
  • 基础 URL:http://host.docker.internal:11434(Docker 访问宿主机)

Linux 用户如果host.docker.internal不生效,改用宿主机实际 IP,比如http://192.168.1.100:11434

配置 Embedding 模型:

  1. 同样在模型供应商页面
  2. 再添加一个 Ollama 模型:
  • 模型名称:bge-m3
  • 模型类型:Embedding
  • 基础 URL:http://host.docker.internal:11434

配完之后,去系统模型设置里把默认的对话模型和 Embedding 模型分别选成刚才配的两个。


第五步:创建知识库

模型配好了,开始建知识库。

  1. 左侧菜单点知识库新建知识库
  2. 起个名字,比如"产品文档库"
  3. Embedding 模型bge-m3
  4. 分块方法这里是关键,RAGFlow 提供了好几种:
分块方法适合场景
General通用文档,自动识别段落
Q&AFAQ 格式的文档
Table表格为主的文档
Paper学术论文
Book书籍、长文档
Manual产品手册、技术文档

大多数情况选General就行,如果文档里表格很多可以试试Manual

  1. 点击确认,知识库就建好了

第六步:上传文档

进入刚建好的知识库,点击上传文件

支持的格式非常丰富:

  • PDF(包括扫描件)
  • Word(.docx)
  • Excel(.xlsx)
  • PPT(.pptx)
  • TXT / Markdown
  • 图片(会 OCR 识别)

我这里传了一份 40 页的 PDF 产品手册做测试。

上传后点击开始解析,RAGFlow 会自动进行:

  1. 版面分析(识别标题、正文、表格、图片)
  2. OCR 识别(如果是扫描件)
  3. 表格结构识别
  4. 文本分块

这一步是 RAGFlow 的核心竞争力。解析完成后,你可以点进去看每个分块的内容:

  • 每个块是怎么切的
  • 表格有没有被正确识别
  • 如果切得不好,可以手动调整(这个功能其他工具基本没有)

解析速度取决于文档复杂度,一份 40 页的 PDF 大概需要 2-5 分钟。扫描件会更慢一些,因为要跑 OCR。


第七步:创建对话助手

知识库建好、文档解析完,最后一步是建一个问答助手。

  1. 左侧菜单点对话创建助手
  2. 配置:
  • 助手名称:随便起
  • 对话模型:选qwen3.5:9b
  • 关联知识库:选刚才建好的知识库
  1. 提示词可以根据场景调整,比如:
你是一个专业的文档问答助手。请根据知识库中的内容回答用户的问题。如果知识库中没有相关信息,请明确告知用户,不要编造答案。回答时请标注信息来源。
  1. 点击确认,助手就创建好了

实测效果

我用一份产品技术手册测试了几个问题:

问题 1:“这个产品支持哪些通信协议?”

RAGFlow 准确找到了手册中"通信接口"章节的内容,列出了支持的协议,还标注了出自第 12 页。点击引用可以直接看到原文段落。

问题 2:“安装环境要求是什么?温度和湿度范围?”

从手册的安装章节中精准定位到表格数据,温度 -20°C ~ 60°C,湿度 5% ~ 95%,回答准确。

问题 3:“和竞品 A 相比有什么优势?”(手册里没有的内容)

模型回答"根据现有文档资料,未找到与竞品 A 的对比信息"——没有瞎编,这很重要。

整体感受:

  • 检索准确率高,尤其是表格内容的提取比 FastGPT 好不少
  • 引用溯源很实用,知道答案从哪来的,可以验证
  • 中文效果不错,bge-m3 + Qwen3.5 这个组合很搭

常见问题

RAGFlow 启动后访问不了?

# 检查容器状态docker compose ps# 确认所有容器都是 running 状态# 如果 ragflow-server 在 restarting,查看日志:docker compose logs ragflow-server

最常见的原因是内存不足,RAGFlow 默认需要约 8GB 内存。可以在docker-compose.yml里调小 Elasticsearch 的内存:

environment: - "ES_JAVA_OPTS=-Xms512m -Xmx512m" # 默认是 1g,改小

文档解析失败?

  • 确认文件格式支持(PDF、Word、Excel 等)
  • 文件不要太大,单文件建议不超过 50MB
  • 扫描件 PDF 需要更长的解析时间,耐心等

回答质量不好?

  • 先检查文档分块是否合理,点进知识库查看每个块
  • 调整分块方法,比如表格多的文档换成 Manual 或 Table
  • 适当增加检索返回的分块数量(默认 6 个,可以调到 8-10)

资源占用参考

在我的笔记本上(i7 + 16GB 内存 + RTX 3060 12GB)实测资源占用:

组件内存占用显存占用
RAGFlow(Docker 全套)~6GB
Ollama + Qwen3.5 9B~2GB~7GB
Ollama + bge-m3~1GB~1GB
合计~9GB~8GB

16GB 内存 + 8GB 显存是比较舒服的配置。如果内存只有 8GB 会比较吃力,建议把 Qwen3.5 换成 4B 或 2B 版本。


总结

RAGFlow + Ollama 这套方案,核心优势就三个

  1. 完全本地运行,数据不出你的电脑,适合处理敏感文档
  2. 文档解析能力强,扫描件、表格、复杂排版都能处理
  3. 引用溯源,回答有据可查,不是黑箱

适合的场景:

  • 企业内部知识库(产品手册、技术文档、规章制度)
  • 个人学习笔记问答(论文、教材、读书笔记)
  • 项目文档管理(需求文档、接口文档、会议纪要)

不适合的场景:

  • 文档量特别大(上万份),需要更专业的企业级方案
  • 对回答速度要求极高(本地模型推理有延迟)

整个搭建过程,快的话 30 分钟就能跑通。如果你有一堆文档想让 AI 帮你问答,强烈建议试试这个方案。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

http://www.jsqmd.com/news/689650/

相关文章:

  • 保姆级教程:用Python仿真SAR欺骗干扰(附代码与避坑指南)
  • 用torch.mul()给CV模型加『注意力』:手把手实现特征图空间权重调制
  • 5大突破性功能:如何用OpenVINO AI插件彻底改变你的音频创作流程
  • 终极Cookie本地导出工具:如何在浏览器中安全获取cookies.txt文件
  • 告别手动抄录!用Android手机+GreenDao快速搭建NFC卡号采集与Excel导出工具
  • 终极学术效率神器:Elsevier Tracker让投稿进度监控自动化
  • GPU算力梯队:选卡必看指南
  • 从PSPNet到CCNet:语义分割中的上下文建模演进史,我们到底需要多‘全局’?
  • 从零开始玩转ZU19EG评估板:手把手教你搭建第一个ZYNQ MPSoC原型系统(含资源分配避坑指南)
  • 番茄叶片病害检测数据集分享(适用于YOLO系列深度学习分类检测任务)
  • 人工智能+到底加了什么
  • 用AI制作科研演示动画:提升学术汇报效果
  • ChatGPT医疗应用爆发!AI诊断胜过专家?一文读懂LLMs如何重塑医疗行业!
  • 跨越系统壁垒:实现蓝牙键鼠在Windows与ArchLinux间的无缝漫游
  • 抖音无水印下载终极方案:douyin-downloader 一站式高效下载工具
  • 从GICP到FAST-LIO2:高精地图匹配定位算法的演进与实战解析
  • 操作系统教学清单
  • 保姆级教程:用VSCode+Python从零搭建NoneBot QQ机器人(附go-cqhttp配置避坑指南)
  • XXMI启动器:二次元游戏模组管理的革命性解决方案
  • 做了3年信息化,我才搞明白:OMS、ERP、WMS、TMS到底有啥区别!
  • 从微信昵称到代码注释:这些‘看不见’的特殊字符,可能让你的程序崩溃
  • Win11下Yolov8开发环境避坑指南:从Anaconda配置到Pycharm工程验证
  • 从CRS到DM-RS:5G NR为什么取消了小区级参考信号?一个天线工程师的视角
  • 字节面试官:Token到底是什么?有哪些分词算法?一篇文章讲清!
  • 从C++到CUDA:手把手教你用GPU并行化你的第一个for循环(附完整代码)
  • Spring Boot项目用Nginx反代MinIO,签名错误403?别慌,检查这个配置项就对了
  • 汽车电子工程师必看:英飞凌BTG7003高边开关的10种工作模式详解与实战配置
  • FigmaCN:3分钟实现Figma界面中文化的终极免费解决方案
  • Applite终极指南:让macOS软件安装变得简单高效的免费GUI工具
  • Claude Code Web Fetch 排障与解决