最新本地部署 DeepSeekR1 蒸馏\满血量化版 + WebOpenUI 完整教程(Ubuntu\Linux系统\Ollama)

embedded/2025/2/22 23:51:03/

测试机为6133CPU(40Cores)+256G D4+4*4090D 24G
一种方法是部署蒸馏版Distill模型。一种是部署Huggingface上unsloth的量化版模型

llama_2">Ollama及模型安装

llama_3">1.下载并安装ollama

curl -fsSL https://ollama.com/install.sh | sh

如果下载不动可以试试挂梯子或者再试几次
挂代理代码:

export HTTP_PROXY="http://xxx:xxx"
export HTTPS_PROXY="http://xxx:xxx"

2. 安装Deepseek模型

这里根据自己的实际配置选择对应的模型
在这里插入图片描述
有多种可选择:https://ollama.com/library/deepseek-r1
在这里插入图片描述

我选择的是70B

ollama run deepseek-r1:70b

下载时间可能会较长

安装完成后可以使用同样的命令来启动本地对话

3.更改监听端口(如需外网访问)

vim /etc/systemd/system/ollama.service

改成这样:

即添加一个:Environment=“OLLAMA_HOST=0.0.0.0”

随后执行

sudo systemctl daemon-reload 
sudo systemctl restart ollama

如需外网访问,还需要检查防火墙是否放开11434端口。

4.API测试

本地访问127.0.0.1:11434

curl http://127.0.0.1:11434

会出现 ollama is running的提示

外网可通过IP:11434访问

量化版部署

还有一种是在671B上面量化的版本,理论上比前面的蒸馏版要好一点,但是很麻烦

1.下载

https://huggingface.co/unsloth/DeepSeek-R1-GGUF
在这里插入图片描述
DeepSeek-R1-UD-IQ1_M:内存 + 显存 ≥ 200 GB
DeepSeek-R1-UD-IQ2_XXS:内存 + 显存 > 300GB
DeepSeek-R1-Q4_K_M:内存 + 显存 ≥ 500 GB

我这里选择了2.22bit

如果源网站下载慢的话,推荐用镜像站:
https://hf-mirror.com/unsloth/DeepSeek-R1-GGUF
https://www.modelscope.cn/models/unsloth/DeepSeek-R1-GGUF/files
或者使用hf的cli下载:

(base) user@user-SYS-7049GP-TRT:~/r1_gguf$ huggingface-cli download unsloth/DeepSeek-R1-GGUF DeepSeek-R1-UD-IQ2_XXS/DeepSeek-R1-UD-IQ2_XXS-00001-of-00004.gguf  --local-dir .

2.合并

这里需要将多个文件合并为一个大文件,需要llama.cpp文件,参考
https://hf-mirror.com/unsloth/DeepSeek-R1-GGUF

apt-get updateapt-get install build-essential cmake curl libcurl4-openssl-dev -ygit clone https://github.com/ggerganov/llama.cppcmake llama.cpp -B llama.cpp/build \-DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ONcmake --build llama.cpp/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-splitcp llama.cpp/build/bin/llama-* llama.cpp

随后使用split工具来合并gguf文件:
注意:只传入第一个文件作为输入,输出文件为目标文件

./llama.cpp/build/bin/llama-gguf-split --merge \/data/DeepSeek-R1/DeepSeek-R1-UD-IQ2_XXS/DeepSeek-R1-UD-IQ2_XXS-00001-of-00004.gguf \merged_deepseek_r1_ud_iq2_xxs.gguf

这个过程会有点漫长,并且需要大存储空间,要不然会报空间不足,而且模型较大的话只能装在固态盘,否则读取性能不足
如果空间不足,可以更改model位置到其它盘:

vim /etc/systemd/system/ollama.service

Environment=“OLLAMA_MODELS=/data/ollama_models”
在这里插入图片描述
随后保存

sudo systemctl daemon-reload 
sudo systemctl restart ollama

3.安装

创建一个文件 DeepSeekQ2_Modelfile

vim DeepSeekQ2_Modelfile

写入内容: 注:路径根据自己刚刚合并后的文件修改,其它详情见 https://snowkylin.github.io/blogs/a-note-on-deepseek-r1.html
这里可能需要过多调试

FROM /home/user/r1_gguf/merged_deepseek_r1_ud_iq2_xxs.gguf
PARAMETER num_gpu 24  
PARAMETER num_ctx 2048  
PARAMETER temperature 0.6  
TEMPLATE "<|User|>{{ .Prompt }}<|Assistant|>"

安装:

ollama create deepseek-r1-ud-iq2-xxs -f DeepSeekQ2_Modelfile

后面测试的时候可能会报CUDA或内存错误,具体需要自己排查

OpenWebUI搭建

这相当于搭建一个前端页面

1.docker安装

