基于 Ollama+Docker+OpenWebUI 的本地化部署deepseek流程

搭建deepseek

安装Ollama

Ollama官方下载地址

下载完成后双击打开Ollama进行安装,点击install

安装完成后系统会弹出下图提示代表安装成功并且已启动

验证安装

ollama -v

安装完成后,cmd 打开命令行窗口,输入 “ollama -v” 测试,显示 ollama 的版本为 “0.5.7”,表明安装成功。

Ollama 没有用户界面,在后台运行。

打开浏览器,输入 “http://localhost:11434/”,显示 “Ollama is running”。

Ollma 安装 deepseek-r1 模型
deepseek-r1 模型介绍

从 ollama 官网 查找 deepseek-r1 模型。

DeepSeek-R1 提供多个参数版本,不同版本的计算资源需求不同:

模型版本参数量存储需求
1.5B15 亿1.1GB
7B70 亿4.7GB
14B140 亿9GB
32B320 亿20GB
70B700 亿40GB
671B6710 亿500GB

建议: 如果是初次尝试,建议先下载 1.5B 或 7B 版本,跑通整个流程后,再根据硬件配置选择更大的模型。

下载并运行 DeepSeek-R1

在命令行运行以下命令(以 7B 版本为例):

Ollama 会自动下载模型文件并运行。

ollama run deepseek-r1:7b

安装模型的同时可以同时搭建OpenWebUI节约时间

控制台测试

其他版本命令示例:

ollama run deepseek-r1:1.5b  # 1.5B 版本
ollama run deepseek-r1:14b   # 14B 版本
ollama run deepseek-r1:32b   # 32B 版本
ollama run deepseek-r1:70b   # 70B 版本
ollama run deepseek-r1:671b  # 671B 版本
更改默认模型存储路径(可选)

默认情况下,模型会存储在C:\Users\%username%\.ollama\models。 如果想修改路径,例如存储在 C:\Model,可以:

  1. 创建 C:\Model 目录
  2. 在系统环境变量中添加:
    • 变量名:OLLAMA_MODELS
    • 变量值:C:\Model

这样,Ollama 会将模型文件存储在新路径。

我使用的为默认的,没有修改,如下图

搭建OpenWebUI

安装Docker Desktop
  • Windows 版本要求
    • Windows 10 64 位,版本 1903(Build 18362) 或更高。
    • Windows 10 Pro、Enterprise 或 Education 版本(Home 版用户需要启用 WSL2)。
  • 硬件要求
    • 至少 4GB RAM
    • 支持 CPU 虚拟化(VT-x/AMD-V),可以在 BIOS/UEFI 中启用。

前往 Docker 官网下载最新版本的 Docker Desktop:https://www.docker.com/products/docker-desktop

  1. 运行安装程序
    • 下载完成后,双击 Docker Desktop Installer.exe 启动安装。
  2. 配置安装选项
    • 启用 WSL 2(推荐):勾选 “Use the WSL 2 based engine”
    • 启用 Windows 容器(可选):如果需要运行 Windows 容器,可以勾选 “Enable Windows Containers”
  3. 点击“Install”
    • 安装过程会自动进行,大约需要几分钟时间。
  4. 安装完成后,点击“Close and restart”
    • 这会重启系统,使 Docker Desktop 生效。
  5. 运行 docker version 验证安装是否成功

配置国内镜像源

在命令行执行命令 “docker run hello-world”,可能出现报错:

“docker: Error response from daemon. (Client. Timeout exceeded while awaiting headers).”

这是 Docker 守护进程在尝试连接到 Docker Hub(registry-1.docker.io)时,发生连接超时,即尝试访问国外的镜像源失败。

对于这个问题,可以使用国内的镜像源或者相关加速。

进入 docker,选择 Settings – Docker Engine,将镜像源替换如下

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1panel.live",
    "https://registry.docker-cn.com",
    "https://cr.console.aliyun.com",
    "https://mirror.ccs.tencentyun.com"
  ]
}
运行 OpenWebUI(Docker 方式)
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

如果不想换源或者换了也不行可以使用我备份在阿里云的镜像,会下载得快一些

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always registry.cn-hangzhou.aliyuncs.com/zr-dev/open-webui:main

通过docker desktop 查看查看是否持续启动

访问 Open-WebUI 进入 deepseek-r1

在浏览器输入 http://localhost:3000/auth 进行访问。

创建管理员账号并登录

进入 OpenWebUI 主界面

