UOS+N 卡 + CUDA 环境下 X86 架构 DeepSeek 基于 vLLM 部署与 Dify 平台搭建指南

一、文档说明

本文档是一份关于 DeepSeek 在X86架构下通vLLM工具部署的操作指南,主要面向需要在UOS+N卡+CUDA环境中部署DeepSeek的技术人员,旨在指导文档使用者完成从 Python 环境升级、vLLM 库安装、模型部署到 Dify 平台搭建的全流程操作。

二、安装Python步骤

因为UOSV20默认集成Python版本是2.7和3.7版本,因此需要手动编译升级Python版本至Python3.10.16版本。

1.下载Python3.10.16源码包

终端执行如下命令,从官方  指定地址获取源码包。

wget https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tar.xz

 2. 配置编译选项

终端执行如下命令解压下载的文件,并进入解压后文件目录

tar -xvf Python-3.10.16.tar.xz

cd Python-3.10.16

3. 编译源码

依次在终端执行./configure和make命令,进行源码编译。这一步会根据系统环境和配置选项进行相关设置和编译操作,可能需要一定时间,请耐心等待。

4. 安装Python3.10.16

  执行如下命令完成Python 3.10.16的安装。

make install

  执行如下命令添加pip命令

ln -s  /usr/local/pip3.10   /usr/bin/pip

5. 更新升级pip

  执行如下命令对pip进行升级

pip install --upgrade pip

6. 查看python安装是否成果

 在终端输入`python3 -V`,若显示`Python 3.10.16`,则表明安装成功。如下图所示:

python3 -V

7. 创建Python3.10.16虚拟环境

 执行如下命令,创建名为vllm_venv的虚拟环境,为后续安装vLLM库提供隔离的运行环境。

python3 -m venv vllm_venv

三、安装vLLM库

1. 激活Python3.10.16虚拟环境

  在终端执行如下命令,激活之前创建的虚拟环境,激活成功后,命令行提示符前会出现`(vllm_venv)`标识。

source vllm_venv/bin/activate

2. 安装vLLM库

在激活的虚拟环境中,执行`pip3 install vllm`命令安装vLLM库

pip3 install vllm

3. 安装ModelScopse库

继续在虚拟环境中执行如下命令,完成ModelScopse库的安装。

pip3 install modelscopse

4. 下载模型文件

执行如下命令,将模型文件下载到指定目录。

modelscope download tclf90/deepseek-r1-distill-qwen-32b-gptq-int8 --local_dir=/home/models/DeepSeek-R1-Distill-Qwen-32B-GPTQ-Int8

5. 启动vLLM服务

执行如下命令启动vLLM服务,并对各参数进行说明:

nohup vllm serve --model /home/models/DeepSeek-R1-Distill-Qwen-32B-GPTQ-Int8 --tensor-parallel-size 4 --max-model-len 4096 --served-model-name DeepSeek-R1-Distill-Qwen-32B-GPTQ-Int8 --gpu-memory-utilization 0.8 --api-key uniontech > vllm.log 2>&1 &

参数说明:

--model:指定要使用的大语言模型的名称或路径。

--tensor-parallel-size:指定张量并行的大小。该模型支持1/2/4

--max-model-len:指定模型支持的最大输入长度。

--served-model-name:指定服务的模型名称。

--gpu-memory-utilization:指定 GPU 内存的利用率,默认值0.9。

--api-key:指定API key值。

服务启动后,可以通过`tail -f vllm.log`命令查看服务启动日志,监控日志以确认服务是否启动成功。

四、二进制安装docker(选择)

若当前环境已安装Docker,则可跳过此步骤,直接安装Dify平台;若未安装,可按以下步骤进行安装:

1. 下载docker二进制文件

在终端执行如下命令,从指定镜像源下载二进制文件。

wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/docker-20.10.17.tgz

2. 进入到docker目录下载docker-compose

  进入到存放docker相关文件的目录(根据实际情况确定具体路径)。

  执行如下命令下载docker-compose文件。

wget https://github.com/docker/compose/releases/download/v2.34.0/docker-compose-linux-x86_64

mv docker-compose-linux-x86_64 docker-compose

3. 创建软链接、

  执行如下命令,将docker目录下的所有文件软链接到/usr/bin目录下

