跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI算法

本地大语言模型部署实战:Ollama + Open WebUI

综述由AI生成使用 Ollama 和 Open WebUI 在本地部署大语言模型的完整流程。涵盖环境准备、Docker 部署方式、模型选择与下载、Web 界面配置以及 Docker Compose 一键部署方案。同时提供了 GPU 加速配置、自定义模型参数及 Python API 调用示例,适合开发者进行私有化部署或本地调试。

邪神洛基发布于 2026/4/5更新于 2026/6/1150 浏览

简介

本文介绍如何在本地电脑部署专属大语言模型系统,无需联网或付费 API。

技术栈: Ollama(模型运行)+ Open WebUI(Web 界面)+ DeepSeek/LLaMA(大模型)

适用场景:

  • 个人开发者本地调试 AI 应用
  • 企业内网私有化部署,数据不出网
  • 学习研究大模型原理
  • 搭建专属 AI 助手

一、架构介绍

在开始部署之前,我们先了解一下整体架构:

组件作用端口
Ollama大模型运行引擎,负责模型加载和推理11434
Open WebUI类 ChatGPT 的 Web 界面,提供对话功能8080
模型文件DeepSeek、LLaMA 等大语言模型-

二、环境准备

2.1 硬件要求

模型大小最低内存推荐内存GPU(可选)
7B 参数8GB16GB6GB 显存
14B 参数16GB32GB12GB 显存
70B 参数64GB128GB48GB 显存

2.2 软件要求

# 检查 Docker 是否安装
docker --version
# 如果未安装,请先安装 Docker
# Windows/Mac: 下载 Docker Desktop
# Ubuntu: sudo apt install docker.io docker-compose

三、Ollama 部署(核心组件)

3.1 方式一:直接安装(推荐新手)

Windows 安装:

  1. 访问官网下载安装包:https://ollama.com/download
  2. 双击安装,一路下一步
  3. 打开命令行验证安装
# 验证安装
ollama --version
# 输出示例
ollama version is 0.1.27

Linux/macOS 安装:

# 一键安装脚本
curl -fsSL https://ollama.com/install.sh | sh
# 验证安装
ollama --version

3.2 方式二:Docker 部署(推荐生产环境)

# 拉取 Ollama 镜像
docker pull ollama/ollama:latest
# 创建数据目录(持久化模型文件)
mkdir -p ~/ollama-data
# 启动 Ollama 容器
docker run -d \
  --name ollama \
  --restart unless-stopped \
  -p 11434:11434 \
  -v ~/ollama-data:/root/.ollama \
  ollama/ollama:latest
# 查看运行状态
docker ps | grep ollama
# 输出示例
# abc123 ollama/ollama Up 2 minutes 0.0.0.0:11434->11434/tcp ollama

3.3 验证 Ollama 是否正常运行

# 测试 API 是否可用
curl http://localhost:11434/api/tags
# 如果返回 JSON 格式的模型列表,说明运行正常
# {"models":[]}

四、下载并运行第一个模型

4.1 选择合适的模型

模型名称参数量文件大小特点
llama3.2:3b3B~2GB轻量级,适合低配机器
llama3.1:8b8B~4.7GB平衡性能与资源
deepseek-r1:7b7B~4GB中文能力强,推理优秀
qwen2.5:7b7B~4.5GB阿里开源,中文友好
mistral:7b7B~4GB欧洲开源模型,性能优秀

4.2 下载模型

# 下载 DeepSeek R1 7B 模型(推荐中文用户)
ollama pull deepseek-r1:7b
# 下载 LLaMA 3.1 8B 模型
ollama pull llama3.1:8b
# 下载 Qwen 2.5 7B 模型
ollama pull qwen2.5:7b
# 下载过程示例
# pulling manifest
# pulling 6a4b3c2d... 100% |████████████| 4.0 GB / 4.0 GB
# verifying sha256 digest
# writing manifest
# success

