很多人是在这一步卡住的:Ollama 装好了、模型也拉下来了,再去装 RAGFlow,却发现两边谁也不认识谁,解析文档一直转圈或者问答报连接失败。这篇按顺序把 Windows 上的部署流程走一遍,重点放在两件事怎么对接、以及出问题时先查哪一项,不涉及选型对比和参数评测。
很多人卡在同一个地方:Ollama 装好了、模型也拉下来了,再装 RAGFlow,结果两边谁也不认识谁。表现就是文档解析一直转圈,或者提问时报连接失败、检索空结果。这篇不讲选型和参数评测,只按顺序把 Windows 上的部署流程走一遍,重点放在两件事怎么对接、出问题时先查哪一项。
先说清分工:Ollama 负责跑模型、对外暴露一个本地接口;RAGFlow 负责切文档、做向量检索、把命中的片段拼进提示词。装完一个不会自动带上另一个,中间的地址、模型名、默认设置都得你自己配。心里有这个分工,后面排查才知道该往哪一侧看。
先想清楚装的是什么,再动手
- Ollama
- 跑对话模型和嵌入模型,对外提供一个本机可访问的接口,不负责文档处理。
- RAGFlow
- 负责解析文档、切片、向量检索,再把片段交给模型,自己不一定要跑大模型。
- 嵌入模型
- 把文本转成向量,检索靠它,缺了它知识库会直接检索不到东西。
- Windows 上优先用容器方式跑 RAGFlow,Ollama 可以装在宿主机,也可以一起进容器,两条路后面的排查方向完全不同,先定下来再装。
- 装之前备好三样:一份能正常打开的测试文档、一个能跑起来的对话模型、一个嵌入模型,缺任何一个后面都测不通。
- 硬件够不够、模型该选多大,去 /models/deploy 按自己显卡算一遍,别装完才发现跑不动。
- 先规划好存放文档和向量数据的目录,Windows 上路径带空格和中文容易出问题,尽量用纯英文短路径。
把 Ollama 这一侧先跑通、跑稳
- 确认服务活着在命令行列出已拉取的模型,再问一句简单问题并拿到完整回答;这一步不通就别急着装 RAGFlow,先解决 Ollama 本身。
- 确认访问地址同一台机器且 RAGFlow 在容器外,一般走本机回环地址;RAGFlow 在容器里则要判断容器能不能连到宿主机,地址写错是后面最常见的失败原因。
- 备齐两类模型对话模型和嵌入模型分开拉取,别只拉对话模型就往下走,缺嵌入模型时检索环节会直接空结果。
- 确认走了显卡Windows 上要用显卡推理,就确认推理时确实调用了 GPU,做法参考 /guides/ollama-windows-gpu-config,否则会退化到 CPU,慢到没法用。
| 检查项 | 通过的标准 | 不通过先查 |
|---|---|---|
| 服务进程 | 能列出已拉取模型 | 服务是否在监听、是否被防火墙挡 |
| 命令行问答 | 能拿到完整回答 | 模型是否拉全、内存是否够 |
| 嵌入模型 | 单独调用能返回向量 | 是否漏拉、模型名是否写错 |
| 显卡调用 | 推理时显卡有占用 | 驱动和运行时配置,见站内指南 |
装 RAGFlow 并让它认识 Ollama
- 按官方容器方式起来后,先只用浏览器打开界面、能登录,再往下做模型接入,不要一上来就传大文档。
- 在模型设置里新增 Ollama 类型的供应商,填上面确定好的地址,保存成功后列表里应该能看到你拉下来的模型名。
- 对话模型选一个、嵌入模型选一个,并把它设为知识库默认使用的那一个,很多「检索没结果」其实是这里没设默认。
- 到 /stacks/vector-dbs 看一眼 RAGFlow 底层用的向量库形态,理解它是自带一套还是需要你单独维护,方便后面扩容和备份。
这一步有个常见误区:供应商保存成功就以为通了,其实还得确认模型能被列出来、能通过一次连通测试。判断标准很简单——在 RAGFlow 里发一条不检索的纯对话,能答说明通道没问题。答不了就是地址、模型名或供应商类型写错了,回去改配置,别急着传文档。
建第一个知识库:拿小文档验证链路
- 用小而干净的文档先拿一份十几页、结构正常的文档跑通全流程,别一上来就丢几百兆的扫描件,失败了你分不清是解析问题还是模型问题。
- 盯解析状态上传后看状态走到哪一步,一直卡在解析通常是文件格式或 OCR 环节;解析完了但答非所问,通常是分片或嵌入模型没配对。
- 按原文核对答案提问时按「答案应该出现在原文哪一段」去核对命中片段,片段不对就调分片大小和重叠,而不是先换模型。
- 逐步加量链路通了再一批批加文档,每加一批回头验一次,出问题时能定位到是哪一批引入的。
| 现象 | 大概率原因 | 下一步动作 |
|---|---|---|
| 解析一直转圈 | 格式异常或走了 OCR | 换一份结构干净的文档重试 |
| 检索结果为空 | 嵌入模型没配或没设默认 | 检查默认嵌入模型设置 |
| 片段对但答错 | 模型能力或提示词问题 | 换对话模型或调提示词 |
| 整体很慢 | 走了 CPU 或文档过大 | 确认显卡占用,见 /tools/speed-test |
出问题时的排查顺序
排查要按顺序来,不要跳步。很多人一报连接失败就去换模型,结果换了半天还是不通,因为问题根本在网络层。下面这个顺序从底层往上走,能最快定位到真正出问题的环节。
- 先查连通看 RAGFlow 能不能访问到 Ollama 的地址和端口,不通就是网络和绑定地址的问题,跟模型无关,先解决这一层。
- 再查模型在 RAGFlow 里发一条不检索的纯对话测试,能答说明模型通道没问题,答不了就是模型名或供应商配置错了。
- 然后查检索把检索出来的片段单独看一眼,片段不对是分片和嵌入模型的问题,片段对但答错才是模型的问题。
- 最后查性能回答慢先分清是解析慢还是推理慢,推理慢看显卡占用,对照 /tools/speed-test 量一下基线延迟再判断要不要换更小的量化模型。
- 收尾核对配置仍然不通时,去 /tools/verify 和站内中转站目录确认自己没把本地部署和线上接口的配置混写在一起。
卡住时先问一句:现在这一步到底该由 Ollama 负责还是 RAGFlow 负责,方向就不会跑偏。下一步如果你还拿不准自己的硬件能撑多大的模型、或者想先量一下本地推理的基线延迟,去站内对应页面看当时的数字,再决定部署形态。→
常见问题
Ollama 装好了,RAGFlow 里却连不上,先看哪里?
先确认 RAGFlow 所在环境能不能访问到你填的那个地址和端口,本机和容器两种情况的写法不一样。地址通不通是第一步,通了还是失败再回头核对模型名是否拼写一致、服务是否在监听外部请求,别一上来就重装。
一定要用显卡吗,纯 CPU 能不能跑?
能跑,但文档解析加推理会很慢,体验差别很大。如果只是几个人偶尔问几句,CPU 也能凑合;要是每天都要处理新文档、多人同时用,还是建议有独立显卡,具体需要多大显存去 /models/deploy 按模型和量化档位算一遍。
知识库答得不准,该换模型还是调分片?
先调分片。多数答不准是检索没命中正确段落,把分片调小一点、加大重叠、看看检索出来的原文片段对不对。片段对了但回答还是偏,再考虑换模型或加个重排模型,顺序别颠倒,否则换模型也白换。