简介

本文详细介绍了如何部署vLLM高性能语言模型推理库和Dify应用开发平台。内容涵盖GPU驱动安装、Python环境配置、vLLM安装与通义千问模型下载、推理服务启动,以及Dify平台的部署和配置。通过完整步骤,读者可搭建自己的大模型应用环境,实现LLM推理服务的部署与应用开发,适合希望快速上手大模型应用的开发者参考学习。


简介

什么是 vLLM

vLLM 是一个高性能的大型语言模型推理库,支持多种模型格式和后端加速,适用于大规模语言模型的推理服务部署。

最初 vLLM 是在加州大学伯克利分校的天空计算实验室 (Sky Computing Lab) 开发的,如今已发展成为一个由学术界和工业界共同贡献的社区驱动项目。

什么是 Dify

Dify是一个开源的 LLM 应用开发平台,提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营 AI 应用。

Dify 提供五种应用类型:

  1. 聊天助手:基于 LLM 构建对话式交互的助手。
  2. 文本生成应用:面向文本生成类任务的助手,例如撰写故事、文本分类、翻译等。
  3. Agent:能够分解任务、推理思考、调用工具的对话式智能助手。
  4. 对话流(Chatflow):适用于设计复杂流程的多轮对话场景,支持记忆功能并能进行动态应用编排。
  5. 工作流(Workflow):适用于自动化、批处理等单轮生成类任务的场景的应用编排方式,单向生成结果。

部署 vLLM

安装 GPU 驱动

我们先安装 GPU 驱动,登录 NVIDIA 驱动下载 页面,输入搜索条件查找驱动,我这使用的是显卡是 Tesla T4 。

点击 查找 按钮,显示如下图搜索到的驱动

下载驱动

安装驱动

# 下载驱动 


wget 'https://cn.download.nvidia.com/tesla/575.57.08/NVIDIA-Linux-x86_64-575.57.08.run'




# 给安装包添加执行权限


chmod +x NVIDIA-Linux-x86_64-575.57.08.run




# 安装驱动


sh NVIDIA-Linux-x86_64-575.57.08.run --ui=none --disable-nouveau --no-install-libglvnd --dkms --no-cc-version-check -s

执行命令 nvidia-smi ,查看 Tesla 驱动是否安装成功,显示如下界面表示 Tesla 驱动安装成功。

Tesla 驱动安装完成后,Persistence-M 默认为关闭(off)状态,Tesla驱动在开启Persistence-M属性状态下性能更稳定。为了业务更稳定地进行,建议开启 Persistence-M 属性。
一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

在这里插入图片描述

可以执行以下命令开启

# username 为当前系统使用的用户名


nvidia-persistenced --user root  

重新执行命令 nvidia-smi ,可以看到 Persistence-M 为开启(on)状态。

这种配置方式如果服务重启,则会导致Persistence-M开启(on)状态失效。如果希望永久生效,需要按照如下方式配置:

Tesla 驱动安装成功后,Nvidia 会安装一些示例脚本到/usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2路径下。

cd  /usr/share/doc/NVIDIA_GLX-1.0/samples/


tar xvf nvidia-persistenced-init.tar.bz2


cd  nvidia-persistenced-init


sh install.sh  -u nvidia-persistenced -g nvidia-persistenced systemd 

执行以下命令,查看 NVIDIA Persistence Daemon 是否正常运行。

systemctl status nvidia-persistenced

准备 Python 环境

vLLM 运行需要 Python 环境,为了管理服务器上不同版本的 Python,建议使用 uv 工具,uv 是一个非常快速的Python环境管理器。

安装 uv

pip install uv


或者


curl -LsSf https://astral.sh/uv/install.sh | sh 

安装 vLLM

uv venv --python 3.12 --seed


source .venv/bin/activate


uv pip install vllm --torch-backend=auto

执行以下命令验证 vLLM 是否准备就绪

uv run --with vllm vllm --help

下载 通义千问 大模型

通义千问-7B(Qwen-7B) 是阿里云研发的通义千问大模型系列的70亿参数规模的模型。Qwen-7B 是基于Transformer 的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍、代码等。

