在 RAGFlow 里加 Ollama 模型,最容易卡在两件事:地址填 localhost 反而连不上,以及填了地址但拉不到模型列表。这篇不重复讲协议兼容,只给地址写法的判断依据、按顺序的连通性排查动作,以及怎么把结果留下来方便下次复用。
在 RAGFlow 里加 Ollama 模型,大多数人不是卡在协议兼容,而是卡在地址上。典型症状有两个:地址填了 localhost 反而连不上;地址看着没错,但模型列表一直是空的。
这篇只讲地址怎么写、连不上按什么顺序查、跑通之后怎么把结果留下来。判断依据给你,具体填哪个值你自己对着环境套。
地址该填哪个:先看你俩在不在同一个网络里
填地址之前先回答两个问题:RAGFlow 是跑在容器里还是直接跑在宿主机上?Ollama 跟它在不在同一台机器?这两个答案组合起来,地址的写法基本就唯一了,不用靠反复试。
| 两者关系 | 地址里用什么主机名 | 容易踩的坑 |
|---|---|---|
| 都在同一台机器、都在容器里 | 用宿主机在容器网络里的入口标识 | 写 localhost 指的是容器自己,不是宿主机 |
| RAGFlow 在容器、Ollama 在宿主机 | 用宿主机对容器可见的地址 | Ollama 只监听回环地址时,容器请求进不来 |
| 两台不同的机器或不同网段 | 填对方能被路由到的那台地址 | 端口没放通、监听地址只绑本地 |
| Ollama 在另一台机器上但同内网 | 用那台机器在内网里的地址 | 主机名解析不到时改用直接地址 |
注意最后一列只是常见情况,不是绝对规则。比如你的容器网络做了自定义桥接,或者走的是同一个编排网络里的服务名,那标识形式会不一样,以你环境里实际能解析到的为准。
- 先写清楚环境:RAGFlow 在哪跑、Ollama 在哪跑、两者之间是直连还是隔着网络层
- 端口别凭印象写,先去 Ollama 自己的接口文档确认默认监听端口,再回到 RAGFlow 的表单字段名上对照
- 地址里带不带协议头、末尾要不要斜杠,以 RAGFlow 页面上那行字段说明为准,别照抄别人的截图
- 如果 Ollama 是被单独部署的,顺手确认它的监听配置不是只绑定本地回环,否则外部永远进不来
连通性排查:按「进程→端口→网络→应用」四步走
连不上不要一上来就改表单。从下往上查,一层过了再进下一层,能省掉大量来回试的时间。
- 第一步:确认服务在跑在 Ollama 所在的那台机器上,看进程是否活着、监听状态是否正常。这一步不通过,后面全是白费。
- 第二步:从 RAGFlow 侧发起请求在 RAGFlow 所在的容器或主机上,用最朴素的方式请求一次 Ollama 的接口。能返回内容,才说明网络这一层通了。
- 第三步:查网络层同机看是不是绑定了回环地址;跨机看防火墙、安全组、端口映射;容器场景额外确认网络模式,决定用哪个标识去访问。
- 第四步:回到 RAGFlow 表单前面都通了再动表单。确认协议头、端口、斜杠这些细节,具体格式以页面上的字段提示为准。
- 每步留痕每过一层存一条命令或一张截图,下次换机器直接照抄,不用从头猜。
地址通了但模型列表空:往下查什么
地址已经能通,但下拉里读不到任何模型,这是另一类问题。它和地址对不对没关系,往下查的方向也完全不同。
- 先确认 Ollama 那一侧本地到底有哪些模型可用,很多时候是模型还没被拉下来
- 配置改完之后要重新触发一次读取,只刷新页面不一定生效
- 模型名和标签要对得上,写错一个字符就会表现为拉不到
- 排除服务侧的整体波动:去站内 /ai-status 看一眼,确认不是依赖的服务在抖动,再回到自己的配置里
什么情况下这条不适用:如果你压根就没打算用本地模型,而是准备接远端推理服务,那模型列表空是另一套原因,不用按这个顺序查。
跑通之后:把配置固定下来并顺手测一次
地址一旦调通,别急着往下走流程。先把这套配置记下来,团队里几个人共用同一套环境时,能省掉重复踩同一批坑。
| 要记的东西 | 为什么值得记 |
|---|---|
| 能用的地址写法 | 下次换机器时不用重新试一遍 |
| 网络模式与访问标识 | 决定容器和宿主机之间怎么互访 |
| 可用的模型名和标签 | 避免因为名字对不上又查一遍 |
| 一条能复现的验证命令 | 判断环境是否还正常的最快方式 |
正式接进知识库流程之前,先发一条最简单的请求,验证端到端能出结果。不要等到索引阶段才发现不通,那时候排查成本高得多。
如果之后要把本地 Ollama 换成远端推理或走中转接入,地址口径和可用性都会变。切换前先去站内页面核对当时的接入方式和状态,别照着原来的地址直接改。
下一步想确认接入方式的可用性再动手切换,或者顺手测一下当前网络到目标服务的延迟,可以去这两个页面看当时的情况。→常见问题
RAGFlow 里 Ollama 地址填 localhost 为什么连不上?
因为 RAGFlow 跑在容器里时,localhost 指向的是容器自身,不是装 Ollama 的宿主机。要么改成容器能路由到的宿主机地址,要么让两者处在同一网络下。先判断两者是不是同一个网络命名空间,再决定写法,比反复试地址快得多。
地址填对了,但模型列表里没有我想要的模型怎么办?
先在 Ollama 那一侧确认这个模型确实已经拉下来并能被列出,再去 RAGFlow 里重新读取一次。模型名和标签写错、或者配置改完没重新加载,都会表现成「列表是空的」。这两步排除完,再去查网络是不是只放通了部分请求。
怎么判断问题出在 RAGFlow 还是 Ollama 那边?
从 Ollama 所在机器本地发一次请求,如果本地通、换个位置就不通,问题在网络或监听绑定上;如果本地都不通,问题在 Ollama 服务本身。把这两次结果对比一下,方向立刻清楚,不用两边来回改配置。