4.3 命令行对话测试

# 运行模型进入对话模式
ollama run deepseek-r1:7b
# 对话示例
>>> 你好,请用中文介绍一下你自己
我是 DeepSeek,一个由深度求索公司开发的大语言模型...

4.4 API 调用测试

# 使用 curl 调用 API
curl http://localhost:11434/api/generate -d '{ "model": "deepseek-r1:7b", "prompt": "请用一句话介绍 Python 语言", "stream": false }'
# 返回示例
# {"model":"deepseek-r1:7b","response":"Python 是一种简洁、易读的高级编程语言..."}

五、Open WebUI 部署(可视化界面)

虽然命令行可以对话,但体验不够友好。Open WebUI 提供了类似 ChatGPT 的 Web 界面,支持多轮对话、历史记录、Markdown 渲染等功能。

5.1 Docker 部署 Open WebUI

# 拉取 Open WebUI 镜像
docker pull ghcr.io/open-webui/open-webui:main
# 启动容器(连接 Ollama)
docker run -d \
  --name open-webui \
  --restart unless-stopped \
  -p 8080:8080 \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  -v ~/open-webui-data:/app/backend/data \
  ghcr.io/open-webui/open-webui:main
# 如果 Ollama 也在 Docker 中运行,使用网络连接
docker run -d \
  --name open-webui \
  --restart unless-stopped \
  -p 8080:8080 \
  --network host \
  -e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
  -v ~/open-webui-data:/app/backend/data \
  ghcr.io/open-webui/open-webui:main

5.2 访问 Web 界面

打开浏览器访问:http://localhost:8080

  1. 首次访问需要注册账号(本地存储,无需联网)
  2. 登录后选择模型(如 deepseek-r1:7b)
  3. 开始对话!

六、Docker Compose 一键部署(完整方案)

为了方便管理,我们可以使用 Docker Compose 同时部署 Ollama 和 Open WebUI。

6.1 创建配置文件

# 创建项目目录
mkdir -p ~/ollama-stack && cd ~/ollama-stack
# 创建 docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
  # Ollama 服务
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    ports:
      - "11434:11434"
    volumes:
      - ./ollama-data:/root/.ollama
    environment:
      - TZ=Asia/Shanghai
    deploy:
      resources:
        reservations:
          memory: 8G
  # Open WebUI 服务
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./open-webui-data:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - TZ=Asia/Shanghai
    depends_on:
      - ollama
volumes:
  ollama-data:
  open-webui-data:
EOF

6.2 启动服务

# 启动所有服务
docker compose up -d
# 查看服务状态
docker compose ps
# 输出示例
# NAME STATUS PORTS
# ollama running 0.0.0.0:11434->11434/tcp
# open-webui running 0.0.0.0:8080->8080/tcp
# 查看日志
docker compose logs -f

6.3 下载模型

# 进入 Ollama 容器下载模型
docker exec -it ollama ollama pull deepseek-r1:7b
# 查看已下载的模型
docker exec -it ollama ollama list
# 输出示例
# NAME ID SIZE MODIFIED
# deepseek-r1:7b abc123def456 4.0 GB 2 minutes ago

七、高级配置

7.1 GPU 加速(NVIDIA)

# 检查 NVIDIA Docker 支持
docker run --rm --gpus all nvidia/cuda:11.8-base nvidia-smi

修改 docker-compose.yml,添加 GPU 支持:

services:
  ollama:
    image: ollama/ollama:latest
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

7.2 配置模型参数

# 创建 Modelfile 自定义模型
cat > Modelfile << 'EOF'
FROM deepseek-r1:7b
# 设置系统提示词
SYSTEM 你是一个专业的 AI 助手,擅长中文对话。
# 设置参数
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
PARAMETER top_p 0.9
# 设置停止词
PARAMETER stop "<|im_end|>"
PARAMETER stop "<|im_start|>"
EOF
# 创建自定义模型
ollama create my-assistant -f Modelfile
# 运行自定义模型
ollama run my-assistant

