3 步跑起自托管 AI 对话平台:Open WebUI 离线部署新手实操
【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui
使用云端 AI 服务时,对话内容会发送到别人的服务器,数据流向难以控制。Open WebUI 是一个可完全离线运行的自托管 AI 对话平台,对话数据只存你自己的机器,可连接 Ollama 本地模型或任意 OpenAI 兼容 API。它把界面、账号体系、知识库和权限管理打包在一起:个人可以离线跑本地模型,小团队可以按用户组分配不同模型的访问权限,文档问答通过内置知识库完成。
动手前的环境准备
| 项目 | 要求 | 说明 |
|---|---|---|
| Docker | 已安装并启动 | 推荐部署方式,Ollama 同机可用 docker-compose 一并拉起 |
| 端口 3000 | 空闲 | 容器默认对外端口,WebUI 容器内监听 8080 |
| 端口 11434 | 空闲 | Ollama 服务端口 |
| 磁盘空间 | 约 10 GB 起 | 镜像与首个模型(7B 级)的占用参考值 |
| Python 3.11 | 仅源码/本地部署需要 | 走 backend/dev.sh 时固定要求该版本 |
3 步部署 Open WebUI 和 Ollama
第 1 步:克隆仓库。
git clone https://gitcode.com/GitHub_Trending/op/open-webui cd open-webui第 2 步:启动服务。
docker-compose up -ddocker-compose.yaml 会同时拉起 ollama 与 open-webui 两个容器,并创建持久化数据卷。
第 3 步:确认服务就绪。
docker logs open-webui --tail 20预期结果:日志中出现 uvicorn 启动信息,无报错即表示 WebUI 已在 3000 端口对外提供服务。
完成第一次接入:从注册到第一条消息
- 浏览器打开
http://localhost:3000,注册账号,第一个注册的账号自动成为管理员。
- 进入 Ollama 页面,输入
ollama pull llama3.2拉取一个本地模型,等待拉取完成。 - 进入 Admin 设置页,确认 Ollama Base URL 为
http://ollama:11434(compose 默认已配置好)。 - 回到聊天界面,模型选择器选中刚才拉取的模型,发送"你好",看到流式返回的回复即表示整条链路打通。
三个实用场景
场景一:用本地文档回答业务问题。
背景:需要基于公司内部资料问答,且资料不出内网。操作:上传 PDF/Markdown 到知识库并完成切片索引 → 新建对话,在模型选择器旁选中该知识库 → 提问。效果:回答基于文档内容生成,可回溯引用来源,整个检索过程在本地完成。
场景二:接入已有的 OpenAI 兼容 API。
背景:已有一台推理服务器(vLLM、LMStudio 均可),不想在本地跑模型。操作:Admin 设置 → Connections 添加连接,填 API 地址与密钥 → 保存 → 聊天界面切换模型。效果:Open WebUI 直接作为该推理端点的统一入口,多人共用同一套界面和账号体系。
场景三:重装系统前备份数据。
背景:机器要重装或迁移,历史对话不能丢。操作:查看 docker-compose.yaml 中open-webui:/app/backend/data卷挂载 →docker run --rm -v open-webui:/data alpine tar czf - -C /data . > webui-data.tar.gz导出卷内容 → 重装后把该目录重新挂回。效果:数据库、文件、知识库随卷一起迁移。
⚠️ 排错速查
| 现象 | 处理方式 |
|---|---|
| 浏览器打开 3000 端口被拒绝或 404 | 本地已有其他服务占用,改OPEN_WEBUI_PORT环境变量后重启容器 |
| Ollama 页面无模型、容器日志报连接失败 | 容器内访问不到宿主机 Ollama,给容器加--network=host,或确认 compose 中OLLAMA_BASE_URL指向正确 |
| 模型列表为空 | 先用ollama list确认宿主机已拉取模型,再刷新页面 |
| 离线部署启动后功能异常 | 设置HF_HUB_OFFLINE=1阻止尝试联网下载嵌入模型 |
| 升级容器后历史对话丢失 | 检查启动命令是否包含-v open-webui:/app/backend/data卷挂载 |
资源与适用对象
这套部署方式适合需要数据留本地、想给多人共用一个 AI 入口的个人与小团队。进一步配置见仓库 README.md 安装与故障排查章节,服务启动逻辑见 backend/dev.sh,运行时参数见 backend/open_webui/config.py。
【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考