使用vllm部署大模型

使用 vllm 部署大模型

部署前准备

需要把想运行的模型下载到服务器上
  • 以 通义千问-7B 为案例
下载模型
shell 复制代码
git lfs install
pip install -U huggingface_hub
huggingface-cli download --resume-download Qwen/Qwen-7B-Chat --local-dir Qwen-7B-Chat

开始部署

第一步 设置 conda 环境

shell 复制代码
# 创建新的 conda 环境.
conda create -n llm python=3.9 -y

conda activate llm

第二步 安装 vllm

shell 复制代码
pip install vllm

第三步 安装 modelscope

用于下载镜像加速

shell 复制代码
pip install modelscope

第四步 运行我们的模型

shell 复制代码
VLLM_USE_MODELSCOPE=True python -m vllm.entrypoints.openai.api_server  --model="/home/Qwen-7B-Chat" --trust-remote-code --port 6006

第五步测试:

记得把下面的地址换成自己服务的地址

shell 复制代码
curl http://localhost:6006/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "/home/Qwen-7B-Chat",
        "max_tokens":60,
        "messages": [
            {
                "role": "user",
                "content": "你是谁?"
            }
        ]
    }'

扩展

自定义api-key:

  • 如果想带上api-key,可以在执行命令的时候带上:

    shell 复制代码
    VLLM_USE_MODELSCOPE=True python -m vllm.entrypoints.openai.api_server  --model="/home/Qwen-7B-Chat" --dtype auto --api-key sk-llm --trust-remote-code --port 6006
  • 测试

    shell 复制代码
    curl http://localhost:6006/v1/chat/completions \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer sk-llm" \
        -d '{
           "model": "/home/Qwen-7B-Chat",
            "max_tokens":60,
            "messages": [
                {
                    "role": "user",
                    "content": "你是谁?"
                }
            ]
        }'

启动多GPU服务:

  • 要运行多GPU服务,在启动命令加上--tensor-parallel-size参数,比如2张GPU卡:
shell 复制代码
VLLM_USE_MODELSCOPE=True python -m vllm.entrypoints.openai.api_server --model="/home/Qwen-7B-Chat" --dtype auto --api-key sk-llm  --trust-remote-code --port 6006 --tensor-parallel-size 2
  • 测试

    shell 复制代码
    curl http://localhost:6006/v1/chat/completions \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer sk-llm" \
        -d '{
           "model": "/home/Qwen-7B-Chat",
            "max_tokens":60,
            "messages": [
                {
                    "role": "user",
                    "content": "你是谁?"
                }
            ]
        }'

总结

  • 在huggingface hub拉取镜像,推荐用 官方提供的专门下载而设计的工具链huggingface-cli。不仅可以下载模型、数据、还可以登录huggingface、上传模型和数据等。但缺点是不支持多线程。
  • 不建议用git clone的方式,虽然很简单,但是不支持断点续传,主要是clone会下载历史版本占用磁盘空间,.git文件夹会比较大。
  • ollama和vllm两个都是目前流行的部署大模型的工具,各有优势。vllm有对内存做了优化和推理加速;ollama则通过量化,使模型变小,轻量部署,适用于不同的场景。
相关推荐
帐篷Li3 分钟前
【AgenticCPS 】CPS联盟返利系统 - 实施计划
大数据·网络·人工智能
罗罗攀3 分钟前
PyTorch学习笔记|张量的广播和科学运算
人工智能·pytorch·笔记·python·学习
倦王4 分钟前
Dify2:提示词工程与运用
人工智能
PhotonixBay16 分钟前
共聚焦显微镜的结构组成与应用
人工智能·算法·机器学习
大傻^22 分钟前
Spring AI Alibaba Function Calling:外部工具集成与业务函数注册
java·人工智能·后端·spring·springai·springaialibaba
SuniaWang23 分钟前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题四:《Ollama 模型管理与调优:让 AI 模型在低配服务器上流畅运行》
人工智能·学习·spring
anscos_yumi33 分钟前
Altair OptiStruct:重构结构研发逻辑,引领工业仿真与优化新纪元
人工智能·科技·软件工程
市象44 分钟前
小红书盯上“AI版郑州帮”
人工智能·网络安全·传媒
人工智能AI技术1 小时前
DeskClaw Windows上线|C#开发AI桌面助手,轻量内核源码解析
人工智能·c#
璞华Purvar1 小时前
园区运营管理系统是什么?如何实现园区全业务精细化数字化管理?(2026年)
大数据·人工智能