7.3 API 集成示例(Python)

import requests
import json

def chat_with_ollama(prompt, model="deepseek-r1:7b"):
    """调用 Ollama API 进行对话"""
    url = "http://localhost:11434/api/chat"
    payload = {
        "model": model,
        "messages": [
            {"role": "user", "content": prompt}
        ],
        "stream": False
    }
    response = requests.post(url, json=payload)
    result = response.json()
    return result["message"]["content"]

# 使用示例
if __name__ == "__main__":
    answer = chat_with_ollama("请解释什么是机器学习?")
    print(answer)

八、常见问题排查

Q1: 模型下载太慢怎么办?

# 使用国内镜像加速(如果有的话)
# 或者手动下载模型文件后导入
# 查看下载进度
ollama pull deepseek-r1:7b --insecure

Q2: 内存不足怎么办?

# 使用更小的量化模型
ollama pull deepseek-r1:1.5b
# 1.5B 参数,仅需 2GB 内存
# 或者在启动时限制内存
docker run -d --memory="4g" --name ollama ollama/ollama

Q3: Open WebUI 无法连接 Ollama?

# 检查 Ollama 是否运行
curl http://localhost:11434/api/tags
# 检查容器网络
docker network inspect bridge
# 重启服务
docker compose restart

Q4: 如何更新模型?

# 更新到最新版本
ollama pull deepseek-r1:7b
# 删除旧模型
ollama rm deepseek-r1:7b

九、总结

通过本指南,你已经学会了:

  • ✅ 使用 Docker 部署 Ollama 大模型引擎
  • ✅ 下载和运行主流开源大模型(DeepSeek、LLaMA、Qwen)
  • ✅ 部署 Open WebUI 获得 ChatGPT 体验
  • ✅ 使用 Docker Compose 一键部署完整方案
  • ✅ Python API 集成调用
相关资源
  • Ollama 官网:https://ollama.com
  • Open WebUI:https://github.com/open-webui/open-webui
  • 模型库:https://ollama.com/library
  • DeepSeek:https://github.com/deepseek-ai

目录

  1. 简介
  2. 一、架构介绍
  3. 二、环境准备
  4. 2.1 硬件要求
  5. 2.2 软件要求
  6. 检查 Docker 是否安装
  7. 如果未安装,请先安装 Docker
  8. Windows/Mac: 下载 Docker Desktop
  9. Ubuntu: sudo apt install docker.io docker-compose
  10. 三、Ollama 部署(核心组件)
  11. 3.1 方式一:直接安装(推荐新手)
  12. 验证安装
  13. 输出示例
  14. 一键安装脚本
  15. 验证安装
  16. 3.2 方式二:Docker 部署(推荐生产环境)
  17. 拉取 Ollama 镜像
  18. 创建数据目录(持久化模型文件)
  19. 启动 Ollama 容器
  20. 查看运行状态
  21. 输出示例
  22. abc123 ollama/ollama Up 2 minutes 0.0.0.0:11434->11434/tcp ollama
  23. 3.3 验证 Ollama 是否正常运行
  24. 测试 API 是否可用
  25. 如果返回 JSON 格式的模型列表,说明运行正常
  26. {"models":[]}
  27. 四、下载并运行第一个模型
  28. 4.1 选择合适的模型
  29. 4.2 下载模型
  30. 下载 DeepSeek R1 7B 模型(推荐中文用户)
  31. 下载 LLaMA 3.1 8B 模型
  32. 下载 Qwen 2.5 7B 模型
  33. 下载过程示例
  34. pulling manifest
  35. pulling 6a4b3c2d... 100% |████████████| 4.0 GB / 4.0 GB
  36. verifying sha256 digest
  37. writing manifest
  38. success
  39. 4.3 命令行对话测试
  40. 运行模型进入对话模式
  41. 对话示例
  42. 4.4 API 调用测试
  43. 使用 curl 调用 API
  44. 返回示例
  45. {"model":"deepseek-r1:7b","response":"Python 是一种简洁、易读的高级编程语言..."}
  46. 五、Open WebUI 部署(可视化界面)
  47. 5.1 Docker 部署 Open WebUI
  48. 拉取 Open WebUI 镜像
  49. 启动容器(连接 Ollama)
  50. 如果 Ollama 也在 Docker 中运行,使用网络连接
  51. 5.2 访问 Web 界面
  52. 六、Docker Compose 一键部署(完整方案)
  53. 6.1 创建配置文件
  54. 创建项目目录
  55. 创建 docker-compose.yml
  56. Ollama 服务
  57. Open WebUI 服务
  58. 6.2 启动服务
  59. 启动所有服务
  60. 查看服务状态
  61. 输出示例
  62. NAME STATUS PORTS
  63. ollama running 0.0.0.0:11434->11434/tcp
  64. open-webui running 0.0.0.0:8080->8080/tcp
  65. 查看日志
  66. 6.3 下载模型
  67. 进入 Ollama 容器下载模型
  68. 查看已下载的模型
  69. 输出示例
  70. NAME ID SIZE MODIFIED
  71. deepseek-r1:7b abc123def456 4.0 GB 2 minutes ago
  72. 七、高级配置
  73. 7.1 GPU 加速(NVIDIA)
  74. 检查 NVIDIA Docker 支持
  75. 7.2 配置模型参数
  76. 创建 Modelfile 自定义模型
  77. 设置系统提示词
  78. 设置参数
  79. 设置停止词
  80. 创建自定义模型
  81. 运行自定义模型
  82. 7.3 API 集成示例(Python)
  83. 使用示例
  84. 八、常见问题排查
  85. Q1: 模型下载太慢怎么办?
  86. 使用国内镜像加速(如果有的话)
  87. 或者手动下载模型文件后导入
  88. 查看下载进度
  89. Q2: 内存不足怎么办?
  90. 使用更小的量化模型
  91. 1.5B 参数,仅需 2GB 内存
  92. 或者在启动时限制内存
  93. Q3: Open WebUI 无法连接 Ollama?
  94. 检查 Ollama 是否运行
  95. 检查容器网络
  96. 重启服务
  97. Q4: 如何更新模型?
  98. 更新到最新版本
  99. 删除旧模型
  100. 九、总结
  101. 相关资源
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Python 入门:开发环境与虚拟环境配置指南
  • Prompt 工程核心:两条极简原则与实践指南
  • Python 爬虫实战:音乐平台歌曲信息采集与处理
  • Stable Diffusion:AI 图像生成技术的变革者
  • AI 技术应用学习路径与职业认证指南
  • AI 时代如何脱颖而出:商业认知与行动指南
  • Java 后端实习复盘:企业级权限、缓存与并发实践
  • 2025 年 AIGC 六大核心趋势与落地场景解析
  • Coze 智能体开发:插件、知识库与数据库全解析
  • OpenClaw QQ 机器人接入指南
  • FPGA 光通信开发:Aurora 64B/66B 使用指南
  • MySQL 动态分区管理:自动化与优化实践
  • AI 辅助前端设计工作流:独立完成产品从原型到代码的全流程
  • C++ 核心概念与面试知识点梳理
  • OpenAkita:支持自我进化的开源 AI 助手框架
  • OpenClaw 开源汉化版安装与配置指南
  • 大厂为何对大模型投入变得谨慎?
  • 三款主流云电脑部署 DeepSeek 模型性能对比评测
  • 基于 OpenCV 与 C++ 的 ISBN 图像识别系统实现
  • Git 连接 GitHub 失败:Failed to connect to port 443 排查与解决

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online