从零部署本地大语言模型:Ollama + Open WebUI 完整实战指南(附详细步骤和代码)

前言

在 AI 大模型爆发的今天,你是否也想在自己的电脑上运行一个专属的大语言模型?本指南将手把手教你从零开始部署一套完整的本地 AI 对话系统,让你无需联网、无需付费 API,就能享受 AI 带来的便利。

技术栈: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 # pulling 5e8f7d9a... 100% |████████████| 32 KB / 32 KB # 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 集成调用

相关资源

如果本文对你有帮助,欢迎点赞收藏!有问题欢迎评论区交流 👇

Read more

开启AI绘画 “工作流时代” 的神奇应用----Comfy UI | 使用CNB平台搭建ComfyUI

开启AI绘画 “工作流时代” 的神奇应用----Comfy UI | 使用CNB平台搭建ComfyUI

文章目录 * 概要 * 操作流程 概要 ComfyUI 是一款基于节点流程的可视化 AI 生成工具,核心围绕 Stable Diffusion 等主流生成式 AI 算法构建,通过图形化节点拆解生成全流程,实现从文本 / 图像输入到图像 / 视频输出的 “精准可控创作”。 腾讯云 CNB(Cloud Native Build,官网:cnb.cool)是基于 Docker 生态的云原生开发协作平台,核心定位是通过容器化技术与资源池化能力,为开发者提供 “一键就绪” 的远程开发环境,尤其聚焦开源项目协作与 AI 工具落地,无需本地配置复杂硬件与环境即可开展开发、测试与创作。链接:cnb 操作流程 接下来展示使用腾讯云cnb搭建comfyui的流程: (1)到CNB网站 fork 项目 链接:cnb 可以直接使用已经搭建好的comfyui

【Microi吾码】 发现Microi吾码:低代码世界的超级英雄 ‍

【Microi吾码】 发现Microi吾码:低代码世界的超级英雄 ‍

🚀 发现Microi吾码:低代码世界的超级英雄 🦸‍♂️ 目录 🚀 发现Microi吾码:低代码世界的超级英雄 🦸‍♂️ 🌟 无拘无束的创作空间 🌈 跨平台跨数据库的无缝体验 代码示例:跨数据库连接 🚀 分布式架构的轻松部署 代码示例:Docker部署 🎨 界面自定义与SaaS引擎的完美结合 代码示例:自定义界面 ⚙️ 表单和接口引擎的高效协同 代码示例:接口引擎使用V8脚本 🔒 工作流和权限控制的精细管理 代码示例:工作流引擎配置 🔐 单点登录与移动端开发的便捷性 代码示例:单点登录集成 🏁 结语 作为一名对技术充满热情的业务分析师,我一直在寻找一个能够快速实现创意、满足我们多样化业务需求的平台。🔍 在这个快速变化的数字世界中,我找到了Microi吾码——一个开源的低代码平台,它以其卓越的性能和灵活性,成为了我日常工作中的得力助手。👩‍💻💼 🌟 无拘无束的创作空间 在我使用Microi吾码之前,我常常受限于平台的各种使用限制,比如用户数、表单数等。Microi吾码的无限制使用政策让我彻底摆脱了这些束缚。💥

Android陀螺仪实战:从基础到VR运动策略封装

1. 陀螺仪基础:从传感器数据到三维旋转 大家好,我是老张,在移动端和智能硬件领域摸爬滚打了十几年,今天想和大家聊聊 Android 陀螺仪。很多刚接触的朋友会觉得这东西很神秘,什么角速度、姿态解算,听起来就头大。其实没那么复杂,你可以把陀螺仪想象成一个特别灵敏的“旋转速度计”。当你拿着手机转动时,它就能立刻告诉你:“嘿,你现在正绕着X轴,以每秒0.5弧度的速度在转呢!” 在 Android 里,我们通过 SensorManager 这个“大管家”来和陀螺仪打交道。第一步永远是获取服务,这就像你去银行办事得先取号一样。拿到 SensorManager 后,我们就能查询设备上有没有陀螺仪(Sensor.TYPE_GYROSCOPE)。现在绝大多数手机都有,但稳妥起见,检查一下总是好的。接下来就是注册一个监听器,告诉系统:“我准备好接收旋转数据了,有新数据就赶紧通知我。” 这里有个关键参数叫采样延迟,比如 SENSOR_DELAY_

Sublime配置verilog开发环境-具备语法高亮、代码补全、自定义代码段及语法检查等功能,提升FPGA开发效率!

Sublime配置verilog开发环境-具备语法高亮、代码补全、自定义代码段及语法检查等功能,提升FPGA开发效率!

对于在学习FPGA开发之前使用过其他集成开发工具如VS、pycharm、keil或编辑工具如Sublime、VScode、Notepad的朋友,在使用Vivado时可能会像博主一样感觉自带编辑器用起来不太舒服,比如不支持语法高亮显示,不支持代码自动补全等功能。因次,使用第三方编辑器来编写Verilog代码是很有必要的。 本文将详细介绍如何在文本编辑器Sublime中配置verilog开发环境,最终实现语法高亮、代码补全、自定义代码段及语法检查等功能,使得可以在Sublime中高效编写verilog代码,大幅提升FPGA开发效率!附带自己在配置中的踩坑经验,希望朋友们按着下面的流程走可以一步配置到位!下面两图为使用Vivado编写代码及使用Sublime编写代码的对比图。 1.Sublime的介绍与安装配置         Sublime Text,是一款由 Sublime HQ 开发的跨平台轻量级代码编辑器,以 “启动快、插件丰富、自定义性强” 为核心特点,广泛用于代码编写、文本编辑和开发效率提升,支持 Windows、macOS、Linux 三大操作系统。