vLLM(1)私有化安装部署配置

1. vLLM框架整体概览

  • 主流大模型部署框架
    主流的大模型部署框架以llama.cpp、Ollama和Vllm为主

  • 优势
    高效内存管理、持续批处理功能和张量并行性,从而在生产环境中的高吞吐量场景中表现极佳,同时这也是为什么Vllm框架是目前最适用于企业真实生产环境部署的根本原因。

  • 特性

    • 高级 GPU 优化:利用 CUDA 和 PyTorch 最大限度地提高 GPU利用率,从而实现更快的推理速度。Ollama其实是对CPU-GPU的混合应用,但vllm是针对纯GPU的优化。
    • 高级内存管理:通过PagedAttention算法实现对 KV cache的高效管理,减少内存浪费,从而优化大模型的运行效率。
    • 批处理功能:支持连续批处理和异步处理,从而提高多个并发请求的吞吐量。
    • 安全特性:内置 API密钥支持和适当的请求验证,不像其他完全跳过身份验证的框架。
    • 易用性:vLLM 与 HuggingFace模型无缝集成,支持多种流行的大型语言模型,并兼容 OpenAI 的 API 服务器。

2. 私有化部署

2.1 创建python虚拟环境

  • 创建虚拟环境
 conda create --name vLLMenv_python312  python=3.12
(base) root@jinhu:/home/ollama# conda env list

# conda environments:
#
base                 * /root/anaconda3
comfyenv_python312     /root/anaconda3/envs/comfyenv_python312
vLLMenv_python312      /root/anaconda3/envs/vLLMenv_python312

  • 切换虚拟环境
conda activate vLLMenv_python312

2.2 安装vLLM

  • 使用pip安装vllm 框架
    执行如下命令:
pip install vllm
  • 查看vllm安装信息
    可以使用pip show vllm 命令查看vllm 框架的安装信息,可以明确看到当前安装的vllm 版本号
pip show vllm
(vLLMenv_python312) root@jinhu:/home/vLLM# pip show vllm
Name: vllm
Version: 0.10.0
Summary: A high-throughput and memory-efficient inference and serving engine for LLMs
Home-page: https://github.com/vllm-project/vllm
Author: vLLM Team
Author-email: 
License-Expression: Apache-2.0
Location: /root/anaconda3/envs/vLLMenv_python312/lib/python3.12/site-packages
Requires: aiohttp, blake3, cachetools, cbor2, cloudpickle, compressed-tensors, depyf, diskcache, einops, fastapi, filelock, gguf, huggingface-hub, lark, llguidance, lm-format-enforcer, mistral_common, msgspec, ninja, numba, numpy, openai, opencv-python-headless, outlines_core, partial-json-parser, pillow, prometheus-fastapi-instrumentator, prometheus_client, protobuf, psutil, py-cpuinfo, pybase64, pydantic, python-json-logger, pyyaml, pyzmq, ray, regex, requests, scipy, sentencepiece, setuptools, six, tiktoken, tokenizers, torch, torchaudio, torchvision, tqdm, transformers, typing_extensions, watchfiles, xformers, xgrammar
Required-by: 

至此,vLLM框架的安装就已经完成了。整个过程唯一需要注意的就是官方对Python 版本的要求

2.3 下载离线模型文件

抱抱脸huggingface需要翻墙,所以建议用国内魔搭社区modescope下载

pip install modelscope

在这里插入图片描述
下载模型的python文件

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3-32B', cache_dir='/home/vLLM/models', revision='master')

进入当前虚拟环境中,执行

python vLLM_Modescope_download.py

在这里插入图片描述
模型下载后模型目录:

(vLLMenv_python312) root@jinhu:/home/vLLM# tree
.
└── models
    └── Qwen
        ├── Qwen3-0.6B -> /home/vLLM/models/Qwen/Qwen3-0___6B
        ├── Qwen3-0___6B
        │   ├── config.json
        │   ├── configuration.json
        │   ├── generation_config.json
        │   ├── merges.txt
        │   ├── model.safetensors
        │   ├── README.md
        │   ├── tokenizer_config.json
        │   ├── tokenizer.json
        │   └── vocab.json
        └── Qwen3-32B
            ├── config.json
            ├── configuration.json
            ├── generation_config.json
            └── merges.txt

创建了一个快捷方式 Qwen3-0___6B到Qwen3-0.6B

