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

人工智能
你已成功在本地部署了 DeepSeek 模型,并能够通过 vLLM 进行推理。如果在部署过程中遇到问题,请参考 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/

责任编辑:武晓燕 来源: 数据STUDIO
相关推荐

2025-02-03 06:00:00

2025-02-12 08:21:55

OllamaChatboxDeepSeek

2025-02-11 00:00:25

2025-02-11 12:15:57

2025-02-13 08:30:11

2025-02-24 00:00:09

2025-02-10 11:11:47

2025-02-18 00:04:00

DeepSeek模型ChatGPT

2025-02-08 11:07:35

2025-02-19 07:53:19

2025-02-11 09:29:07

2025-02-13 00:00:12

LangServeDeepsee大模型

2020-03-06 16:00:04

KubernetesSpark容器

2025-02-10 00:00:10

2024-01-10 09:00:00

OpenAILocalGPT开源大模型

2025-02-14 09:10:47

2025-02-14 00:00:35

2020-05-20 13:20:45

KubernetesSpark数据

2023-11-22 15:30:22

云计算
点赞
收藏

51CTO技术栈公众号