sudo ln -svf /home/xyh/tools/docker/* /usr/bin/

注:需要将命令中docker地址修改修改成个人本地docker实际地址

4. 使用root用户创建开机自动启脚本

cat > /usr/lib/systemd/system/docker.service <<EOF

[Unit]

Wants=network-online.target

[Service]

Type=notify

ExecStart=/usr/bin/dockerd

[Install]

WantedBy=multi-user.target

EOF

5. 配置Docker源

  

 vi /etc/docker/daemon.json

 {

    "registry-mirrors":["https://image.cloudlayer.icu/","https://docker.m.daocloud.io"]

 }

6. 加载service脚本

在终端依次执行如下命令,加载并重启docker服务。

sudo systemctl daemon-reload

sudo systemctl restart docker

7. 设置开机自启动Docker服务

执行如下命令,设置Docker服务开机自启动。

sudo systemctl enable docker

8. 查看docker版本

 执行如下命令,查看安装的Docker版本,确认安装是否成功。

docker --version

   

五、安装Dify平台

1. 下载Dify平台源码

在终端执行如下命令,从GitHub仓库下载Dify平台源码。

git clone https://github.com/langgenius/dify.git

2. 配置docker源

vi /etc/docker/daemon.json

 {

"registry-mirrors":["https://image.cloudlayer.icu/","https://docker.m.daocloud.io"]

}

3. 调整dify配置文件

  进入`dify/docker`目录,执行`cd dify/docker`命令。

  复制示例配置文件,执行`cp.env.example.env`命令。

  编辑.env文件在文件末尾增加CUSTOM_MODEL_ENABLED=true启用本地模型

4. 通过docker启动dify平台

执行如下命令启动Dify平台。首次启动时,由于需要下载基础镜像,耗时可能较长,请耐心等待。

docker-compose up -d

5. 停止dify服务

若需停止Dify服务,执行如下命令即可。

docker-compose down

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统之shell实现(下)

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C语言的相关知识。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给更…

Spark,流量统计案例

提前创好一个文件夹分为四个类 FlowBean中的代码内容为&#xff1a;package org.example.flow; import org.apache.hadoop.io.Writable; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; //hadoop 序列化 //三个属性&#xff1a;手机…

下载油管视频 - yt-dlp

文章目录 1. yt-dlp与you-get介绍1.1 主要功能对比1.2 使用场景1.3 安装 2. 基本命令介绍2.1 默认下载视频2.2 指定画质和格式规则2.3 下载播放列表2.4 备注 3. 参考资料 之前只使用you-get下载b站视频&#xff0c;当时了解you-get也可下载油管视频&#xff0c;但之前无此需求&…

基于javaweb的SSM+Maven教材管理系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…

VS2022+QT环境配置及基本操作

参考文章 2025最新&#xff01;Visual Studio 2022 QT6.7 环境配置全攻略&#xff1a;一键搞定安装与乱码问题&#xff0c;开发效率翻倍&#xff01;&#xff08;全网最详细教程&#xff0c;手把手教你搭建完美开发环境&#xff01;&#xff09;_vs2022 qt-CSDN博客 下载QT …

使用percona-toolkit同步mysql表数据

背景 做了主备mysql的配置以后&#xff0c;可能因为切换过程造成不一致的情况&#xff0c;这个时候可以处理的方式是全量导入再导出&#xff0c;这个有个问题就是操作的数据太多了 我们只需要数据补全同步即可 mysql的同步是基于binlog的&#xff0c;如果没有记录的部分的数据…

MDG 实现后端主数据变更后快照自动刷新的相关设置

文章目录 前言实现过程BGRFC期初配置&#xff08;可选&#xff09;设置 MDG快照 BGRFC维护BP出站功能模块 监控 前言 众所周知&#xff0c;在MDG变更请求创建的同时&#xff0c;所有reuse模型实体对应的快照snapshot数据都会记录下来。随后在CR中&#xff0c;用户可以修改这些…

重装系统 之 Dell戴尔服务器 PowerEdge R750xs + window server2012r2 || 2016

因要求需要给新服务器装个 win server2012或者2016系统 XXX使用U盘制作PE系统U盘安装系统不行&#xff0c;适合普通win8&#xff0c;win10&#xff0c;win11U盘制作PE系统U盘安装win10系统教程U盘制作PE系统U盘安装win10系统教程https://mp.weixin.qq.com/s/t0W8aNJaHPAU8T78nh…

基于Spring Security 6的OAuth2 系列之二十六 - 终章

之所以想写这一系列&#xff0c;是因为之前工作过程中使用Spring Security OAuth2搭建了网关和授权服务器&#xff0c;但当时基于spring-boot 2.3.x&#xff0c;其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0&#xff0c;结果一看Spring Security也升级…

一键配置多用户VNC远程桌面:自动化脚本详解

在当今远程工作盛行的时代,高效且安全地管理多用户远程桌面访问变得至关重要。本文将介绍一个强大的自动化脚本,该脚本能够快速创建用户并配置VNC远程桌面环境,大大简化了系统管理员的工作。 一、背景介绍 在Linux系统中,手动配置VNC服务器通常需要执行多个步骤,包括创建…

IOT项目——双轴追光系统

双轴太阳能追光系统 - ESP32实现 系统概述 这个系统使用&#xff1a; ESP32开发板2个舵机&#xff08;水平方向和垂直方向&#xff09;4个光敏电阻&#xff08;用于检测光照方向&#xff09;适当的电阻&#xff08;用于光敏电阻分压&#xff09; 接线示意图 --------------…

Maven集成模块打包使用

文章目录 1.问题思考&#xff08;如何对集成模块进行打包&#xff09;2.问题解决 &#xff08;如何对集成模块进行打包&#xff09;3.使用者使用该jar包(jar包安装本地仓库和使用) 1.问题思考&#xff08;如何对集成模块进行打包&#xff09; 思考&#xff1a;假设有这么一个场…

OpenVINO教程(二):图片目标检测推理应用

YOLO模型物体检测 下面是一个简单的python程序,他的功能是使用yolo11n模型对coco_bike.jpg照片进行检测,并显示检测结果 代码步骤如下: coco_bike.jpg照片加载yolo模型使用模型进行detect推理显示推理结果 下面是完整的代码 from pathlib import Pathimport urllib.request…

聚类算法(K-means、DBSCAN)

聚类算法 K-means 算法 算法原理 K-means 是一种基于类内距离最小化的划分式聚类算法&#xff0c;其核心思想是通过迭代优化将数据划分为 K 个簇。目标函数为最小化平方误差&#xff08;SSE&#xff09;&#xff1a; S S E ∑ i 1 K ∑ x ∈ C i ∣ ∣ x − μ i ∣ ∣ 2…

Oracle在ERP市场击败SAP

2024年&#xff0c;甲骨文&#xff08;Oracle&#xff09;以87亿美元的ERP收入和6.63%的市场份额&#xff0c;首次超越SAP&#xff0c;成为全球最大的ERP应用软件供应商&#xff0c;结束了SAP自上世纪80年代以来在该领域的长期霸主地位。据APPS RUN THE WORLD的市场调研&#x…

嵌入式面试高频笔试题目解析

一、基础概念与 C 语言核心题 1. 指针与内存操作 典型题目: char str[] = "hello"; char *ptr = "world"; str[0] = H; // 合法吗? ptr[0] = W; // 合法吗?为什么?解析: str 是栈上数组,可修改内容,str[0]=H 合法。ptr 指向常量字符串区,修改会…

【Python】Selenium切换网页的标签页的写法(全!!!)

在使用selenium做网站爬取测试的时候&#xff0c;我们经常会遇到一些需要点击的元素&#xff0c;才能点击到我们想要进入的页面&#xff0c; 于是我们就要模拟 不断地 点点点击 鼠标的样子。 这个时候网页上就会有很多的标签页&#xff0c;你的浏览器网页标签栏 be like: 那…

MySQL GTID模式主从同步配置全指南:从配置到故障转移

前言 MySQL主从复制是企业级数据库架构的基础&#xff0c;而GTID(Global Transaction Identifier)模式则是MySQL 5.6版本后推出的革命性复制技术。本文将详细介绍如何配置基于GTID的主从同步&#xff0c;并包含实用的故障转移操作指南。 一、GTID模式核心优势 相比传统基于…

MAC系统下完全卸载Android Studio

删除以下文件 /Applications/Android Studio.app /Users/用户名/Library/Application Support/Google/AndroidStudio2024.2 /Users/用户名/Library/Google/AndroidStudio /Users/用户名/Library/Preferences/com.google.android.studio.plist /Users/用户名/Library/Cache…

<C#>.NET WebAPI 的 FromBody ,FromForm ,FromServices等详细解释

在 .NET 8 Web API 中&#xff0c;[FromBody]、[FromForm]、[FromHeader]、[FromKeyedServices]、[FromQuery]、[FromRoute] 和 [FromServices] 这些都是用于绑定控制器动作方法参数的特性&#xff0c;下面为你详细解释这些特性。 1. [FromBody] 作用&#xff1a;从 HTTP 请求…