Ollama Open WebUI搭配NewAPI可视化网关
在实际运维中,很多团队既需要本地运行的开源模型(如通过Ollama部署的Llama、Qwen),又希望使用商业API(如通义千问、文心一言)作为补充。
如果每次手动切换服务不仅低效,还容易搞混环境变量。
本文会帮你把Ollama、Open WebUI和NewAPI可视化网关串联起来,在同一个Open WebUI面板里同时调用本地模型和远程API。
搭配前需要准备的三样东西
- 一台能运行Ollama的主机:建议至少8GB内存,Linux或macOS均可。安装Ollama后先确认能跑默认模型,比如
ollama run qwen2:7b能正常对话。 - Open WebUI容器:官方推荐使用Docker部署,下面会给出完整命令。
- NewAPI可视化网关:这是一个开源项目,支持通过Web界面管理多个API渠道,并提供统一的OpenAI兼容接口地址。你需要提前部署好NewAPI,并至少添加一个有效渠道(例如通义千问的API Key)。
第一步:部署Open WebUI并连接Ollama
Open WebUI原生支持连接Ollama,只需要在环境变量中指定Ollama地址。
如果你的Ollama和Open WebUI在同一台机器上,Ollama默认监听 127.0.0.1:11434,但容器内无法直接访问宿主机回环地址,需要改为宿主机真实IP或使用 host.docker.internal(仅Docker Desktop支持)。
更稳妥的做法是让Ollama监听 0.0.0.0:
# 先停掉Ollama服务
systemctl stop ollama
# 以环境变量方式启动Ollama,允许外部访问
ollama serve --host 0.0.0.0
然后启动Open WebUI容器(假设宿主机IP为192.168.1.100):
docker run -d -p 3000:8080 \
--name open-webui \
-e OLLAMA_BASE_URL=http://192.168.1.100:11434 \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:main
等待容器启动后,访问 http://你的服务器IP:3000,注册管理员账号。
在模型选择下拉菜单中应该能看到Ollama中的本地模型,比如 qwen2:7b。
如果看不到,检查环境变量 OLLAMA_BASE_URL 是否填写正确。
第二步:将NewAPI网关作为OpenAI兼容提供商接入Open WebUI
NewAPI启动后会默认监听某个端口(比如 localhost:3000)并提供OpenAI兼容接口(路径通常是 /v1)。
你需要在NewAPI后台添加渠道(例如通义千问),获得一个NewAPI自己的API Key。
然后在Open WebUI中新增一个外部连接:
- 点击Open WebUI右上角的头像 → 进入 设置 → 管理员面板 → 外部连接。
- 点击 添加连接,填写:
- 连接名称:随意,比如
NewAPI网关 - API基础地址:
http://NewAPI服务IP:端口/v1(注意必须带/v1) - API密钥:在NewAPI后台生成的API Key
- 点击 保存。
返回聊天界面,在模型下拉框中你应该能看到NewAPI渠道下添加的模型(例如 qwen-turbo)。
此时你就可以选择本地Ollama模型或远程API模型了。
第三步:常见避坑与排错
- Open WebUI看不到NewAPI的模型:检查
API基础地址末尾是否遗漏/v1;确认NewAPI服务本身能返回模型列表:curl http://NewAPI地址:端口/v1/models。如果返回401,说明API Key有误。 - Ollama模型无法加载:检查
OLLAMA_BASE_URL是否填了正确的IP和端口,注意容器内不能使用127.0.0.1。另外确认Ollama的防火墙放行了11434端口。 - NewAPI渠道调用失败:在NewAPI后台点击目标渠道的测试按钮,先确认渠道本身通不通。如果渠道状态正常但Open WebUI报错,可能是超时时间过短,可在NewAPI配置中增加超时设置。
- 容器网络冲突:如果Open WebUI和NewAPI都在同一台Docker主机上,建议使用自定义网络(
docker network create mynet)让它们通过容器名称通信,就不用暴露端口了。
验证最终效果
- 在Open WebUI新建对话,模型选择
qwen2:7b(Ollama本地),发一条消息,确认能正常回复。 - 新建另一对话,模型选择
qwen-turbo(NewAPI渠道),同样发送消息,确认回复内容来自远程API。 - 同时打开Open WebUI的日志(
docker logs -f open-webui),观察请求是否分别发往Ollama和NewAPI。
如果以上步骤全部通过,说明你已经成功将Ollama Open WebUI与NewAPI可视化网关结合起来,以后只需维护这一个面板就能同时控制本地和云端的大模型了。
关于扩展使用
如果你后续需要添加更多API渠道(例如Claude、Gemini),直接在NewAPI后台添加即可,Open WebUI端无需任何改动。
如果你想对NewAPI的流量做流量控制或费用统计,也可以在NewAPI的仪表板中配置。
这套组合非常适合团队内部统一大模型调用入口。
遇到本文未提及的报错信息,建议先查看Open WebUI日志和NewAPI日志,关键词搜索一般能找到社区解决方案。