使用 Docker 安装 Open WebUI 并集成 Ollama 的 DeepSeek 模型

使用 Docker 安装 Open WebUI 并集成 Ollama 的 DeepSeek 模型

在本教程中,我们将指导您如何使用 Docker 安装 Open WebUI,并将其与 Ollama 的 DeepSeek 模型集成。这种方法可以简化部署过程,并确保环境的一致性。

前提条件

  • 操作系统:Windows、macOS 或 Linux
  • 硬件要求:建议至少有 16GB 内存。如果要运行更大的模型,需要更多的内存。
  • **显存要求:**deepseek:1.5b需要2G显存,8b需要6.9G显存,14b需要11G显存。如下图
  • 已安装 Docker:如果尚未安装,请参考 Docker 官方文档 进行安装。

本文基于win11操作系统。

在这里插入图片描述

1. 安装ollama

进入ollama官网,下载对应的客户端

ollama官网:https://ollama.com/

2. 拉取deepseek的模型

进入如下网站,拉取不同的deepseek模型:

deepseek模型:https://ollama.com/library/deepseek-r1

默认拉取的是7b模型

ollama run deepseek-r1

1.5b模型

ollama run deepseek-r1:1.5b

14b模型

ollama run deepseek-r1:14b

r1后面的数字就是对应不同的参数模型,其他模型可参见官网代码。

在这里插入图片描述

使用如下命令查看模型是否已经存在:

ollama list

在这里插入图片描述

3. Open-WebUI 说明

open-webui仓库:https://github.com/open-webui/open-webui

访问上述网站,可以查看更多的open-webui详细说明。

虽说可以通过conda新建虚拟环境安装,但还是推荐使用Docker安装。

open-webui的文档说明:https://docs.openwebui.com/

4. 启动容器

文档的方法如下

如果你电脑安装了ollama,不使用gpu,使用如下命令:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

为了应用支持Nvidia GPU的open webui,使用如下命令:

docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
参数作用
-d让容器后台运行
-p 3000:8080把宿主机 3000 端口映射到容器的 8080 端口
--gpus all允许容器使用 GPU(需 NVIDIA 设备)
--add-host=host.docker.internal:host-gateway让容器能访问宿主机
-v open-webui:/app/backend/data持久化存储 Open-WebUI 数据
--name open-webui给容器命名为 open-webui
--restart always让容器在崩溃或重启后自动恢复
ghcr.io/open-webui/open-webui:cuda使用 Open-WebUI CUDA 版本镜像

优化命令(可选)

启用支持GPU的open webui,并增加健康检查:

docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway --health-cmd "curl -fsSL http://localhost:8080 || exit 1" --health-interval 60s --health-retries 5 --health-timeout 20s --health-start-period 60s --restart=always -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:cuda
1. 增加了健康检查机制(--health-cmd
  • 问题

    (基础版):

    • 仅依靠 --restart=always,Docker 只有在容器完全崩溃时才会重启它。
    • 如果 Web 服务挂掉了(但容器仍然运行),Docker 无法检测到,导致 WebUI 看似“正常运行”,但实际上用户无法访问。
  • 优化

    (改进版):

    • 通过 --health-cmd "curl -fsSL http://localhost:8080 || exit 1"每 60 秒检查一次 API 是否存活,确保 WebUI 真正可用
    • 如果 API 失去响应,Docker 会自动将容器标记为 unhealthy,并可能触发重启。

2. 使 WebUI 服务更稳定
  • 问题(基础版):

    • 由于 没有健康检查,如果 WebUI 进程崩溃但容器仍在运行,Docker 不会检测到问题,用户可能无法访问 WebUI。
  • 优化(改进版):

    • 结合 HEALTHCHECK--restart=always

      • Web 服务异常 → 健康检查失败容器被标记 unhealthy
      • 可以手动检查问题,或使用外部监控工具观察容器状态。

3. 避免容器启动时的误报(--health-start-period 60s
  • 问题(基础版):
    • 容器刚启动时,WebUI 可能还没完全就绪,如果立即运行健康检查,可能会误判它“宕机”并触发不必要的重启。
  • 优化(改进版):
    • 添加 --health-start-period 60s,启动后 60 秒内不执行健康检查,避免因启动时间较长导致误判

4. 更灵活的健康检查配置
参数基础版优化版(改进点)作用
--health-cmd❌ 无✅ curl -fsSL http://localhost:8080
--health-interval 60s❌ 无✅ 60 秒检测一次定期检查 WebUI 是否存活
--health-retries 5❌ 无✅ 允许 5 次失败避免短暂波动导致误判
--health-timeout 20s❌ 无✅ 每次检查最长等待 20 秒适应 WebUI 可能的响应延迟
--health-start-period 60s❌ 无✅ 60 秒后才开始检查避免容器刚启动时误判

🚀
方式是否有健康检查是否能检测 API 状态自动重启能力恢复速度
基础版仅在容器崩溃时重启⚠️ 可能 WebUI 已坏但不会重启
优化版(有健康检查)使用 curl 确保 API 正常进程崩溃或 API 不可用时重启🚀 更快发现问题并恢复

5. 配置 Open-WebUI

现在,我们需要配置 Open-WebUI,使其能够使用我们下载的 DeepSeek 模型。

  1. 访问 Open-WebUI

    在浏览器中,导航到 http://localhost:3000。如果这是您第一次访问,您需要创建一个管理员账户。
    http://localhost:3000/

  2. 配置模型

    在 Open-WebUI 的设置中,添加一个新的模型配置,选择 Ollama 作为提供者,并指定您下载的 DeepSeek 模型的名称,例如 deepseek-r1

  3. 保存设置

    保存您的设置,然后返回主界面,您现在应该能够使用 DeepSeek 模型进行推理了。

页面如下所示

可以自由切换不同模型
在这里插入图片描述

知识库

在工作空间中,可以上传对应的知识库,使模型学习到领域知识。

多用户管理

在管理员面板中,可以增加不同用户,设置不同的权限。

局域网其他用户访问

查看部署open webui的宿主机,查看IPv4地址,例如为:1.1.1.1
局域网内其他用户使用浏览器访问IP+端口号,例如:1.1.1.1:3000,输入用户名密码登录即可使用。

6. 结论

通过以上步骤,您已经成功地使用 Docker 安装了 Open-WebUI,并将其与 Ollama 的 DeepSeek 模型集成。这种方法不仅简化了部署过程,还确保了环境的一致性。您现在可以在本地环境中体验强大的语言模型功能。

### 安装配置 对于希望在 Windows 10 的 Docker 环境中部署 Open WebUI 使用 Ollama 调用 DeepSeek 来实现 RAG (Retrieval-Augmented Generation) 构建个人知识库的情况,需先确保已正确安装 Docker Desktop[^1]。 ### 启动容器 启动带有 GPU 支持的 Open WebUI 容器可以通过特定命令完成。这一步骤至关重要,因为 GPU 可加速模型推理过程: ```bash docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama ``` 上述命令中的 `-p` 参数用于指定端口映射;`--gpus=all` 表明启用全部可用 GPU 设备支持;而两个卷挂载选项则分别指向必要的数据存储路径[^2]。 ### 配置OllamaDeepSeek集成 为了使 Open WebUI集成Ollama 的实例能够调用 DeepSeek 进行更复杂任务处理,在初始化设置阶段应确认环境变量或配置文件内指定了正确的 API 访问凭证及其他必要参数。通常这些细节会在官方文档中有具体说明。 ### 使用RAG特性建立个性化资料库 Open WebUI 自带 RAG 功能允许用户通过简单的指令操作来获取实时网络资源据此生成内容。当想要基于此机制搭建专属的知识体系时,只需按照提示于交互界面里键入 `#` 加上目标 URL 即可即时抓取页面信息作为素材基础[^3]。 例如,如果要从某个网站收集有关机器学习的文章片段加入到自己的数据库中,则可以这样尝试: - 打开浏览器访问 http://localhost:3000 登录至应用首页; - 输入框处打入 `#https://example.com/machine-learning-article` (替换为实际链接地址); - 接下来依照指引保存所需条目直至形成完整的集合体。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百年孤独百年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值