25
2025
03
11:22:44

DeepSeek 本地部署指南(基于 vLLM)

本指南将详细介绍如何使用 vLLM 在本地部署 DeepSeek 语言模型。我们将以 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B 模型为例,逐步指导你完成环境配置、模型下载、vLLM 安装及推理服务的启动与调用。

1. 安装 Python 环境

在开始之前,你需要确保已安装 Python 环境。

图片

  • 访问 Python 官网:https://www.python.org/
  • 选择安装包:根据你的操作系统(Windows、macOS 或 Linux)下载并安装 Python。
  • 推荐版本:建议安装 Python 3.8 或更高版本。
  • 验证安装:安装完成后,打开终端(macOS/Linux)或命令提示符(Windows),输入以下命令以检查 Python 和 pip 是否安装成功:
  python --version
  pip --version

如果正确显示版本号,则说明 Python 环境已配置完成。

2. 下载 DeepSeek 模型

接下来,我们需要下载 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B 模型。

图片

  • 模型地址:https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
  • 安装 ModelScope:ModelScope 是一个模型中心,用于下载和管理模型。运行以下命令安装 ModelScope:
  pip install modelscope
  • 下载模型:使用以下命令下载模型并保存到本地:
  modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --local_dir /path/to/save/model

将 /path/to/save/model 替换为你希望保存模型的本地路径。

  • 磁盘空间:确保磁盘空间充足,该模型至少需要 15GB 的存储空间。
  • 关于 ModelScope:ModelScope 是一个开源社区,提供多种预训练模型。虽然某些模型可能需要注册账号,但 DeepSeek-R1-Distill-Qwen-7B 是公开的,可直接下载。
    图片

3. 安装 vLLM

vLLM 是一个高效的大型语言模型推理库,支持快速部署。

图片

  • vLLM 简介vLLM GitHub[1]
  • 官方文档vLLM 文档[2]

推荐使用虚拟环境:为避免包冲突,建议在虚拟环境中安装 vLLM。

  • 创建虚拟环境
python -m venv venv
  • 激活虚拟环境
# macOS/Linux:
source venv/bin/activate

# Windows:
venv\Scripts\activate
  • 安装 vLLM
  pip install vllm

4. 启动 vLLM 推理服务

模型下载完成后,可以使用 vLLM 启动推理服务。

启动命令

CUDA_VISIBLE_DEVICES=0 vllm serve /path/to/save/model --port 8102 --max-model-len 16384

参数说明:

  • CUDA_VISIBLE_DEVICES=0:指定使用的 GPU 设备 ID(0 表示第一块 GPU)。
  • /path/to/save/model:替换为模型的实际保存路径。
  • --port 8102:服务监听的端口号(可自定义)。
  • --max-model-len 16384:模型的最大上下文长度(可根据 GPU 显存调整)。

检查服务状态:启动后,终端会显示类似 INFO: Started server process 的信息。你也可以通过访问 http://localhost:8102/docs 查看 API 文档,验证服务是否正常运行。

GPU 显存:确保 GPU 显存充足。如果显存不足,可尝试减小 --max-model-len 的值。

5. 调用 vLLM 推理服务

服务启动后,可以通过代码调用 vLLM 提供的 API 进行推理。

Python 示例代码

from openai import OpenAI

# 配置 OpenAI API 密钥和 Base URL 以连接 vLLM 服务
openai_api_key = "EMPTY"# vLLM 服务不需要 API 密钥,可以使用任意字符串
openai_api_base = "http://localhost:8102/v1"  # 确保端口号与启动服务时一致

client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)

prompt = "你好,介绍一下你自己吧"  # 输入问题
response = client.completions.create(
    model="deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",  # 模型名称
    prompt=prompt,
    stream=False,  # 是否使用流式输出
)

print(response.choices[0].text)  # 输出模型回答

运行代码:将代码保存为 inference_example.py,然后在虚拟环境中运行:

python inference_example.py

注意事项

  • 确保 openai_api_base 中的端口号与 vLLM 服务端口一致。
  • 如果遇到错误,请检查服务状态、模型名称及网络连接。
    • vLLM 服务是否已成功启动并正在运行。
    • openai_api_base 中的端口号是否与 vLLM 服务端口号一致。
    • model 参数指定的模型名称是否正确。
    • 网络连接是否正常。
    • 查看 vLLM 服务端的日志输出,可能会有更详细的错误信息。

总结

通过以上步骤,你已成功在本地部署了 DeepSeek 模型,并能够通过 vLLM 进行推理。如果在部署过程中遇到问题,请参考 vLLM 官方文档或在相关社区寻求帮助。祝你使用愉快!

参考资料

[1]

vLLM GitHub: https://github.com/vllm-project/vllm

[2]

vLLM 文档: https://docs.vllm.ai/en/latest/




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/9709.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: