ollama open-webui 本地部署大模型

模型与算力

带读者用 Ollama 拉取 DeepSeek R1,配 Open WebUI 做本地聊天界面,并讲清显卡占用、模型档位与常见报错排查顺序。

你可能已经在命令行里跑通了 Ollama,但每次对话都要敲一行命令,多轮上下文也不好留;换个模型又得重开终端。这篇就解决这一步:把 Ollama 当成本地推理后端,把 Open WebUI 当门面,两边接上,浏览器里直接聊 DeepSeek R1。顺带把显卡怎么分、首次加载为什么卡、容器连不上宿主机的排查顺序讲一遍。

你可能已经在命令行里跑通了 Ollama,但每次对话都要敲一行命令,多轮上下文也不好留,换个模型又得重开终端。这篇就解决这一步:把 Ollama 当本地推理后端,把 Open WebUI 当门面,两边接上,浏览器里直接聊 DeepSeek R1。

顺序很重要——先在命令行确认模型能拉下来、能正常回答,再去装 Open WebUI。反过来做,出问题时分不清是模型没下好还是界面没连上,白折腾半小时。接着把显卡怎么分、首次加载为什么卡、容器连不上宿主机的排查顺序捋一遍。

动手前的三件准备:硬件、软件、模型档位

先确认显存与内存能装下哪一档:参数量和量化方式共同决定体积,别只看参数量。具体对应关系到你机器的实际占用,去 /models/deploy 对照测算结果,用自己机器的显存去套,比记结论靠谱。

  • 装完 Ollama 先在命令行确认服务在跑、模型能拉下来,再去装 Open WebUI
  • 模型档位按任务选:显存紧张就挑小参数量或更低量化档,日常问答和写代码的需求不一样
  • 装之前把磁盘空间留足,模型文件和解压后的体积差距很大,中途空间不足会留下一个半残的模型
  • 把要用的端口记下来,后面排查连不上时第一个要看的就是它

拉模型与验证:先在命令行跑通再谈界面

拉取时盯着进度输出,网络中断会静默失败。跑完用列表命令确认模型确实在本地,而不是只看到一行没有报错的结束语——「没报错」和「拉下来了」是两回事。

  1. 确认模型在本地用列表命令看模型名和体量,名字和你后面要填进界面的必须一致
  2. 发一句最简单的提问能正常回答就说明推理链路通了,接下来的问题都在界面这一侧
  3. 再发一句需要多轮的确认上下文能带上,避免后面在界面里才发现是模型侧的问题
  4. 记下响应时间给后面判断「是不是变慢了」留个基准

把推理模型和普通模型的差别搞清楚:DeepSeek R1 这类会先输出一段思考过程再给答案,首次响应等待时间明显更长,别误判成卡死。判断标准可参考 /ai-dict/category/tech 里的相关词条,同时给模型起个好记的标签,同时跑两三个模型时靠名字区分比靠体量区分靠谱。

把 Open WebUI 接上 Ollama:连接与首启设置

Open WebUI 用容器方式跑的时候,容器内部的 localhost 不是你的宿主机,需要用宿主机的可达地址或让容器共享宿主网络。这是最常见的「填了地址还是连不上」原因,先排除它再查别的。

现象优先怀疑怎么确认
界面里列不出任何模型地址或网络模式不对回命令行确认模型名,再核对地址和端口是否写全
能列出模型但发消息报错服务没在跑或模型没加载完命令行再问一句,确认推理链路仍正常
同局域网其他设备打不开只监听了本机回环改监听范围,或确认防火墙是否放行
界面能开但建不了对话账号权限没生效确认第一个注册的账号是管理员身份

首次进入要注册的第一个账号就是管理员,注册完立刻确认可以建对话,别等到配置完模型才发现账号权限没生效。至于浏览器访问地址和你本机监听地址不一致时,想放给同局域网的人用就得改监听范围,这点很多人是别人打不开才回头发现的。

连不上、跑得慢、显存爆:按这个顺序排查

先分层:命令行能不能答、界面能不能列出模型、对话能不能返回。这三步各自卡在哪一层,决定了你该看日志还是看配置,顺序乱了就会在最不可能的地方浪费最多时间。

  • 连不上优先查地址和网络模式,其次查服务是否在跑,最后才怀疑模型文件损坏
  • 跑得慢先看是不是第一次加载,模型从磁盘读进显存本来就慢
  • 之后还慢就看显存是否不够导致部分层落在内存里,具体判断思路见 /ai-dict/category/hardware 的显存相关词条
  • 显存不足时不要硬撑,退回更低量化档或更小参数量的模型,比反复重启服务有效

档位取舍别凭感觉,可对照 /tools 里的换算与检测工具自己算一遍再决定。如果只是想先跑起来看效果,用最小能跑的那一档把全流程走通,再往上加,比一上来就顶配然后卡在报错里划算。

跑通之后:什么时候该换路子

只是自己用、单次对话、并发基本为一,这套组合够用,这类场景下继续折腾也换不来多少体验提升。什么情况下不适用:要让团队几个人同时用、还要求稳定吞吐,就不是加个界面能解决的,该评估更偏服务化的推理方案。

单人低频自用
本地这套够用,重点放在模型档位选对
小团队并发使用
界面不是瓶颈,先按并发和显存算一遍再决定
需要接外部工具与编排
看框架层方案,和聊天界面不是同一层的问题
数据敏感、调用频次高
长期留本地的收益主要来自数据不出机器,不是来自免费
本地部署真正的门槛不是装软件,而是知道自己这台机器该跑哪一档、以及什么时候不该继续跑本地。

要不要长期留在本地,其实取决于你的数据敏感程度和调用频次。把使用量记一周,再去和按量调用的成本口径对一遍—— 具体价格到 /price-watch 看当时的数字,别凭感觉决定。同理,想知道自己这套配置的推理速度处于什么水平,可以到 /tools/speed-test 跑一次,拿到的是你自己机器上的真实值,比任何别人的结论都有用。

下一步:把中转站选项也纳入对比本地跑通只是方案之一。如果只是偶尔用、又想要更大参数量的模型,本地硬件这条路未必划算。到 /sites 看看各家中转站的可信度标注与追踪记录,用同一套使用量口径去比,才好判断该不该把一部分需求搬出去。

常见问题

Open WebUI 里填了地址还是连不上 Ollama,先从哪查?

先分清是不是容器网络问题:容器里的 localhost 指容器自己,不是你的电脑。用容器共享宿主网络,或把地址换成宿主机可达的 IP。确认后再核端口是否写全、Ollama 服务是否真的在跑。按这个顺序查,比反复改配置快得多。

本地跑 DeepSeek R1,第一句回答等很久是正常的吗?

分两段看:第一段是把模型从磁盘读进显存,第一次必然慢,之后重启服务还会再等一次;第二段是推理模型本身要先输出一段思考过程。如果第二句、第三句依然很慢,那就不是加载问题,得看显存够不够、有没有部分计算落在内存里。

同一台机器上能同时挂好几个模型来回切吗?

能挂,但别指望同时常驻。显存只够一个模型的量级时,来回切会反复经历加载等待,体验比固定用一个更差。真要多模型切换,要么挑整体体量小的档位,要么接受每次切换的那段等待时间。

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