# 安装 Git 和 Git LFS(Large File Support)插件  


yum install git git-lfs 




mkdir -p /data/models 


cd /data/models 




# 将 ModelScope上的 Qwen-7B-Chat-Int8 仓库克隆到本地。


GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat-Int8.git


cd Qwen-7B-Chat-Int8




# 下载 LFS 管理的大文件,模型下载后大概有 18G 


git lfs pull

启动推理服务

执行以下命令启动服务

python3 -m vllm.entrypoints.openai.api_server \


--model /data/models/Qwen-7B-Chat-Int8 \


--trust-remote-code \


--served-model-name qwen-chat \


--gpu-memory-utilization 0.95 \


--max-model-len 2048

启动日志

INFO 09-11 21:31:54 [__init__.py:241] Automatically detected platform cuda.


(APIServer pid=17453) INFO 09-11 21:31:55 [api_server.py:1805] vLLM API server version 0.10.1.1


(APIServer pid=17453) INFO 09-11 21:31:55 [utils.py:326] non-default args: {'model': '/data/models/Qwen-7B-Chat-Int8', 'trust_remote_code': True, 'max_model_len': 2048, 'served_model_name': ['qwen-chat'], 'gpu_memory_utilization': 0.95}


......


INFO 09-11 21:32:20 [worker.py:295] the current vLLM instance can use total_gpu_memory (14.56GiB) x gpu_memory_utilization (0.95) = 13.84GiB


INFO 09-11 21:32:20 [worker.py:295] model weights take 8.53GiB; non_torch_memory takes 0.03GiB; PyTorch activation peak memory takes 1.40GiB; the rest of the memory reserved for KV Cache is 3.87GiB.


......


(APIServer pid=17453) INFO 09-11 21:32:51 [api_server.py:1880] Starting vLLM API server 0 on http://0.0.0.0:8000


(APIServer pid=17453) INFO 09-11 21:32:51 [launcher.py:36] Available routes are:


......


(APIServer pid=17453) INFO:     Started server process [17453]


(APIServer pid=17453) INFO:     Waiting for application startup.


(APIServer pid=17453) INFO:     Application startup complete.

通过日志可以看到应用启动成功,在日志中可以看到 GPU 显存的分配, model weights take 8.53GiB; non_torch_memory takes 0.03GiB; PyTorch activation peak memory takes 1.40GiB; the rest of the memory reserved for KV Cache is 3.87GiB.

我的 Tesla T4 GPU 一共有 15G 内存,在启动时配置了安全参数gpu_memory_utilization=0.95 ,因此最终可用内存大概是 13.84G ( total_gpu_memory (14.56GiB) x gpu_memory_utilization (0.95) = 13.84GiB),这 13.84G 的可用内存具体分配明细如下:

  1. 模型权重 (Model Weights):

  2. 占用: 8.53 GiB

  3. 说明: 大语言模型通义千问(Qwen-7B-Chat-Int8)本身被加载到 GPU 上所占用的空间。这是固定的开销,只要模型加载,这部分内存就会被占用。

  4. 非 PyTorch 内存 (non_torch_memory):

  5. 占用: 0.03 GiB (~30 MB)

  6. 说明: 这是被其他非 PyTorch 框架的库或系统组件(如 CUDA context、vLLM 自身的数据结构等)所占用的小额内存。

  7. PyTorch 激活峰值内存 (PyTorch activation peak memory):

  8. 占用: 1.40 GiB

  9. 说明: 这是在处理请求时 PyTorch 进行张量计算所产生的中间临时变量(称为激活 Activation)所消耗的内存。这个值是一个“峰值”估计,vLLM 会预留出这部分空间以确保计算过程绝不会因内存不足而中断。

  10. 预留用于 KV 缓存的内存 (Reserved for KV Cache):

  11. 占用: 3.87 GiB

  12. 说明: 这是最关键的部分! 这部分内存专门用于存储每个请求的键值对缓存 (Key-Value Cache)。KV Cache 的大小直接决定了模型能同时处理多少并发请求(吞吐量)以及每个请求能支持的最大序列长度,剩余内存绝大部分都分配给了这里。

