跳至主要内容

Open WebUI 安装指南:在本地运行类 ChatGPT 界面

了解如何安装与使用 Open WebUI,在类 ChatGPT 的界面下运行本地 AI 模型。包含设置步骤、配置技巧与真实用例。
Dario Radečić
Dario Radečić

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

您是否对将提示发送到云服务器感到不放心?安全性确实是许多人关注的重点,而且理由充分。

您选择 ChatGPT 或 Claude,输入提示,请求就会发送到他人的基础设施上。对大多数场景来说,这没有问题。但如果您处理的是敏感数据或专有代码,那可能就存在安全风险。并且,云端界面会将您锁定在特定模型、速率限制和定价方案中。

Open WebUI 是一个自托管、基于浏览器的 LLM 交互界面。它与 ChatGPT 的 UI 很相似,但运行在您自己的机器上。它可连接到 Ollama、兼容 OpenAI 的 API 和本地模型,让您的数据留在您指定的位置。

在本文中,我将带您通过 Docker 安装 Open WebUI、将其连接到本地模型,并用于聊天与代码生成等实际任务。

什么是 Open WebUI 以及其工作原理

Open WebUI 是一个用于与 LLM 交互的基于浏览器的聊天界面——类似 ChatGPT,但运行在您自己的机器上。

其架构尽可能简单。前端 UI 通过浏览器访问,后端连接到 Ollama 等模型提供方或任何兼容 OpenAI 的 API。

因此,Open WebUI 并不运行模型——它只是与您指定的后端通信。

可以把它看作您本地 AI 环境的“通用前门”。

这意味着您可以在不更改界面的情况下更换模型后端,也可以在一台机器上运行界面、在另一台机器上运行模型。

使用 Open WebUI,您可以获得:

  • 用于发送提示与阅读回复的聊天界面
  • 文件上传功能,可将文档引入对话
  • 多模型支持,可在同一界面中切换模型
  • 对话历史记录,便于回顾和继续以往会话

如果您使用过 ChatGPT 或 Claude,这个界面会很熟悉。不同之处在于其背后运行的是什么。接下来我们就来看看。

如何安装 Open WebUI(Docker 方法)

Docker 是让 Open WebUI 运行起来的最快方式,而且还能提供完全隔离的运行环境。

前置条件

您需要在机器上安装 Docker。如果还没有,请前往Docker 官方网站获取。

Ollama 此阶段可选。如果您希望立即将 Open WebUI 连接到本地模型,请先安装 Ollama 并拉取至少一个模型。如果您只是想先让界面跑起来,稍后再连接模型,则可暂时跳过。

安装步骤

运行以下命令以拉取 Open WebUI 镜像并启动容器:

docker run -d \
  -p 3000:8080 \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

正在下载 Open WebUI 镜像

正在下载 Open WebUI 镜像

每个参数的含义如下:

  • d 在后台运行容器

  • p 3000:8080 将容器内的 8080 端口映射到您机器上的 3000 端口

  • v open-webui:/app/backend/data 创建 Docker 卷以持久化数据——对话、设置和上传的文件在容器重启后仍会保留

  • -restart always 当容器停止或您的机器重启时自动重启容器

  • -name open-webui 为容器指定易读的名称,便于后续引用

首次启动

容器启动后,打开浏览器,访问 http://localhost:3000。

首次访问时,Open WebUI 会要求您创建管理员帐户。填写您的姓名、邮箱和密码。

Open WebUI 设置页面

Open WebUI 设置页面

之后即可进入。界面加载完成后,您就可以开始连接模型了。

Open WebUI 首页

Open WebUI 首页

如何将 Open WebUI 连接到 Ollama

Ollama 是 Open WebUI 最常见的后端,因为它让运行本地模型变得极其简单——一条命令拉取模型,另一条命令运行模型。

在进行连接之前,请确保 Ollama 实际在运行。打开终端并检查:

ollama serve

检查 Ollama 是否在运行

检查 Ollama 是否在运行

如果 Ollama 已以后台服务运行,您会看到提示地址已被占用。这很好——说明它已启动。

接着,确认您至少已拉取一个模型。运行:

ollama list

可用的 Ollama 模型

