当前位置: 首页 > article >正文

Ollama + Open WebUI 本地部署DeepSeek

文章目录

  • 前言
  • 一、环境准备
      • 最低系统要求
      • 必要软件
  • 二、安装 Ollama
      • 通过 Docker 部署
      • 验证安装
  • 三、部署 Open WebUI
      • 快速启动
      • 配置说明
  • 四、加载 DeepSeek 模型
      • 通过 Ollama 拉取模型
      • 支持模型列表
  • 五、使用 Web 界面交互
      • 首次使用
      • 功能特性
  • 六、高级配置
      • GPU 加速(NVIDIA)
      • 多模型管理
  • 七、常见问题
      • 模型加载失败
      • WebUI 无法连接 Ollama
  • 八、安全建议
  • 总结


前言

  由于官网的deepseek经常问一个问题回答后经常处于繁忙状态,所以为了避免这种情况我们可以自己在本地部署个deepseek进行使用,我们可以本地使用Ollama和Open WebUI部署DeepSeek模型。deepseek模型有多个版本,相应对配置要求也不一样,要想获得最好的体验,这需要非常高的配置。


一、环境准备

最低系统要求

组件要求
操作系统Windows 10/11, macOS 12+, Ubuntu 20.04+
处理器支持 AVX2 的 x86_64 CPU(Intel/AMD)
内存16GB(7B 模型) / 32GB+(更大模型)
存储至少 50GB 可用空间
GPU(可选)NVIDIA GPU(需 CUDA 11+)

必要软件

  1. Docker Desktop
    官方下载地址
    安装后需启用 Linux 容器(Windows)并分配至少 8GB 内存

  2. Git(可选)
    用于克隆 Open WebUI 仓库:

    sudo apt install git  # Ubuntu
    brew install git     # macOS
    
    

二、安装 Ollama

通过 Docker 部署

# 创建持久化存储卷
docker volume create ollama_data

# 启动 Ollama 容器
docker run -d \
  --name ollama \
  -p 11434:11434 \
  -v ollama_data:/root/.ollama \
  --restart unless-stopped \
  ollama/ollama

验证安装

docker logs ollama | grep "Listening"
# 应显示:Listening on [::]:11434

三、部署 Open WebUI

快速启动

docker run -d \
  --name open-webui \
  -p 3000:8080 \
  -e OLLAMA_API_BASE_URL=http://host.docker.internal:11434 \
  -v open-webui:/app/backend/data \
  --restart unless-stopped \
  ghcr.io/open-webui/open-webui:main

配置说明

  • OLLAMA_API_BASE_URL: Ollama 服务的地址
  • -v open-webui:/app/backend/data: 持久化聊天记录和用户数据
  • 访问地址:http://localhost:3000

四、加载 DeepSeek 模型

通过 Ollama 拉取模型

# 查看可用模型
curl http://localhost:11434/api/tags

# 拉取 DeepSeek 模型(示例)
docker exec ollama ollama pull deepseek-ai/deepseek-math-7b-base

支持模型列表

模型名称大小推荐配置
deepseek-7b13GB16GB RAM
deepseek-math-7b13GB16GB RAM
deepseek-coder-7b13GB16GB RAM

五、使用 Web 界面交互

首次使用

  1. 访问 http://localhost:3000
  2. 创建账户(首次会自动注册管理员账户)
  3. 在模型选择栏选择已加载的 DeepSeek 模型

功能特性

  • 对话模式:支持多轮上下文对话
  • 参数调整
    temperature: 0.7  # 控制随机性 (0-1)
    top_p: 0.9        # 输出多样性
    max_tokens: 2048  # 最大生成长度
    
  • 文件上传:支持 PDF/TXT 文件分析
  • 提示词库:内置常用提示模板

六、高级配置

GPU 加速(NVIDIA)

# 先安装 NVIDIA 容器工具包
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
  && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 重启容器时添加 GPU 支持
docker run --gpus all -d ... ollama/ollama

多模型管理

# 查看已下载模型
docker exec ollama ollama list

# 删除模型
docker exec ollama ollama rm deepseek-7b

七、常见问题

模型加载失败

现象Error: insufficient memory
解决

  1. 调整 Docker 内存限制至 16GB+
  2. 使用量化模型(添加 -q4 后缀):
    ollama pull deepseek-7b-q4_0
    

WebUI 无法连接 Ollama

  1. 检查容器网络:
    docker network inspect bridge
    
  2. 测试 API 连通性:
    curl http://host.docker.internal:11434/api/tags
    

八、安全建议

  1. 身份验证
    在 Open WebUI 的启动命令中添加:

    -e WEBUI_SECRET_KEY=your_secure_key
    
  2. 网络隔离
    使用自定义 Docker 网络:

    docker network create ai-net
    docker run --network ai-net ... ollama/ollama
    docker run --network ai-net ... open-webui
    
  3. 防火墙规则
    仅允许本地访问:

    ufw allow from 127.0.0.1 to any port 3000
    

总结

通过本教程,您已经实现了:

  1. 基于 Docker 的 Ollama 服务部署
  2. Open WebUI 可视化界面搭建
  3. DeepSeek 系列模型的加载与测试

扩展建议

  • 结合 LangChain 构建复杂 AI 应用
  • 使用 NGINX 添加 HTTPS 支持
  • 配置定时模型更新任务(需修改 Ollama 容器)

如需更新 Open WebUI,运行:

docker compose pull open-webui && docker compose up -d

官方文档参考 | Ollama 模型库


http://www.kler.cn/a/592240.html

相关文章:

  • test_cases测试用例层/test_1_login
  • 2023 CSP-J 题解
  • 蓝桥杯练习day2:执行操作后的变化量
  • redis分布式锁实现Redisson+redlock中watch dog是如何判断当前线程是否持有锁进行续租的呢?
  • 事务隔离级别是?
  • kotlin 中的构造函数的作用
  • 黑盒问题的操作优化
  • TPAMI-2025 | 中山大学具身导航参数高效训练!NavCoT:通过解耦推理提升基于大模型的视觉语言导航
  • Python列表1
  • hexo+git pages搭建网站避坑QAQ
  • 基于BCLinux制作Apache HTTPD 2.4.63 的RPM安装包
  • JAVA-多线程join()等待一个线程
  • 精细护理:为进行性核上性麻痹患者筑牢生活防线
  • stm32第七天震动传感器
  • NLP高频面试题(四)——BN和LN的区别与联系,为什么attention要用LN
  • 五、AIGC大模型_09手动实现ReAct_Agent
  • linux /bin/bash丢失修复
  • Mac:Maven 下载+安装+环境配置(详细讲解)
  • 动态规划合集——动态规划基本原理
  • 蓝桥杯 - 中等 - 新手引导