首先需要安装docker,步骤如下,如果已有docker可跳过

sudo apt-get updatesudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) \stable"sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo systemctl enable docker    sudo apt-get install docker-compose -y

2.运行openweb-ui

直接运行方式:

sudo docker run -d  --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

docker-compose方式

version: "3.8"services:open-webui3:image: ghcr.io/open-webui/open-webui:maincontainer_name: open-webui3ports:- "3000:8080"volumes:- open-webui:/app/backend/dataenvironment:- OLLAMA_BASE_URL=http://host.docker.internal:11434extra_hosts:- "host.docker.internal:host-gateway"restart: alwaysvolumes:open-webui:

3.启动并配置

docker-compose方式通过 sudo docker-compose up -d 启动

如果是直接运行,则访问 服务器ip:8080,
如果是docker-compose,则访问 服务器ip:3000

随后进入界面,首次进入需设置管理员账号

4.设置外部链接

1.打开设置-管理员设置-外部连接
在这里插入图片描述
在这里插入图片描述
2.进行设置如下:
注意 openAI的API一般需要关闭,且防火墙需要放行3000或8080以及11434端口,否则会导致初始化时界面白屏

sudo ufw allow 11434
sudo ufw allow 3000

在这里插入图片描述
这里我是以docker-compose方式启动的,所以前面设置过,这里直接通过host.docker.internal访问即可。
如果前面是直接运行的,则用的是主机网络,IP设置为127.0.0.1,端口同样是11434
3.设置后点击 下载 按钮测试

4.随后返回首页,会看到刚才添加的模型:

在这里插入图片描述

结语

这是我第一次接触ollama及大语言模型的部署,如有错误的地方请指正

最终的使用感受是 o3-mini-high ≈ R1满血版 ≈ O1 > Gemini2.0 Thiking > O3Mini > 本地量化2.22bit > GPT4o > 本地R1-Distill-70B > 本地R1-Distill-32B


http://www.ppmy.cn/embedded/164473.html

相关文章

rust笔记3-属性

在 Rust 中&#xff0c;**属性&#xff08;Attribute&#xff09;**是一种特殊的注释语法&#xff0c;用于为代码提供额外的元数据或指示编译器执行某些操作。属性可以应用于模块、函数、结构体、枚举、字段、方法等代码元素&#xff0c;以改变它们的行为或提供额外的信息。 属…

android 快速定位当前页面

1.adb 命令 查看当前栈顶的Activity &#xff1a;adb shell dumpsys activity | grep "mFocusedActivity" (3)查看当前栈顶的Activity的Fragment &#xff1a;adb shell dumpsys activity your.package.name 或者&#xff1a; adb shell dumpsys activity top 查看…

(网络安全)渗透测试

1、渗透测试种类 2、网络安全渗透测试分类 1&#xff09;网络安全渗透测试&#xff0c; 根据事先对测试目标系统信息的了解程度&#xff0c;可以分为 a.黑盒测试&#xff1a; 只知道要测试的目标系统&#xff0c;但系统内部的任何信息&#xff0c;都不清楚。这种测试最真实&am…

网络运维学习笔记 013网工初级(HCIA-Datacom与CCNA-EI)DHCP动态主机配置协议(此处只讲华为)

文章目录 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议&#xff09;网关配置DHCP服务器配置如果没有DHCP服务器&#xff0c;只在网关上做DHCP服务器&#xff1a; DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主…

MySQL 选择数据库

MySQL 选择数据库 在MySQL数据库管理系统中,选择合适的数据库是确保数据管理和应用开发高效进行的关键步骤。本文将详细介绍如何在MySQL中选择数据库,包括数据库的选择标准、创建过程以及一些实用的操作技巧。 选择数据库的标准 选择一个合适的数据库需要考虑以下几个因素…

22.4.3.1 IPGlobalProperties类

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 IPGlobalProperties类提供有关本地计算机的网络接口和网络连接的配置和统计信息。此类提供的信息与 IP Helper API 函数提供的信息相…

人工智能大模型定制:借深度学习情绪密码,开启心理健康新 “视窗”

在当今社会&#xff0c;生活节奏日益加快&#xff0c;人们面临的压力与日俱增&#xff0c;对心理健康支持服务的需求也呈爆发式增长。在这样的大背景下&#xff0c;数字化服务&#xff0c;尤其是匿名短信平台&#xff0c;凭借其便捷性、隐私性等优势&#xff0c;成为许多人寻求…

python小项目编程-中级(1、图像处理)

目录 图像处理 实现 测试 unittest pytest 图像处理 实现界面化操作&#xff0c;使用PIL库实现简单的图像处理功能&#xff0c;如缩放&#xff08;设置缩放比例&#xff09;、旋转和滤镜、对比度调整、亮度调整、灰度图、二值化图&#xff08;二值图如果使用的是彩色图片需…