可用的 Ollama 模型

如果列表为空,请先拉取一个模型。Mistral 是不错的起点:

ollama pull mistral

正在拉取 Mistral 模型

正在拉取 Mistral 模型

Mistral 是一个稳健的通用模型,在消费级硬件上表现良好。

将 Open WebUI 连接到 Ollama

现在在浏览器中打开 http://localhost:3000。前往Settings - Connections,检查 Ollama API URL。默认设置为 http://host.docker.internal:11434。

设置 Ollama API URL

设置 Ollama API URL

这在使用 Docker Desktop 的 Mac 和 Windows 上可用。在 Linux 上,将 host.docker.internal 替换为您实际的主机 IP:

http://<your-ip-address>:11434

点击 Save 并刷新页面。连接成功后,您的 Ollama 模型将显示在聊天窗口顶部的模型选择器中。选择一个即可开始聊天。

可用模型

可用模型

如果没有显示模型,请再次确认 Ollama 在运行,且 API URL 与您的操作系统匹配无误。

如何使用 Open WebUI 进行聊天与编码

连接模型后,Open WebUI 的使用体验与 ChatGPT 非常相似——但有一些值得了解的附加控制项。

基础聊天

在聊天窗口顶部,您会看到一个模型选择下拉框。点击并选择您要使用的模型。如果您连接了多个后端,所有可用模型都会在此显示——Ollama 模型、API 模型,全部汇总在一个列表中。

在底部输入框中键入您的提示并按回车。响应将实时流式返回,您无需等待完整输出即可开始阅读。

基础聊天示例

基础聊天示例

每次对话都会保存在左侧边栏。您可以重命名对话以便组织管理,或删除不需要的对话。点击任一过往对话即可从上次中断处继续。

编码任务

Open WebUI 非常适合代码生成与调试。只需用自然语言描述您的需求,模型会返回可复制的代码块。

编码示例

编码示例

调试时,将您的代码和错误信息粘贴到提示中。请尽量具体——包含完整的错误输出,而不仅仅是错误类型。上下文越充分,回复就越有用。

调试示例

调试示例

对于多步骤任务,不要试图把所有内容塞进一个提示。拆解开来逐步进行。先让模型编写一个函数,再让它添加错误处理,然后让它编写测试。简短而聚焦的提示往往比冗长且试图“一步到位”的提示效果更好。

文件上传

Open WebUI 在聊天中支持文件上传。点击输入区域的加号图标并附加文档——PDF、文本文件等。

上传后,文件内容会成为对话上下文的一部分。您可以让模型进行摘要、提取特定信息,或基于文档内容回答问题。

文档对话

文档对话

需要注意的是,模型只能处理其上下文窗口能够容纳的内容——即一次可处理的最大文本长度。非常大的文件可能会被截断,如果您处理的是长文档,请将其拆分。

Open WebUI 的关键功能

Open WebUI 有很多设置,下面我将介绍几个对您真正有用的。

多模型支持

聊天窗口顶部的模型选择器允许您在同一会话中切换模型,而无需新开对话。当您想让不同模型处理相同提示并进行对比时,这非常方便——先用 Llama 运行,再用 Mistral 运行,把输出并排比较。

模型选择

模型选择

如果您在为特定任务评估模型,这能节省大量时间。

聊天历史与会话

每次对话都会保存并列在左侧边栏。您可以将会话重命名为有意义的名称,这样就不用日后在一堆“新聊天”条目中翻找了。

以往聊天会话

以往聊天会话

这使得 Open WebUI 对于持续性工作很有用。您可以回到某个编码会话、继续半成品提示,或将对话作为参考复用。

本地模型 vs. API 模型

Open WebUI 并不在意其背后运行的是什么。您可以为私密工作连接本地的 Ollama 模型,也可以为那些本就无法放入内存的任务连接兼容 OpenAI 的 API 来使用闭源模型。

管理 OpenAI 连接

管理 OpenAI 连接

对于简单任务,使用小型本地模型;当任务需要(且允许)时,再使用更大的 API 支持模型。

自定义模型设置

您可以针对单个 LLM 进行大量自定义。

