openwebui 怎么连接本地 ollama 模型

模型与算力

讲清 Open WebUI 连本地 Ollama 的连接方式该选哪种、每步怎么验、报错按什么顺序排查,避开端口与容器网络这两个最常见的坑。

很多人把 Ollama 装好、模型也拉下来了,再装 Open WebUI 却发现列表里空空的,或者一直转圈连不上。问题基本不在模型本身,而在两边「互相看不看得见」:是同一台机器还是两台,Open WebUI 跑在容器里还是直接跑,Ollama 只听了本地回环还是听了全网卡。这篇按判断顺序走一遍,给三种连接方式的选择标准和一套从外到内的排查清单,最后说清什么情况下这套搭法并不合适。

很多人把 Ollama 装好、模型也拉下来了,再装 Open WebUI,结果打开界面模型列表空空,或者一直转圈连不上。问题基本不在模型本身,而在两边「互相看不看得见」:是同一台机器还是两台,Open WebUI 跑在容器里还是直接跑,Ollama 只听了本地回环还是听了全网卡。这三件事没想清楚,后面怎么改地址都是瞎试。

这篇按判断顺序走一遍:先定拓扑,再按顺序填对配置,连不上时给一套从外到内的排查清单,最后说清什么情况下别用这套搭法。全文不涉及具体参数值,凡是跟型号、显存、性能有关的数字,都去站内对应页面核对当时的情况。

先定拓扑:三种连接方式选哪个

选型只问两件事:Open WebUI 和 Ollama 是不是同一台机器,中间隔了几层网络隔离。同一台机器就别折腾跨机方案,能省掉一大半排查时间。下面三种形态对号入座。

形态典型场景地址怎么填主要坑
同机进程直连两边都直接跑在宿主机上回环地址Ollama 默认可能只绑了回环,换成远程访问就得改监听
容器对宿主机Open WebUI 跑在容器里,Ollama 在宿主机宿主机在容器网络中的可达地址容器里的回环地址指的是容器自己,写回环永远连不上
跨机连接Open WebUI 在 A 机,Ollama 在 B 机B 机的局域网或内网地址要放行端口,还要想清楚同网段谁能直接调你的显卡
  • 先确认是不是同一台机器,是的话优先同机直连,不引入容器和跨机两层变量
  • 如果 Open WebUI 必须跑容器,就把 Ollama 当成宿主机上的外部服务,地址从宿主机角度去写
  • 跨机只有在算力机器和日常机器分开时才值得做,否则多出来的网络问题是白送的
  • 无论选哪种,先把地址写在一个地方并记下来,排查时才有唯一比对标准

配置动作:按顺序填对三处

  1. 确认 Ollama 在监听先在 Ollama 所在机器上确认服务活着、端口在听,然后看它的监听地址范围。如果只听了回环,跨机或容器访问必然失败,需要改成对外的监听地址并重启服务。
  2. 验证端口真的对外可见改完重启之后,别急着开界面,先在 Open WebUI 所在的环境里用命令行打一次 Ollama 的接口。能通说明网络和监听这两层都没问题,不通就回到上一层继续查。
  3. 在 Open WebUI 里配连接把 Ollama 的服务地址填成上一步验证通过的那个可达地址,注意末尾不要多加路径,也不要带多余斜杠。保存后重启容器或进程,让配置真正生效。
  4. 刷新模型列表回到界面刷新模型列表。这一步必须在命令行验证通过之后再做,否则界面报错只会把你带到错误的方向。
  5. 多来源分开命名如果同一个 Open WebUI 想同时挂本地 Ollama 和别家的兼容接口,分成两个连接分别命名,日后出问题一眼能看出是哪一条。

连不上时的排查顺序(从外到内)

连不上时最忌讳在界面里反复改地址。按下面的顺序从外往内走,每一层都拿到确定结论再进下一层。判断标准很简单:命令行能打通的地址,界面上填同样的地址还连不上,问题就在应用层;命令行都不通,别碰界面。

  • 第一层网络:目标地址和端口是否可达,跨机先看防火墙与安全组,再看是不是走了代理导致请求被劫持
  • 第二层监听:Ollama 是不是只听了回环,容器里连宿主机要用宿主机在容器网络中的可达地址,不是回环地址
  • 第三层容器:容器有没有权限访问宿主机网络、端口映射方向有没有写反、重启后配置是否真的加载了
  • 第四层应用:配置文件与界面设置可能同时存在,确认生效的是哪一个,再清一次浏览器缓存看模型列表

如果排查到容器网络这一层卡住,可以把容器网络模式理解为「容器有自己独立的一套地址」,所以回环地址在容器里指的不是宿主机。这一点想明白,容器对宿主机的填法就不会再错。至于本次用到的地址和端口,属于你自己的环境信息,不需要跟任何外部数据比对。

什么情况下别用这套搭法

Open WebUI 加本地 Ollama 适合个人、单人本地用。下面几种情况硬上会很难受,建议换方案而不是继续调连接。

多人同时用、并发明显
Ollama 更适合单人本地跑,几个人一起用会明显排队,这种场景换推理框架更合适
需要对外暴露或做权限区分
把端口直接开到公网又不加鉴权,等于谁都能调你的显卡,至少限制在可信网段
要求长期稳定在线
本地机器休眠、显卡驱动更新、模型目录迁移都会让服务断掉,别把它当生产环境用
模型很吃显存
如果本地跑不动目标模型,先解决显存而不是解决连接,去 部署测算(/models/deploy) 按模型和量化档位算一遍

还有一种情况是模型本身没问题、连接也通,但体验明显不对:输出慢、卡在加载。这时先确认是不是显存和量化档位选得不合适,而不是回头怀疑连接配置。关于模型该选哪个档位、各家接口的规格差异,去站内模型资料库和价格页面核对当时的数字,不要凭记忆下判断。

下一步如果你正准备把本地模型对外提供服务,先看一眼中转站与自建方案的对比,再决定这套搭法要不要继续。

常见问题

Open WebUI 里模型列表是空的,但 Ollama 明明装了模型,怎么办?

先别在界面上反复改。到 Open WebUI 所在的那台机器或容器里,用命令行直接请求 Ollama 的接口,能列出模型说明是界面配置没生效,列不出就是地址或网络不通。如果是容器部署,容器里的回环地址指的是容器自己,要换成宿主机的可达地址,改完重启再刷新。

容器里填回环地址为什么连不上宿主机?

容器有自己的网络命名空间,回环地址指向容器内部,不是宿主机。要填宿主机在容器网络中可达的那个地址,或者让容器直接用宿主机的网络。判断方法很简单:在容器里测试能不能访问宿主机的服务端口,能通再回界面配。

这样搭好之后能直接给团队用吗?

小范围两三个人轻量问答一般能跑,但并发一上来就会排队,因为本地推理通常一次只处理一两个请求。另外默认没有账号体系,同网段的人知道地址就能直接调。要多人稳定用,建议把端口限制在内网可信网段,并按实际并发量重新评估推理框架和显卡配置。

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