3.vLLM学习计划

接下来博文将从以下几个章节介绍vLLM的使用

  • 多模态使用
<think>好的,用户的问题是关于如何在本地使用Docker Desktop进行vLLM和Dify的私有化部署。首先,我需要回忆一下Docker的基本操作以及Dify和vLLM的相关知识。 根据用户提供的引用内容,特别是引用[2]和[3],Dify的部署涉及Docker环境的配置,包括下载源码、运行Docker容器以及设置管理员账号。同时,用户还想整合vLLM,这可能涉及到模型服务的配置。 首先,我需要确认Dify的部署步骤。引用[3]提到需要克隆仓库、复制.env文件并运行docker compose。这可能包括配置环境变量,比如模型供应商的设置。接下来,vLLM部署通常也需要Docker,可能需要单独拉取镜像并运行容器,暴露API端口供Dify调用。 用户的环境配置需要安装Docker Desktop,确保系统满足要求,尤其是WSL在Windows下的正确配置。然后,部署Dify时要注意.env文件的配置,可能需要调整模型供应商的端点指向本地的vLLM服务。 另外,引用[2]中提到了ollama安装和模型下载,但用户的问题是关于vLLM的,所以可能需要替换这部分内容。vLLM的Docker镜像可能需要从特定仓库拉取,并配置模型路径或参数。 在整合Dify和vLLM时,需要在Dify的管理界面中添加自定义模型供应商,输入vLLM的API地址。可能还需要处理CORS或网络问题,确保两个容器能够通信。 用户可能遇到的问题包括Docker compose的版本兼容性、端口冲突、环境变量配置错误,以及模型加载失败等。需要指导用户如何检查日志,调试问题。 最后,生成相关问题时要覆盖常见问题,如性能优化、配置模型路径、日志调试和网络设置等。</think>### Docker Desktop与vLLM及Dify本地私有化部署教程 --- #### **一、本地环境准备** 1. **安装Docker Desktop** - 访问[Docker官网](https://www.docker.com/products/docker-desktop/)下载并安装最新版本 - Windows系统需启用WSL2支持(若安装时提示*WSL update failed*,需手动更新WSL内核)[^2] - 配置国内镜像加速(如阿里云镜像源)以提升拉取速度: ```bash { "registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"] } ``` 2. **验证Docker环境** 命令行执行: ```bash docker run hello-world ``` 若输出`Hello from Docker!`表示安装成功。 --- #### **二、部署vLLM推理服务** 1. **拉取vLLM镜像** ```bash docker pull nvidia/cuda:12.1.0-base-ubuntu22.04 # 基础镜像 docker pull vllm/vllm:latest # 或指定版本 ``` 2. **启动vLLM容器** ```bash docker run -d --gpus all \ -p 8000:8000 \ -v /path/to/models:/models \ vllm/vllm:latest \ --model /models/llama-2-7b \ --tensor-parallel-size 1 ``` - `--gpus all`:启用GPU加速(需NVIDIA驱动) - `-v`:挂载本地模型目录(如Llama-2需提前下载) - 验证服务:访问`http://localhost:8000/docs`查看API文档 --- #### **三、部署Dify应用** 1. **获取Dify源码** ```bash git clone https://github.com/langgenius/dify.git cd dify/docker ``` 2. **配置环境变量** ```bash cp .env.example .env # 修改.env中以下参数: MODEL_PROVIDER=custom CUSTOM_API_HOST=http://host.docker.internal:8000 # 指向vLLM服务[^3] ``` 3. **启动Dify服务** ```bash docker compose up -d ``` - 等待容器初始化后访问`http://localhost:8080` - 首次登录需设置管理员账号 --- #### **四、整合vLLM与Dify** 1. **在Dify中添加模型** - 进入**模型供应商** → **自定义模型** - 输入vLLM的API端点(如`http://host.docker.internal:8000/v1`) - 测试连接并保存配置 2. **创建知识库与应用** - 上传文档至知识库,选择vLLM支持的模型(如Llama-2) - 在应用编排中绑定模型和知识库 --- #### **常见问题排查** 1. **GPU无法识别** - 执行`nvidia-smi`验证驱动状态 - 添加`--runtime=nvidia`到docker run命令[^1] 2. **跨容器通信失败** - 使用`host.docker.internal`替代`localhost` - 检查防火墙是否开放8000/8080端口 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青苔猿猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值