注册完成并登录,就进入 deepseek-r1 模型的首页:

开始使用 DeepSeek-R1

现在,你可以在 OpenWebUI 的聊天界面中,使用本地部署的 DeepSeek-R1 模型进行对话。


以下内容为相关技术栈概述,有兴趣的可以了解一下

Ollama概述

🔹 Ollama 的作用 🚀

Ollama 是一个本地运行大语言模型(LLM)的工具,主要用于简化模型部署和推理。它可以让你在本地 快速下载、运行、管理和调用 LLM,而不需要手动配置复杂的环境。

🔹 Ollama 的核心功能

1️⃣ 运行本地大语言模型

Ollama 允许你直接在本地运行 Llama、Mistral、DeepSeek、Gemma 等模型,无需手动下载 Hugging Face 权重或设置 Python 环境。
示例:

ollama run mistral

这将自动下载并运行 Mistral-7B 模型。


2️⃣ 量化优化(节省显存)

Ollama 使用 GGUF 量化格式(支持 4-bit、8-bit),可以在 低显存显卡(如 8GB 显存) 上流畅运行大模型。
例如,默认使用 mistral

ollama pull mistral
ollama run mistral

这会下载 4-bit 量化模型,使其可以在 8GB VRAM 设备上运行。


3️⃣ 本地 API 服务

Ollama 提供 HTTP API,可以让你像调用 OpenAI API 一样,在本地使用 LLM:

ollama serve

然后你可以用 Python 访问:

import requests

response = requests.post(
    "http://localhost:11434/api/generate",
    json={"model": "mistral", "prompt": "你好!", "stream": False}
)
print(response.json()["response"])

这意味着你可以 本地搭建 ChatGPT 风格的 API,而无需 OpenAI 服务器。


4️⃣ 自定义模型(Modelfile)

你可以通过 Modelfile 自定义模型:

FROM mistral
SYSTEM "你是一个帮助用户写代码的助手"

然后构建:

ollama create my-model -f Modelfile
ollama run my-model

这相当于本地微调 Prompt,适用于 RAG、智能助手、自定义 AI 应用

🔹 Ollama 的适用场景

快速本地运行 LLM(免配置)
在低显存(8GB)设备上运行大模型
本地 API 调用,替代 OpenAI API
微调和自定义 AI 助手
私有部署,保障数据安全


🔹 Ollama vs. 其他本地 LLM 方案

方案适合人群适用场景优势缺点
Ollama新手 & 开发者轻量推理、API易用、自动优化、低门槛自定义能力有限
TextGen WebUI高级用户微调、交互UI 友好、插件多需要手动配置
LM Studio普通用户本地推理UI 操作简单不能微调
vLLM专业用户高效推理性能强、支持批量需要显存大

如果你想要 最简单的本地 LLM 部署方式,Ollama 是最佳选择🚀


OpenWebUI概述

🔹OpenWebUI 是什么

OpenWebUI 是一个 开源的本地 AI 聊天界面,可以连接 Ollama、OpenAI API、GPT-4、Claude 等大模型,让你像 ChatGPT 一样与 AI 交互。

👉 官网:https://github.com/open-webui/open-webui

🔹 OpenWebUI 的核心作用

✅ 1. 作为 ChatGPT 的替代品(本地运行)
  • 你可以用 本地大模型(如 Ollama),完全不依赖 OpenAI 服务器。
  • 数据 100% 本地化,适合隐私保护需求。
  • 提供 与 ChatGPT 类似的 UI,支持 对话历史、提示词管理

✅ 2. 连接 Ollama 本地大模型

如果你已经在本地安装了 Ollama(支持 Llama、DeepSeek、Mistral 等),OpenWebUI 可以作为它的 聊天界面
运行 Ollama:

ollama serve

然后在 OpenWebUI 里添加 Ollama API:

http://localhost:11434

这样你就可以像用 ChatGPT 一样,和本地 AI 互动了。


✅ 3. 连接 OpenAI / 其他 API

如果你有 OpenAI API Key其他 LLM(Claude、Gemini),也可以在 OpenWebUI 里配置:

  • 本地大模型(Ollama, LLaMA, DeepSeek)
  • OpenAI API
  • Claude, Mistral, Gemini 等

你可以自由切换不同的 AI 进行聊天。


✅ 4. 提供 Web 端访问

安装 OpenWebUI 后,你可以在 浏览器访问

http://localhost:3000

