部署open webui 调用ollama启动的deepseek

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


一、部署 Open WebUI

1. 安装Docker(如已安装可跳过)
bash 复制代码
# 自动安装Docker
curl -fsSL https://get.docker.com | sh
# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
2. 拉取Open WebUI镜像
bash 复制代码
docker pull ghcr.io/open-webui/open-webui:main
3. 启动Open WebUI容器
bash 复制代码
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. 验证部署
bash 复制代码
docker ps | grep open-webui  # 查看容器是否运行
curl http://localhost:3000   # 测试服务可达性

二、配置调用Ollama模型

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

三、关键配置详解

1. Docker参数解析
参数 作用
-p 3000:8080 Web界面访问端口
-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. 模型未显示在列表中
bash 复制代码
# 检查Ollama服务是否运行
docker exec open-webui curl -s http://host.docker.internal:11434/api/tags

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

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

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

五、高级配置

1. 安全加固
bash 复制代码
# 禁用用户注册
docker run -e DISABLE_SIGNUP=true ...

# 设置管理员账号
docker run -e DEFAULT_ADMIN_EMAIL=admin@example.com ...
2. 使用HTTPS
bash 复制代码
# 添加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. 监控日志
bash 复制代码
docker logs -f open-webui  # 实时查看日志

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

bash 复制代码
sudo ufw disable  # 临时关闭防火墙(测试环境)
相关推荐
程序员林北北1 小时前
【Golang学习之旅】gRPC 与 REST API 的对比及应用
java·开发语言·后端·学习·云原生·golang
小胖子——鑫3 小时前
对“云原生”的初印象
java·开发语言·云原生
NineData3 小时前
NineData云原生智能数据管理平台新功能发布|2025年1月版
数据库·人工智能·云原生·oracle·ninedata
阿里云云原生3 小时前
从大规模恶意攻击 DeepSeek 事件看 AI 创新隐忧:安全可观测体系建设刻不容缓
阿里云·云原生
斯普信专业组3 小时前
从零到一:基于Rook构建云原生Ceph存储的全面指南(下)
ceph·云原生
Lansonli3 小时前
云原生(五十四) | RDS数据导入与导出
云原生
CopyLower4 小时前
ZooKeeper 技术全解:概念、功能、文件系统与主从同步
分布式·zookeeper·云原生
程序员JerrySUN5 小时前
DFX(Design for eXcellence)架构设计全解析:理论、实战、案例与面试指南*
linux·运维·嵌入式硬件·docker·eureka
阿里云云原生6 小时前
从云原生到 AI 原生,谈谈我经历的网关发展历程和趋势
人工智能·云原生
我没想到原来他们都是一堆坏人7 小时前
在微服务中,如何使用feign在各个微服务中进行远程调用
微服务·云原生·架构