在模型设置中,您可以调整系统提示、添加知识库(文档),并将模型连接到工具与技能。您还可以编辑模型将用于哪些能力,例如视觉、文件上传,并选择是否让模型执行网页搜索等任务:

调整模型设置

调整模型设置

Open WebUI 与 ChatGPT 及其他界面的比较

Open WebUI 并不打算替代 ChatGPT。它用于解决不同的问题。

Open WebUI vs. ChatGPT

核心区别在于您的数据流向何处。使用 ChatGPT,每条提示都会发送到 OpenAI 的服务器。使用 Open WebUI,所有内容都留在您的机器上——界面、模型和对话历史。

权衡点在于性能。GPT-5 等云端模型通常比大多数本地可运行的模型更强大。如果您优先考虑输出质量,云端更胜一筹。如果隐私或离线访问更重要,本地更合适。

成本也是一个因素。ChatGPT Plus 是固定月费。Open WebUI 免费,但需要您提供硬件——一台有足够内存、最好配有 GPU 的机器。

Open WebUI vs. Ollama CLI

Ollama 的 CLI 适合快速测试,但并非为实际工作而生。您输入提示,得到回复,仅此而已。没有历史记录、没有文件上传,也无法在不切换终端的情况下比较模型。

Open WebUI 为 Ollama 提供了一个完善的界面。模型与后端相同——但增加了会话管理、设置控制,以及在关闭终端后也不会消失的 UI。

如果您已经在用 Ollama,叠加 Open WebUI 不会增加成本,却能显著提升使用体验。

Open WebUI vs. 其他工具

LM Studio 是一款桌面应用,内置模型浏览器并提供类似的聊天界面。如果您想要一个无需 Docker 的自包含 GUI,这是不错的选择。缺点是它绑定于桌面端——而 Open WebUI 在浏览器中运行,可从您网络中的其他设备访问。

text-generation-webui 更偏向高级用户。它支持更广泛的模型格式并提供更细粒度的控制,但设置更复杂、界面也更难导航。除非您确实需要 text-generation-webui 的特性,否则 Open WebUI 更适合作为起点。

对比表

您可以参考这张表,快速比较 Open WebUI 与其替代方案:

Open WebUI 与替代方案对比

Open WebUI 与替代方案对比

常见问题与故障排查

大多数 Open WebUI 的问题可归为五类之一——而且大多有快速解决方案。

容器无法启动

在启动失败后立即运行 docker logs open-webui。日志会告诉您出错原因。十有八九是端口冲突或卷的权限问题。

端口冲突

如果您的机器上 3000 端口已被占用,容器将无法启动。通过映射到不同的主机端口来解决:

docker run -d -p 3001:8080 ...

然后通过 http://localhost:3001 访问 Open WebUI。

无法连接到 Ollama

首先,确认 Ollama 实际在运行:

ollama serve

然后检查 Settings - Connections 中的 API URL。在 Mac 和 Windows 上,应为 http://host.docker.internal:11434。在 Linux 上,请使用您主机的 IP 地址。这里的 URL 配错是最常见的连接失败原因。

模型未显示

如果模型选择器为空,说明 Open WebUI 已连接到 Ollama,但未发现模型。运行 ollama list 以确认您至少拉取了一个模型。如果列表为空,请拉取一个:

ollama pull mistral

拉取后请刷新 Open WebUI 页面——它不会自动更新。

性能缓慢

响应缓慢几乎总是硬件问题,而不是 Open WebUI 的问题。模型对于您可用的内存来说过大,或您没有 GPU。请切换到更小的模型——7B 参数的模型在大多数配有 16GB 内存的现代机器上运行良好。如果是仅 CPU 的环境,无论模型大小如何,都应预期会更慢。

Open WebUI 的最佳实践