或者搭建 远程 AI 聊天服务,让其他人访问你的 AI 助手。


🔹 OpenWebUI 安装指南

方法 1:Docker(推荐)

最简单的方式:

docker run -d --name openwebui -p 3000:3000 -v openwebui_data:/app/data openwebui/openwebui:latest

然后访问:

http://localhost:3000

方法 2:本地手动安装(本文不演示)

去代码仓库拉去代码自行编译安装


🔹 OpenWebUI vs. 其他 WebUI

WebUI适用场景主要特点适配模型
OpenWebUI本地 AI 聊天简单易用,支持 Ollama/OpenAI✅ Ollama, OpenAI, Claude
TextGen WebUI高级微调/推理支持 LoRA、量化、插件丰富✅ GPTQ, GGUF, vLLM
LM Studio轻量 LLM仅支持本地推理✅ Ollama, GGUF
Chatbot UI开发者高度可定制✅ OpenAI API

📌 结论

  • 如果你用 Ollama 本地模型,推荐 OpenWebUI。
  • 如果你需要高级功能(LoRA 微调),推荐 TextGen WebUI。

🔹 适用人群

想在本地运行 AI 聊天(替代 ChatGPT)
使用 Ollama 但不想用命令行
想要简洁的 Web 端聊天界面
需要远程 AI 访问(搭建自己的 ChatGPT)

💡 总结:OpenWebUI = ChatGPT + Ollama + 本地 AI 聊天工具,简单易用,适合个人和团队搭建 私有 AI 助手! 🚀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965884.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mac 部署Ollama + OpenWebUI完全指南

