部署open webui 调用ollama启动的deepseek

news/2025/2/9 5:35:20 标签: eureka, 云原生

以下是 部署Open WebUI并调用Ollama的deepseek-70b模型 的详细步骤,重点讲解部署和配置过程:


一、部署 Open WebUI

1. 安装Docker(如已安装可跳过)
# 自动安装Docker
curl -fsSL https://get.docker.com | sh
# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
2. 拉取Open WebUI镜像
docker pull ghcr.io/open-webui/open-webui:main
3. 启动Open WebUI容器
docker run -d \
  --name open-webui \
  -p 3000:8080 \                         # 映射容器8080端口到宿主机3000端口
  -v open-webui:/app/backend/data \       # 持久化存储用户数据
  --add-host=host.docker.internal:host-gateway \  # 允许容器访问宿主机网络
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \  # 关键配置:指向Ollama服务
  ghcr.io/open-webui/open-webui:main
4. 验证部署
docker ps | grep open-webui  # 查看容器是否运行
curl http://localhost:3000   # 测试服务可达性

二、配置调用Ollama模型

1. 确保Ollama已运行
ollama serve &  # 后台运行Ollama服务
# 检查服务状态
curl http://localhost:11434/api/tags
2. 加载deepseek-70b模型
ollama pull deepseek-70b     # 如果尚未下载模型
ollama run deepseek-70b &   # 后台运行模型
3. Open WebUI界面配置
  1. 访问 http://localhost:3000
  2. 首次使用
    • 创建账号(建议关闭公共注册)
    • 登录后进入聊天界面
  3. 选择模型
    • 点击左下角模型选择框
    • 输入 deepseek-70b 搜索模型
    • 选择后即可开始对话

三、关键配置详解

1. Docker参数解析
参数作用
-p 3000:8080Web界面访问端口
-v open-webui:/app/backend/data保存用户会话和设置
--add-host容器内通过host.docker.internal访问宿主机
-e OLLAMA_BASE_URL指定Ollama API地址
2. 跨容器通信原理
  • host.docker.internal 是Docker的特殊DNS名称,指向宿主机IP
  • 通过该地址访问宿主机的Ollama服务(默认端口11434)

四、常见问题解决

1. 模型未显示在列表中
# 检查Ollama服务是否运行
docker exec open-webui curl -s http://host.docker.internal:11434/api/tags

# 重启服务
docker restart open-webui
2. 性能优化配置
# 带GPU加速的启动命令(需安装NVIDIA驱动)
docker run -d \
  --gpus all \                # 启用GPU支持
  --shm-size=8g \            # 提升共享内存
  ...其他参数同上...
3. 自定义模型参数

在模型选择框输入时,可通过@符号指定参数:

deepseek-70b @temperature=0.7 @seed=123

五、高级配置

1. 安全加固
# 禁用用户注册
docker run -e DISABLE_SIGNUP=true ...

# 设置管理员账号
docker run -e DEFAULT_ADMIN_EMAIL=admin@example.com ...
2. 使用HTTPS
# 添加SSL证书映射
-v /path/to/ssl:/app/backend/certs \
-e SSL_CERT_FILE=/app/backend/certs/fullchain.pem \
-e SSL_KEY_FILE=/app/backend/certs/privkey.pem \
3. 监控日志
docker logs -f open-webui  # 实时查看日志

完成以上步骤后,即可通过浏览器访问 http://localhost:3000 使用 deepseek-70b 模型。如果遇到网络问题,可尝试关闭防火墙:

sudo ufw disable  # 临时关闭防火墙(测试环境)

http://www.niftyadmin.cn/n/5845579.html

相关文章

MyBatis-Plus与PageHelper的jsqlparser库冲突问题

背景介绍 在最近的一个项目中,我们决定将Spring Boot升级至3.x版本,并同时升级了MyBatis-Plus到最新版本(3.5.7)。然而,在完成这些升级之后,我们遇到了一个问题:分页插件PageHelper无法正常工作…

uniapp商城之购物车模块

文章目录 一、列表渲染二、删除单品1.封装删除API2.按钮绑定事件三、修改单品数量1.复用步进器组件2.属性和事件的绑定3.接口封装4.调用接口四、修改商品选中/全选1.单品选中绑定事件调用修改API2.计算全选状态3.绑定事件调用全选API并渲染单品选中状态五、底部结算信息1.计算选…

详解策略模式

引言 实现一个目标往往有多种方式,比如从上海到北京,可以选择高铁、火车、飞机、自驾等等。同样实现一个功能我们可能也有多种方法,把这些方法封装为算法,根据不同的需求选择不同的算法(策略),让…

Java—方法引用

把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体 条件: 1.引用处必须是函数式接口 2.被引用的方法必须已经存在 3.被引用方法的形参和返回值需要跟抽象方法保持一致 4.被引用方法的功能要满足当前需求 ::是什么符…

w~Transformer~合集5

我自己的原文哦~ https://blog.51cto.com/whaosoft/12406495 #transformer~x1 太可怕了都到6了 太强~~ DeepMind 表示,他们提出的算法蒸馏(AD)是首个通过对具有模仿损失的离线数据进行顺序建模以展示上下文强化学习的方法。同时基于观察…

OpenCV:视频背景减除

目录 简述 1. MOG 🔷1.1 主要特点 🔷1.2 代码示例 🔷1.3 运行效果 2. MOG2 🔷2.1 主要特点 🔷2.2 代码示例 🔷2.3 运行效果 3. KNN 4. GMG 5. CNT 6. LSBP 7. 如何选择适合的接口&#xff…

解决Element UI中el-select下拉框因为选项内容过长导致下拉框宽度显示过长问题

在使用el-select下拉框时,当选项的内容过长就会自动撑开下拉框容器,导致下拉框的宽度显示异常,影响页面美观 我们更倾向于下拉框的宽度和el-select组件宽度保持一致 解决方法 1、使用el-select组件的popper-append-to-body属性(推荐) 设置…

RK3568使用C++和FFmpeg进行视频流,并使用自带GPU加速

在RK3568平台上使用C和FFmpeg进行视频流处理时,可以利用GPU加速解码。RK3568芯片集成了Mali-G52 GPU,支持硬件加速的视频解码。以下是一个基本的示例,展示如何使用FFmpeg和RK3568的GPU加速来拉取视频流。 1. 安装FFmpeg和RKMPP 首先&#x…