执行命令 nvidia-smi 来验证内存的利用率。

推理服务部署成功后我们可以做一个简单的测试, 发送如下请求

curl -X POST "http://127.0.01:8000/v1/chat/completions" \


-H "Content-Type: application/json" \


-d '{  


  "model": "qwen-chat",  


  "messages": [{"role": "user", "content": "你可以做什么事情"}]  


}'  

返回信息如下:

{"id":"chatcmpl-2a6869efcf564d29a4a9d07f4b9e6d88","object":"chat.completion","created":1757598924,"model":"qwen-chat","choices":[{"index":0,"message":{"role":"assistant","content":"呢?\n\nassistant1. 帮助人们解决问题:我可以根据用户提出的问题,提供相关的解答和建议。\n\n2. 生成文本:我可以根据用户给出的关键词或主题,生成相关的文章、故事、诗歌等文本内容。\n\n3. 智能聊天:我可以进行自然语言对话,与用户进行交流和互动。\n\n4. 翻译:我可以将一种语言翻译成另一种语言,帮助人们跨越语言障碍。\n\n5. 识别图像:我可以分析图片中的物体、场景、人物等信息,并进行描述或分类。\n\n6. 分析情绪:我可以分析用户的语气、情感、态度等,以便更好地理解和回应用户的需求。\n\n7. 推荐系统:我可以根据用户的历史行为、兴趣爱好等数据,推荐相关的产品、服务、内容等。\n\n8. 创作音乐、艺术作品:我可以根据用户提供的主题、风格、乐器等要素,创作出独特的音乐、艺术作品。 \n\n9. 教育教学:我可以为学生提供个性化的学习计划和指导,帮助他们提高学习成绩。\n\n10. 环境监测:我可以实时监测环境参数,如温度、湿度、空气质量等,提供及时准确的数据报告。 \n\n这些都是我可以做的事情,但我也需要不断学习和改进,以适应更广泛的应用场景和需求。<|im_end|>\n","refusal":null,"annotations":null,"audio":null,"function_call":null,"tool_calls":[],"reasoning_content":null},"logprobs":null,"finish_reason":"stop","stop_reason":151643}],"service_tier":null,"system_fingerprint":null,"usage":{"prompt_tokens":3,"total_tokens":277,"completion_tokens":274,"prompt_tokens_details":null},"prompt_logprobs":null,"kv_transfer_params":null}

部署 Dify

安装 Docker

dnf -y install dnf-plugins-core


dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo


dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


systemctl enable --now docker

安装 Dify

cd /data 


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


cd dify


cd docker


cp .env.example .env


docker compose up -d

配置 Dify

Dify 启动成功后会监听本地 80 端口,访问 http://server-ip/install 配置登录信息

登录成功后 添加 LLM ,点击 右上角 用户图标,选择 “设置”,点击 “模型供应商”,找到 vllm ,点击安装

添加模型参数

验证

接下来创建一个聊天机器人,验证模型是否正常运行,在主页点击工作室,创建空白应用

选择 Charflow 对话工作流,输入应用名称,点击创建

Dify 支持自定义工作流,我们这里用默认即可,点击右上角发布中的运行按钮

点击运行按钮后会打开一个新的聊天窗口, 就可以开始聊天了。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

在这里插入图片描述

01.大模型风口已至:月薪30K+的AI岗正在批量诞生

在这里插入图片描述

2025年大模型应用呈现爆发式增长,根据工信部最新数据:

国内大模型相关岗位缺口达47万

初级工程师平均薪资28K(数据来源:BOSS直聘报告)

70%企业存在"能用模型不会调优"的痛点

真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!

02.如何学习大模型 AI ?

🔥AI取代的不是人类,而是不会用AI的人!麦肯锡最新报告显示:掌握AI工具的从业者生产效率提升47%,薪资溢价达34%!🚀

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工

📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

更多推荐