文章目录 💻 环境说明🛠️ Ollama安装配置1. 安装[Ollama](https://github.com/ollama/ollama)2. 启动Ollama3. 模型存储位置4. 配置 Ollama 🌐 OpenWebUI部署1. 安装Docker2. 部署[OpenWebUI](https://www.openwebui.com/)(可视化…

C#常用集合优缺点对比

先上结论&#xff1a; 在C#中&#xff0c;链表、一维数组、字典、List<T>和ArrayList是常见的数据集合类型&#xff0c;它们各有优缺点&#xff0c;适用于不同的场景。以下是它们的比较&#xff1a; 1. 一维数组 (T[]) 优点&#xff1a; 性能高&#xff1a;数组在内存中…

额外题目汇总2-链表

链表 1.24. 两两交换链表中的节点 力扣题目链接(opens new window) 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 思路 使用虚拟头结点会很方便&#xff…

Nginx 中启用 Gzip 压缩以优化网页加载速度

&#x1f3e1;作者主页&#xff1a;点击&#xff01; Nginx-从零开始的服务器之旅专栏&#xff1a;点击&#xff01; &#x1f427;Linux高级管理防护和群集专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2025年2月7日17点14分 目录 1. 配置网页压缩 目的 …

《云夹:高效便捷的书签管理利器》

在信息爆炸的时代&#xff0c;我们每天都会浏览大量的网页&#xff0c;遇到许多有价值的内容。如何高效地管理这些网页书签&#xff0c;以便随时快速访问&#xff0c;成为了一个重要的问题。云夹作为一款出色的书签管理工具&#xff0c;为我们提供了完美的解决方案。 强大的功能…

学习数据结构(6)链表OJ

1.移除链表元素 解法一&#xff1a;&#xff08;我的做法&#xff09;在遍历的同时移除&#xff0c;代码写法比较复杂 解法二&#xff1a;创建新的链表&#xff0c;遍历原链表&#xff0c;将非val的节点尾插到新链表&#xff0c;注意&#xff0c;如果原链表结尾是val节点需要将…

MongoDB开发规范

分级名称定义P0核心系统需7*24不间断运行&#xff0c;一旦发生不可用&#xff0c;会直接影响核心业务的连续性&#xff0c;或影响公司名誉、品牌、集团战略、营销计划等&#xff0c;可能会造成P0-P2级事故发生。P1次核心系统这些系统降级或不可用&#xff0c;会间接影响用户使用…

设计模式.

设计模式 一、介绍二、六大原则1、单一职责原则&#xff08;Single Responsibility Principle, SRP&#xff09;2、开闭原则&#xff08;Open-Closed Principle, OCP&#xff09;3、里氏替换原则&#xff08;Liskov Substitution Principle, LSP&#xff09;4、接口隔离原则&am…

STM32的HAL库开发-通用定时器输入捕获实验

一、通用定时器输入捕获部分框图介绍 1、捕获/比较通道的输入部分(通道1) 首先设置 TIM_CCMR1的CC1S[1:0]位&#xff0c;设置成01&#xff0c;那么IC1来自于TI1&#xff0c;也就是说连接到TI1FP1上边。设置成10&#xff0c;那个IC1来自于TI2&#xff0c;连接到TI2FP1上。设置成…

JavaScript 复习

文章目录 语法前置语法组成引入位置内部引入外部引入 基础语法输出变量变量声明规则变量赋值变量的作用范围 数据类型强制类型转换强转为 Number强转为 Boolean强转为 String强转为 整数 | 浮点数 运算符流程控制隐式转换函数常用内置对象String 对象Array 数组对象Math 数学对…

【C】链表算法题5 -- 相交链表

leetcode链接https://leetcode.cn/problems/intersection-of-two-linked-lists/description/https://leetcode.cn/problems/intersection-of-two-linked-lists/description/ 题目描述 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节…

蓝桥杯准备 【入门3】循环结构

素数小算法&#xff08;埃氏筛&&欧拉筛&#xff09; 以下四段代码都是求20以内的所有素数 1.0版求素数 #include<iostream> using namespace std;int main() {int n 20;for(int i2;i<n;i){int j0;for(j2;j<i;j)//遍历i{if(i%j0){break;}}if(ij){cout&l…

寒假2.6--SQL注入之布尔盲注

知识点 原理&#xff1a;通过发送不同的SQL查询来观察应用程序的响应&#xff0c;进而判断查询的真假&#xff0c;并逐步推断出有用的信息 适用情况&#xff1a;一个界面存在注入&#xff0c;但是没有显示位&#xff0c;没有SQL语句执行错误信息&#xff0c;通常用于在无法直接…

Servlet笔记(下)

HttpServletRequest对象相关API 获取请求行信息相关(方式,请求的url,协议及版本) | API | 功能解释 | | ----------------------------- | ------------------------------ | | StringBuffer getRequestURL(); | 获取客户端…

QQ自动发送消息

QQ自动发送消息 python包导入 import time import pandas as pd import pyautogui import pyperclip图像识别函数封装 本程序使用pyautogui模块控制鼠标和键盘来实现QQ自动发送消息&#xff0c;因此必须得到需要点击位置的坐标&#xff08;当然也可以在程序中将位置写死&…

5.1计算机网络基本知识

5.1.1计算机网络概述 目前&#xff0c;三网融合(电信网络、有线电视网络和计算机网络)和宽带化是网络技术的发展的大方向&#xff0c;其应用广泛&#xff0c;遍及智能交通、环境保护、政府工作、公共安全、平安家居等多个领域&#xff0c;其中发展最快的并起到核心作用的则是计…

51单片机之冯·诺依曼结构

一、概述 8051系列单片机将作为控制应用最基本的内容集成在一个硅片上&#xff0c;其内部结构如图4-1所示。作为单一芯片的计算机&#xff0c;它的内部结构与一台计算机的主机非常相似。其中微处理器相当于计算机中的CPU&#xff0c;由运算器和控制器两个部分构成&#xff1b;…

13.PPT:诺贝尔奖【28】

目录 NO1234 NO567 NO8/9/10 NO11/12 NO1234 设计→变体→字体→自定义字体 SmartArt超链接新增加节 NO567 版式删除图片中的白色背景&#xff1a;选中图片→格式→删除背景→拖拉整个图片→保留更改插入→图表→散点图 &#xff1a;图表图例、网格线、坐标轴和图表标题…

RabbitMQ 从入门到精通:从工作模式到集群部署实战(一)

#作者&#xff1a;闫乾苓 文章目录 RabbitMQ简介RabbitMQ与VMware的关系架构工作流程RabbitMQ 队列工作模式及适用场景简单队列模式&#xff08;Simple Queue&#xff09;工作队列模式&#xff08;Work Queue&#xff09;发布/订阅模式&#xff08;Publish/Subscribe&#xff…

DFX(Design for eXcellence)架构设计全解析:理论、实战、案例与面试指南*

一、什么是 DFX &#xff1f;为什么重要&#xff1f; DFX&#xff08;Design for eXcellence&#xff0c;卓越设计&#xff09;是一种面向产品全生命周期的设计理念&#xff0c;旨在确保产品在设计阶段就具备**良好的制造性&#xff08;DFM&#xff09;、可测试性&#xff08;…