Open WebUI 本地部署 3 分钟跑通完全离线的多模型 AI 对话界面【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui公司内网完全断网却要在周五前给团队一个能切换模型、能传文档的对话界面还不能写一行前端代码。Open WebUI 本地部署解决的就是这件事。它是一个自托管的 AI 对话 Web 界面对话记录、上传文件、向量数据全部落在本地 Docker 卷里不经过任何第三方服务。边界讲清楚它不做模型推理模型服务Ollama 或 OpenAI 兼容 API得你自备它负责界面、RAG 检索检索增强生成即让模型先查你的文档再回答和存数据。跑起来后浏览器打开 3000 端口顶部是模型下拉框左侧是对话列表底部是输入框你注册的第一个账号自动成为管理员。 3 条路径让 Open WebUI 跑起来最快路径是仓库根目录的 compose 文件一条命令起两个容器Ollama跑模型的运行时和 Open WebUI对话界面。git clone https://gitcode.com/GitHub_Trending/op/open-webui cd open-webui docker compose up -d启动后访问 http://localhost:3000注册账号即可对话无需额外配置。端口映射 3000 到容器内 8080Ollama 地址OLLAMA_BASE_URL已指向容器内 http://ollama:11434都定义在 docker-compose.yaml。没有 Docker 就换 pip 路径前置条件是 Python 3.11pip install open-webui open-webui serve启动后服务地址是 http://localhost:8080注意比 Docker 路径多一个 80。第三条路径适合 compose 用不了的环境官方镜像有:ollama标签单容器内置 Ollama同时干两件事。docker run -d -p 3000:8080 -v open-webui:/app/backend/data ghcr.io/open-webui/open-webui:ollama验证方式同样是打开 http://localhost:3000。OLLAMA_BASE_URL、OPENAI_API_KEY等全部环境变量集中在 backend/open_webui/config.py想调参数先翻它。 接 Ollama 与 OpenAI 兼容 API 的两种方式compose 启动后Open WebUI 已通过OLLAMA_BASE_URL指向容器内的 Ollama但 Ollama 容器里还没有模型。进容器拉一个docker compose exec ollama ollama pull llama3.2拉完页面顶部下拉框里就出现 llama3.2。选中它发一句话模型逐字流式返回全程不离开内网。有多台 Ollama 实例时用OLLAMA_BASE_URLS配多个分号分隔的地址它们会同时出现在同一个下拉列表里。第二种方式是 OpenAI 兼容 API启动容器时传入OPENAI_API_BASE_URL和OPENAI_API_KEYvLLM、LM Studio、OpenRouter 都只是改个 URL。已有推理集群、不想再跑 Ollama 的团队走这条改完不用动一行代码。 把文档读进对话RAG 检索三步实操第一步让文档进来。新建对话后把 PDF 直接拖进输入区或先传到左侧知识库让它向量化。系统用内置嵌入模型默认 sentence-transformers/all-MiniLM-L6-v2完成分块和嵌入数据落在本地向量库。第二步提问。问总结这份文档并列出关键数据回答会带出文档里的具体内容。输入框里敲#能检索整个文档库也能把网页 URL 拉进上下文。第三步认清边界。RAG 只做检索加引用不会重新训练或微调你的模型。检索引擎在 backend/open_webui/retrieval/支持 9 种向量库后端可选ChromaDB、PGVector、Qdrant、Milvus 等。 部署后最常见的 4 个问题自查现象页面提示 Server connection error模型列表为空。原因容器内的 localhost 不指向宿主机容器够不到 Ollama。解法compose 方式已默认处理好单独 docker run 时加--networkhost此时端口变成 8080或显式设置OLLAMA_BASE_URL。请求如何被后端转发TROUBLESHOOTING.md 有原理说明。现象对话生成到一半断开。原因Ollama 响应超时默认 300 秒5 分钟CPU 上跑大模型来不及算完。解法调大AIOHTTP_CLIENT_TIMEOUT单位秒再启动容器或换更小的模型。现象容器重建后对话和上传文件全没了。原因没挂数据卷数据写进了容器内部文件系统。解法运行命令里保留-v open-webui:/app/backend/data官方 README 明确警告了这一步。现象完全离线的机器上首次启动迟迟完不成初始化。原因默认嵌入模型首次使用需要从 Hugging Face 下载断网就卡住。解法先在联网机器上预热把模型缓存搬进离线环境具体缓存位置见官方文档。 跑起来之后的 4 个定制点想备份或迁移数据记录、上传文件、向量数据都在 open-webui 卷容器内 /app/backend/data里把卷快照或整个搬到新机器即可原样恢复。想改快捷键定义在 src/lib/shortcuts.ts直接改那里。想加自定义 Tools 或 Filters用 Python 写放到 backend/open_webui/tools/ 下注册目录里的 builtin.py 和 knowledge_fs.py 可以当样例读。想换向量数据库选择由VECTOR_DB环境变量控制9 种后端实现在 backend/open_webui/retrieval/vector/dbs/ 下改值重启即可。 接下来做什么Open WebUI 本质是一个跑在浏览器里的本地模型调度台界面它负责模型你负责。两个可执行的下一步先读一遍内置工具的写法弄清 Tools 的注册模式再回到管理页接第二个模型或注册一个你自己的工具。【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
