ragflow ollama url

接入与开发

讲清 RAGFlow 里 Ollama 地址该填哪种写法、容器内外为什么不一样,以及连不上时的排查顺序。

在 RAGFlow 里加 Ollama 模型,最容易卡在两件事:地址填 localhost 反而连不上,以及填了地址但拉不到模型列表。这篇不重复讲协议兼容,只给地址写法的判断依据、按顺序的连通性排查动作,以及怎么把结果留下来方便下次复用。

在 RAGFlow 里加 Ollama 模型,大多数人不是卡在协议兼容,而是卡在地址上。典型症状有两个:地址填了 localhost 反而连不上;地址看着没错,但模型列表一直是空的。

这篇只讲地址怎么写、连不上按什么顺序查、跑通之后怎么把结果留下来。判断依据给你,具体填哪个值你自己对着环境套。

地址该填哪个:先看你俩在不在同一个网络里

填地址之前先回答两个问题:RAGFlow 是跑在容器里还是直接跑在宿主机上?Ollama 跟它在不在同一台机器?这两个答案组合起来,地址的写法基本就唯一了,不用靠反复试。

两者关系地址里用什么主机名容易踩的坑
都在同一台机器、都在容器里用宿主机在容器网络里的入口标识写 localhost 指的是容器自己,不是宿主机
RAGFlow 在容器、Ollama 在宿主机用宿主机对容器可见的地址Ollama 只监听回环地址时,容器请求进不来
两台不同的机器或不同网段填对方能被路由到的那台地址端口没放通、监听地址只绑本地
Ollama 在另一台机器上但同内网用那台机器在内网里的地址主机名解析不到时改用直接地址

注意最后一列只是常见情况,不是绝对规则。比如你的容器网络做了自定义桥接,或者走的是同一个编排网络里的服务名,那标识形式会不一样,以你环境里实际能解析到的为准。

  • 先写清楚环境:RAGFlow 在哪跑、Ollama 在哪跑、两者之间是直连还是隔着网络层
  • 端口别凭印象写,先去 Ollama 自己的接口文档确认默认监听端口,再回到 RAGFlow 的表单字段名上对照
  • 地址里带不带协议头、末尾要不要斜杠,以 RAGFlow 页面上那行字段说明为准,别照抄别人的截图
  • 如果 Ollama 是被单独部署的,顺手确认它的监听配置不是只绑定本地回环,否则外部永远进不来

连通性排查:按「进程→端口→网络→应用」四步走

连不上不要一上来就改表单。从下往上查,一层过了再进下一层,能省掉大量来回试的时间。

  1. 第一步:确认服务在跑在 Ollama 所在的那台机器上,看进程是否活着、监听状态是否正常。这一步不通过,后面全是白费。
  2. 第二步:从 RAGFlow 侧发起请求在 RAGFlow 所在的容器或主机上,用最朴素的方式请求一次 Ollama 的接口。能返回内容,才说明网络这一层通了。
  3. 第三步:查网络层同机看是不是绑定了回环地址;跨机看防火墙、安全组、端口映射;容器场景额外确认网络模式,决定用哪个标识去访问。
  4. 第四步:回到 RAGFlow 表单前面都通了再动表单。确认协议头、端口、斜杠这些细节,具体格式以页面上的字段提示为准。
  5. 每步留痕每过一层存一条命令或一张截图,下次换机器直接照抄,不用从头猜。

地址通了但模型列表空:往下查什么

地址已经能通,但下拉里读不到任何模型,这是另一类问题。它和地址对不对没关系,往下查的方向也完全不同。

  • 先确认 Ollama 那一侧本地到底有哪些模型可用,很多时候是模型还没被拉下来
  • 配置改完之后要重新触发一次读取,只刷新页面不一定生效
  • 模型名和标签要对得上,写错一个字符就会表现为拉不到
  • 排除服务侧的整体波动:去站内 /ai-status 看一眼,确认不是依赖的服务在抖动,再回到自己的配置里

什么情况下这条不适用:如果你压根就没打算用本地模型,而是准备接远端推理服务,那模型列表空是另一套原因,不用按这个顺序查。

跑通之后:把配置固定下来并顺手测一次

地址一旦调通,别急着往下走流程。先把这套配置记下来,团队里几个人共用同一套环境时,能省掉重复踩同一批坑。

要记的东西为什么值得记
能用的地址写法下次换机器时不用重新试一遍
网络模式与访问标识决定容器和宿主机之间怎么互访
可用的模型名和标签避免因为名字对不上又查一遍
一条能复现的验证命令判断环境是否还正常的最快方式

正式接进知识库流程之前,先发一条最简单的请求,验证端到端能出结果。不要等到索引阶段才发现不通,那时候排查成本高得多。

如果之后要把本地 Ollama 换成远端推理或走中转接入,地址口径和可用性都会变。切换前先去站内页面核对当时的接入方式和状态,别照着原来的地址直接改。

下一步想确认接入方式的可用性再动手切换,或者顺手测一下当前网络到目标服务的延迟,可以去这两个页面看当时的情况。

常见问题

RAGFlow 里 Ollama 地址填 localhost 为什么连不上?

因为 RAGFlow 跑在容器里时,localhost 指向的是容器自身,不是装 Ollama 的宿主机。要么改成容器能路由到的宿主机地址,要么让两者处在同一网络下。先判断两者是不是同一个网络命名空间,再决定写法,比反复试地址快得多。

地址填对了,但模型列表里没有我想要的模型怎么办?

先在 Ollama 那一侧确认这个模型确实已经拉下来并能被列出,再去 RAGFlow 里重新读取一次。模型名和标签写错、或者配置改完没重新加载,都会表现成「列表是空的」。这两步排除完,再去查网络是不是只放通了部分请求。

怎么判断问题出在 RAGFlow 还是 Ollama 那边?

从 Ollama 所在机器本地发一次请求,如果本地通、换个位置就不通,问题在网络或监听绑定上;如果本地都不通,问题在 Ollama 服务本身。把这两次结果对比一下,方向立刻清楚,不用两边来回改配置。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。