一些习惯会显著提升您日常使用 Open WebUI 的效果。

  • 为速度选择更小的模型: 更大的模型并不总是更好。一个 7B 参数模型能在数秒内响应,并能较好地处理大多数日常任务。将更大的模型留给确实需要的任务,例如复杂推理或长文本生成
  • 关注对话长度: 对话中的每条消息都会增加模型需要处理的上下文。随着对话增长,响应会变慢且成本更高。如果对话已经偏离最初目的,请新开一个对话,而不是一直拖着旧上下文
  • 整理您的提示: 如果您经常使用相同的提示,请将其保存。Open WebUI 允许存储提示预设,这样您就不必每次重复输入相同说明。前期稍作整理,后续大幅省时
  • 监控系统资源: 本地模型运行在您的硬件上。如果机器吃紧,请打开系统监视器查看内存与 CPU 使用情况。在大型模型旁同时运行其他重负载进程会延长响应时间。关闭不必要的程序
  • 将 Open WebUI 与现有工具结合: 界面只是前端。您可以将输出接入脚本、通过上传直接从编辑器馈送文件,或在进行代码任务时将 Open WebUI 与终端配合使用。

何时使用 Open WebUI

Open WebUI 适合特定场景——而非所有场景。以下是适合使用它的情形:

  • 本地开发 是最常见的用例。如果您在构建基于 LLM 的应用并希望在不消耗 API 额度的情况下测试提示,Open WebUI 能提供快速的反馈循环
  • 模型试验 是 Open WebUI 的强项。您可以通过 Ollama 拉取多个不同模型,并在同一界面中比较它们对相同提示的处理效果——无需写一行代码
  • 注重隐私的工作流 也非常适合。如果您处理内部文档、客户数据,或任何不希望发送到第三方服务器的内容,本地方案可让一切留在您的机器上。除非您选择连接外部 API,否则不会有数据外泄
  • 学习与原型设计 同样适用。如果您是 LLM 新手,想在不订阅付费方案的情况下了解其行为,Open WebUI 提供了低成本的试验方式。它也有助于快速构建原型——本地模型足以让您在投入生产环境前先行验证想法。

话虽如此,如果您需要尽可能高质量的模型输出且不在意隐私,那么云端 API 会更适合。

结语

Open WebUI 为使用本地模型提供了一个简洁、实用的界面,且您对环境拥有完全的掌控权。

无需将数据离开您的机器、没有速率限制、无需订阅。模型由您选择,设置由您管理,按需灵活扩展。

最好的开始方式是保持简单。先运行 Docker 容器,连接 Llama 或 Mistral 之类的小模型,然后发送几个提示。一旦运行稳定,您就可以添加更多模型、配置系统提示、连接外部 API,并在此基础上持续构建。

如果您在想,也可以使用 Docker 运行 Ollama,无需本地安装。阅读我们近期的指南了解详情。

Dario Radečić

作者

Dario Radečić

常驻克罗地亚的高级数据科学家。顶级科技写作者,已发表 700 多篇文章,累计获得超过 1,000 万次阅读。著有《使用 TPOT 实现机器学习自动化》。

FAQs

什么是 Open WebUI?

Open WebUI 是一个自托管、基于浏览器的界面,用于与大型语言模型交互。它的使用方式类似 ChatGPT,但完全在您自己的机器上运行。您将其连接到模型后端——如 Ollama 或兼容 OpenAI 的 API——所有数据都保留在本地。

运行 Open WebUI 是否需要高性能机器?

Open WebUI 本身很轻量——资源需求主要来自其背后的模型。对大多数本地模型而言,16GB 内存是一个合理的基线。GPU 有助于提升响应速度,但许多小型模型在仅 CPU 的机器上也能接受地运行。

Open WebUI 是否免费?

是的,Open WebUI 是开源且免费的。您无需为界面本身付费。唯一的成本是您的硬件,以及(可选的)若您选择连接 OpenAI 等付费模型提供商所产生的外部 API 使用费用。

Open WebUI 与 Ollama 有何区别?

Ollama 是在您的机器上下载并运行本地模型的后端。Open WebUI 是前端——您用来发送提示与阅读回复的界面。Ollama 负责模型,Open WebUI 负责聊天体验。您可以通过其 CLI 在没有 Open WebUI 的情况下使用 Ollama,但体验会受限得多。

我能将 Open WebUI 连接到 OpenAI 的 API,而不是本地模型吗?

可以。Open WebUI 支持任何兼容 OpenAI 的 API 端点。前往 Settings - Connections,添加您的 API 密钥和端点 URL,云端模型就会与本地模型一起显示在模型选择器中。这样您即可在同一界面中切换本地与云端模型。

主题