Open WebUI + Ollama:搭建私人 ChatGPT
前言
Ollama 能让你在本地跑模型,但命令行聊天的体验毕竟有限。Open WebUI 是一个开源的 ChatGPT 风格前端,配合 Ollama 可以实现:
- 和 ChatGPT 几乎一样的聊天界面
- 多模型随时切换对比
- 上传文档建知识库(RAG),让 AI 基于你的文件回答
- 多用户管理(给团队用)
- 对话记录搜索
这套组合部署在内网服务器上,就是团队自己的私有 AI 平台。
一、前提条件
- 已安装 Ollama 并拉取了至少一个模型
- 已安装 Docker(部署 Open WebUI 用)
验证 Ollama 运行中:
1 | ollama list |
二、部署 Open WebUI
1 | docker run -d \ |
各参数说明:
| 参数 | 作用 |
|---|---|
-d |
后台运行 |
--restart unless-stopped |
开机自启、异常退出自动恢复 |
-p 3000:8080 |
宿主机 3000 端口映射到容器 8080 |
-v open-webui-data:/... |
持久化对话记录和配置 |
浏览器打开 http://localhost:3000,首次需要创建一个管理员账号(这个账号存在本地数据库,不依赖外部服务)。
三、连接 Ollama
Open WebUI 默认会自动探测本机的 Ollama 服务。如果 Ollama 在另一台机器上,或者 Docker 容器访问不到宿主机网络:
Ollama 在本机但 Docker 容器内无法访问:
1 | # 让 Ollama 监听所有网络接口 |
然后在 Open WebUI 管理员设置中,将 Ollama 地址改为 http://host.docker.internal:11434(Windows/Mac)或本机 IP。
Ollama 在另一台服务器上:
1 | # 在 Ollama 服务器上 |
然后在 Open WebUI 设置中填写 http://<服务器IP>:11434。
四、核心功能
4.1 多模型切换
在对话界面顶部可以随时切换模型。Open WebUI 会自动读取 Ollama 中已安装的模型列表。
想加新模型直接在 Ollama 那边拉取,Open WebUI 自动识别:
1 | ollama pull qwen2.5:14b |
4.2 连接远程 API
除了 Ollama,Open WebUI 也能连接 OpenAI 兼容的远程 API:
在管理员面板 → 设置 → 外部连接:
- API URL:
https://api.deepseek.com/v1 - API Key:
sk-your-deepseek-key
这样就能在同一个界面对比本地模型和云端模型的效果。
4.3 RAG 知识库
这是 Open WebUI 最实用的功能之一——上传文档,让 AI 基于你的文件回答。
- 进入 Workspace → 知识库(Knowledge)
- 创建知识库,命名
- 上传文件(支持 PDF、TXT、Markdown、Word、Excel、图片中的文字)
- 系统自动对文档做切片和向量化
- 回到对话界面,在输入框上方选择这个知识库
- 提问时 AI 会自动从这个知识库检索相关内容
使用场景:
- 公司规章制度问答
- 产品手册查询
- 技术文档检索
- 合同条款分析
五、用户与权限管理
管理员面板中管理用户:
| 角色 | 权限 |
|---|---|
| 管理员 | 全部权限:管理面板、用户管理、模型配置 |
| 用户 | 普通对话、创建知识库,不能改系统设置 |
| 待定 | 注册后需管理员审批才能用 |
生产环境部署时建议关闭开放注册,由管理员统一创建账号。
六、部署在公司内网的方案
1 | # 服务器上启动 Ollama |
--network host 让容器直接使用宿主机网络,减少网络问题。
然后公司所有人通过 http://<服务器IP>:8080 就能访问。
如果需要外网访问和 HTTPS,在前面加一层 Nginx 反向代理(参考之前的 Nginx 文章)。
七、数据管理
数据存在哪
Docker 数据卷 open-webui-data 包含了所有对话记录、用户账号、知识库。备份操作:
1 | # 查看卷的实际位置 |
对话导出
在 Open WebUI 的对话界面,每条对话可以导出为 Markdown 或 JSON 格式。
八、性能建议
- 别把 Ollama 和 Open WebUI 挤在同一台低配机器上:两者分开部署,或用 GPU 服务器跑 Ollama、普通服务器跑 WebUI
- 知识库大了之后,向量检索会变慢:考虑把 ChromaDB 换成 Milvus 或 Qdrant(后续版本支持)
- 多人同时用大模型会排队:Ollama 默认单请求处理,设个排队提示让用户有预期
总的来说,这套组合是个人或小团队性价比最高的私有 AI 方案——不需要云服务订阅,数据完全在本地,功能上该有的也都有。