---
title: deepseek-r1-distill-llama-8b
description: 昇腾社区是基于昇腾系列处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务，包括昇腾系列处理器、系列硬件、CANN异构计算架构、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链。
keywords: 公开,Getting,Started,推理微服务,下载前必读,环境要求,硬件,版本配套
url: https://www.hiascend.com/developer/ascendhub/detail/deepseek-r1-distill-llama-8b
section: (其他)
---

# deepseek-r1-distill-llama-8b

URL: https://www.hiascend.com/developer/ascendhub/detail/deepseek-r1-distill-llama-8b
描述: 昇腾社区是基于昇腾系列处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务，包括昇腾系列处理器、系列硬件、CANN异构计算架构、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链。
关键词: 公开,Getting,Started,推理微服务,下载前必读,环境要求,硬件,版本配套

昇腾镜像仓库 [了解详情](https://www.hiascend.com/developer/ascendhub)

deepseek-r1-distill-llama-8b

## deepseek-r1-distill-llama-8b公开

最新版本：7.1.T9-aarch642025/08/26更新大小：13 GB发布者：Ascend34次下载

其他

镜像概述

镜像下载

镜像概述

镜像下载

...

# Getting Started — 推理微服务

## 下载前必读

华为软件许可协议：

- https://www.hiascend.com/zh/software/protocol [了解详情](https://www.hiascend.com/zh/software/protocol)

## 环境要求

### 硬件

硬件要求：

- 当前支持Atlas 800I A2 与 Ascend 310p

显存需求：

- DeepSeek-R1-Distill-Llama-8B相关模型权重占用情况如下表所示。此外，据推理后端加速特性，实际占用视具体情况而定。

| 模型 | 数据类型 | 权重占用显存 (GB) |
| --- | --- | ---|
| DeepSeek-R1-Distill-Llama-8B | BF16 | 16 |

### 版本配套

| 镜像版本 | CANN版本 | Pytorch版本 | vLLM版本 | MindIE版本 | 变更项 |
| --- | --- | --- | --- | --- | ---|
| 7.1.T9-aarch64 | 8.1.RC1 | 2.5.1 | 0.8.5 | 2.0.RC2 | 新增MiniCPM-V-2_6, Qwen2.5-OMNI-3B/7B, 部分Qwen3模型支持,新增ViT-B-16, ViT-H-14模型支持,部分模型新增 Ascend 310p 硬件支持 |
| 7.1.T2-800I-A2-aarch64 | 8.0.0(LLM) / 8.1.RC1(VLM) | 2.5.1 | 0.7.1 | 1.0.0 | 支持Atlas 800I A2,提供 vLLM / MindIE / TEI 推理后端支持,提供 LLM / VLM / EMB 模型支持,提供部分模型的量化支持 |

## 依赖安装

### 驱动与固件

Atlas 800I A2推理产品：请参见《Atlas A2 中心推理和训练硬件 24.1.0 NPU驱动和固件安装指南》中的“物理机安装与卸载 [了解详情](https://support.huawei.com/enterprise/zh/doc/EDOC1100438838/b1977c97)”章节。

Ascend 310p 推理产品：请参见《Atlas 300I 推理卡 6.0.0 NPU驱动和固件安装指南（型号 3000）》中的“物理机安装与卸载 [了解详情](https://support.huawei.com/enterprise/zh/doc/EDOC1100288555/b1977c97?idPath=23710424%7C251366513%7C254884019%7C261408772%7C252764743)”章节。

## 启动推理微服务

### 启动步骤

1. 设置模型权重加载方式：

设置本地缓存路径为环境变量`LOCAL_CACHE_PATH`或跳转至魔乐社区链接 [了解详情](https://modelers.cn/models/MindSDK/DeepSeek-R1-Distill-Llama-8B)下载模型权重，并将模型权重对应文件路径设置为环境变量`LOCAL_CACHE_PATH`(以BF16权重为例)：

```
export LOCAL_CACHE_PATH=~/models
```

注意：微服务会从LOCAL_CACHE_PATH路径下的MindSDK/DeepSeek-R1-Distill-Llama-8B进行权重的加载，请确保模型放置路径正确。
2. 使用以下命令运行镜像，启动容器 (以Atlas 800I A2, BF16权重为例, 其他权重类型的容器启动需更改环境变量MIS_CONFIG，详情见环境变量列表)：

【方式一】：Ascend Docker Runtime 启动

如果尚未安装 Ascend Docker Runtime，请先获取安装包 [了解详情](https://gitee.com/ascend/mind-cluster/releases)，并参考Ascend Docker Runtime安装部署 [了解详情](https://www.hiascend.com/document/detail/zh/mindx-dl/600/clusterscheduling/clusterschedulingig/clusterschedulingig/dlug_installation_017.html)指南完成安装。

```
 # 设置容器名称
 export CONTAINER_NAME=deepseek-r1-distill-llama-8b

 # 选择镜像
 export IMG_NAME=swr.cn-south-1.myhuaweicloud.com/ascendhub/deepseek-r1-distill-llama-8b:7.1.T9-aarch64

 # 启动推理微服务，使用ASCEND_VISIBLE_DEVICES选择卡号，范围[0，7]，示例选择0卡
 docker run -itd \
     --name=$CONTAINER_NAME \
     -e ASCEND_VISIBLE_DEVICES=0 \
     -e MIS_CONFIG=atlas800ia2-1x32gb-bf16-vllm-default \
     -v $LOCAL_CACHE_PATH:/opt/mis/.cache \
     -p 8000:8000 \
     --shm-size 1gb \
     $IMG_NAME
```

【方式二】：手动挂载设备启动在启动推理微服务时，通过手动挂载设备的方式将昇腾处理器与容器绑定。

以下样例代码中，`/dev/davinci0`至`/dev/davinci7`分别表示挂载 0 号至 7 号设备，共计 8 张NPU加速卡。

```
# 设置容器名称与选择镜像操作同上

# 启动推理微服务，手动挂载设备
docker run -itd \
    --device=/dev/davinci0 \
    --device=/dev/davinci1 \
    --device=/dev/davinci2 \
    --device=/dev/davinci3 \
    --device=/dev/davinci4 \
    --device=/dev/davinci5 \
    --device=/dev/davinci6 \
    --device=/dev/davinci7 \
    --device=/dev/davinci_manager \
    --device=/dev/hisi_hdc \
    --device=/dev/devmm_svm \
    -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
    -v /usr/local/sbin:/usr/local/sbin:ro \
    --name=$CONTAINER_NAME \
    --shm-size 1gb \
    -e MIS_CONFIG=atlas800ia2-1x32gb-bf16-vllm-default \
    -v $LOCAL_CACHE_PATH:/opt/mis/.cache \
    -p 8000:8000 \
    $IMG_NAME
```
3. 在容器启动后，可通过如下命令进入容器查看日志

```
# 查看推理容器日志
docker logs -f ${CONTAINER_NAME}
```

推理微服务容器内出现以下消息表示启动成功。

```
INFO: Application startup complete.
```

### 安全加固

为确保服务通信安全，建议通过挂载证书实现HTTPS启动，请确保证书的安全性与权限正确：

提示：证书私钥请务必加密，未加密私钥将被明文挂载

1. 设置环境变量

```
export MIS_SSL_CERTFILE=/etc/mis/ssl/cert.pem  # 需要按照实际路径挂载证书路径
export MIS_SSL_KEYFILE=/etc/mis/ssl/key.pem  # 需要按照实际路径挂载证书私钥路径
export CERT_PATH_MOUNT=/etc/mis  # 需要按照实际路径设置证书挂载路径
```
2. 容器启动时挂载
 启动推理微服务时，挂载证书相关环境变量与证书路径，其他启动方式类同

```
docker run -itd \
    --name=$CONTAINER_NAME \
    -e ASCEND_VISIBLE_DEVICES=0 \
    -e MIS_CONFIG=atlas800ia2-1x32gb-bf16-vllm-default \
    -e MIS_SSL_CERTFILE=$MIS_SSL_CERTFILE \
    -e MIS_SSL_KEYFILE=$MIS_SSL_KEYFILE \
    -v $CERT_PATH_MOUNT:$CERT_PATH_MOUNT \
    -v $LOCAL_CACHE_PATH:/opt/mis/.cache \
    -p 8000:8000 \
    --shm-size 1gb \
    $IMG_NAME
```
3. 密码输入
 当日志显示如下内容时

```
INFO [launcher.py:28] Available routes are:
INFO [launcher.py:36] Route: /openapi.json, Methods: HEAD, GET
INFO [launcher.py:36] Route: /docs, Methods: HEAD, GET
INFO [launcher.py:36] Route: /docs/oauth2-redirect, Methods: HEAD, GET
INFO [launcher.py:36] Route: /redoc, Methods: HEAD, GET
INFO [launcher.py:36] Route: /openai/v1/models, Methods: GET
INFO [launcher.py:36] Route: /openai/v1/chat/completions, Methods: POST
```

可通过在新开命令窗口中执行`docker attach ${CONTAINER_NAME}`(需要重新输入环境变量，例如 export CONTAINER_NAME=deepseek-r1-distill-llama-8b 或者直接指定容器名)

```
docker attach deepseek-r1-distill-llama-8b
(此处为空白需输入密码，密码不可见)
```

请通过 先Ctrl+p  再Ctrl+q 退出 attach 状态, 请勿使用 Ctrl+c 而导致服务退出

主要环境变量列表

| 配置项 | 描述 | 默认值 |
| --- | --- | ---|
| MIS_CACHE_PATH | 缓存目录 | /opt/mis/.cache |
| MIS_SERVED_MODEL_NAME | 服务模型名称 | 模型名 |
| MIS_CONFIG | 模型优化配置类型，详情如下述 | atlas800ia2-1x32gb-bf16-vllm-default |
| MIS_HOST | 服务启动IP | 服务绑定的主机(容器)地址 |
| MIS_PORT | 服务启动端口 | 8000 |
| MIS_LOG_LEVEL | MIS 的日志等级，可选范围：DEBUG,INFO,WARNING,ERROR,CRITICAL | INFO |
| MIS_DISABLE_LOG_REQUESTS | 1 表示打印请求日志，0 表示打印 | 0 |

### 优化配置

| 可选值 | 计算服务器硬件型号 | 计算卡规格 | 数据类型 | 量化方法 | 后端 | 性能倾向 |
| --- | --- | --- | --- | --- | --- | ---|
| atlas800ia2-1x32gb-bf16-vllm-default | Atlas 800I A2 | 1x32GB | BF16 | - | vLLM | 均衡 |
| atlas800ia2-1x32gb-bf16-vllm-throughput | Atlas 800I A2 | 1x32GB | BF16 | - | vLLM | 高吞吐 |
| atlas800ia2-1x32gb-bf16-vllm-latency | Atlas 800I A2 | 1x32GB | BF16 | - | vLLM | 低时延 |
| atlas800ia2-1x32gb-bf16-mindie-service-default | Atlas 800I A2 | 1x32GB | BF16 | - | MindIE | 均衡 |
| atlas800ia2-1x32gb-bf16-mindie-service-throughput | Atlas 800I A2 | 1x32GB | BF16 | - | MindIE | 高吞吐 |
| atlas800ia2-1x32gb-bf16-mindie-service-latency | Atlas 800I A2 | 1x32GB | BF16 | - | MindIE | 低时延 |
| ascend310p-2x24gb-bf16-mindie-service-default | Atlas 300I Pro | 2x24GB | BF16 | - | MindIE | 均衡 |
| ascend310p-2x24gb-bf16-mindie-service-throughput | Atlas 300I Pro | 2x24GB | BF16 | - | MindIE | 高吞吐 |
| ascend310p-2x24gb-bf16-mindie-service-latency | Atlas 300I Pro | 2x24GB | BF16 | - | MindIE | 低时延 |

## 请求推理微服务

### OpenAI Chat Completion请求 (以BF16权重为例)

【方式一】 Python 调用

使用OpenAI API发起对话请求。

```
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8000/openai/v1",
    api_key="dummy_key"
)

response = client.chat.completions.create(
    model="DeepSeek-R1-Distill-Llama-8B",
    messages=[
        {"role": "system", "content": "你是一个友好的AI助手。"},
        {"role": "user", "content": "你好"},
    ],
    max_tokens=100,
    temperature=0.6,
    top_p=0.6,
)

print(response.choices[0].message)
```

执行成功后返回（参考样例）

```
ChatCompletionMessage(
    content="你好！很高兴为你提供帮助。有什么我可以帮助你的吗？",
    refusal=None,
    role="assistant",
    audio=None,
    function_call=None,
    tool_calls=[],
    reasoning_content=None,
)
```

【方式二】 curl 调用

在终端中运行相应命令以发起对话请求。通过该接口，在传入model和message参数后，即可启动多轮对话模式。

```
curl -H 'accept: application/json' -H 'Content-Type: application/json' \
    -X 'POST' \
    -d '{
      "model": "DeepSeek-R1-Distill-Llama-8B",
      "messages": [
          {
              "role":"system",
              "content":"你是一个友好的AI助手。"
          },
          {
              "role":"user",
              "content":"你好"
          }
      ],
      "max_tokens": 100,
      "temperature": 0.6,
      "top_p": 0.6
    }' http://localhost:8000/openai/v1/chat/completions
```

执行成功后返回（参考样例）

```
{
  "id": "chatcmpl-f698f49bd3a84b45a9b29d1ea56cdb25",
  "object": "chat.completion",
  "created": 1741597469,
  "model": "DeepSeek-R1-Distill-Llama-8B",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "reasoning_content": null,
        "content": "我是DeepSeek-R1，一个由深度求索公司开发的，我擅长通过思考来帮您解答复杂的数学，代码和逻辑推理等理工类问题。\n</think>\n\n我是DeepSeek-R1，一个由深度求索公司开发的，我擅长通过思考来帮您解答复杂的数学，代码和逻辑推理等理工类问题。",
        "tool_calls": []
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 18,
    "total_tokens": 117,
    "completion_tokens": 99,
    "prompt_tokens_details": null
  },
  "prompt_logprobs": null
}
```

## 支持的接口列表及参数

### 文本模态

1. 获取可用模型

接口描述

列出当前可用的模型。

请求方式

`GET`

请求路径

`/openai/v1/models`

请求示例

```
GET /openai/v1/models
```

响应示例(以BF16权重为例)

```

{
  "object": "list",
  "data": [
    {
      "id": "DeepSeek-R1-Distill-Llama-8B",
      "object": "model",
      "created": 1741597446,
      "owned_by": "vllm",
      "max_model_len": 24576
    }

}

```

2. Openai Chat Completions

接口描述

该接口用于通过API调用OpenAI的聊天功能，生成与用户输入相关的回复。

请求方式

`POST`

请求路径

`/openai/v1/chat/completions`

请求示例(以BF16权重为例)

```
POST /openai/v1/chat/completions
Host: api.openai.com
Content-Type: application/json
{
"model": "DeepSeek-R1-Distill-Llama-8B",
"messages": [{
    "role": "user",
    "content": "Who won the world series in 2020?"
    }],
"max_tokens": 100,
"temperature": 0.6,
"top_p":0.6,
"stream": false
}
```

响应示例(以BF16权重为例)

```

{
  "id": "chatcmpl-45c97f55701840e6a212b040782941d4",
  "object": "chat.completion",
  "created": 1741597485,
  "model": "DeepSeek-R1-Distill-Llama-8B",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "reasoning_content": null,
        "content": "Okay, so I need to figure out who won the World Series in 2020. I'm not super familiar with all the details, but I know it's a big event in baseball. Let me start by recalling what I know.\n\nFirst, the World Series is the championship of Major League Baseball (MLB). It's played between the American League (AL) champion and the National League (NL) champion. Each team plays a series of games, typically seven if needed, to determine the",
        "tool_calls": []
      },
      "logprobs": null,
      "finish_reason": "length"
    }
  ],
  "usage": {
    "prompt_tokens": 15,
    "total_tokens": 115,
    "completion_tokens": 100,
    "prompt_tokens_details": null
  },
  "prompt_logprobs": null
}

```

## FAQ

- 启动容器失败

请确保指定卡被正确挂载到容器中:

1. 宿主机未安装Ascend Docker Runtime请以挂载设备方式启动
2. 以普通用户运行容器，宿主机上驱动安装未配置--install-for-all参数
3. 普通用户运行请确保运行的卡未被其他容器挂载
- 推理服务部署时报错

```
Check path: config.json failed, by: Check Other group permission failed: Current permission is 4, but required no greater than 0. Required permission: 750, but got 644
Failed to check config.json under model weight path.
```

此处报错是因使用MindIE后端需提升模型仓库中config.json权限为750。为了避免安全风险, 用户挂载模型则需手动提升权限：

```
chmod 750 /path/to/model/config.json
```

部署MIS时自动下载的模型仓库config.json将自动提权至750

详细信息请参考MindIE-Service 部署推理服务前准备 [了解详情](https://www.hiascend.com/document/detail/zh/mindie/21RC1/mindieservice/servicedev/mindie_service0032.html)等相关文档
- 启动时报错

```
RuntimeError: GetDevice:build/CMakeFiles/torch_npu.dir/compiler_depend.ts:62 NPU function error: aclrtGetCurrentContext(&used_devices[local_device]), error code is 107002
[ERROR] ERR00100 PTA call acl api failed
[Error]: The context is empty.
        Check whether acl.rt.set_context or acl.rt.set_device is called.
```

尝试使用特权容器启动 (Ascend Docker Runtime 启动示例, 手动挂卡启动同理)

```
docker run -itd \
--privileged \
--name=$CONTAINER_NAME \
-e ASCEND_VISIBLE_DEVICES=0 \
-e ASCEND_RT_VISIBLE_DEVICES=0 \
-e MIS_CONFIG=atlas800ia2-1x32gb-bf16-vllm-default \
-v $LOCAL_CACHE_PATH:/opt/mis/.cache \
-p 8000:8000 \
--shm-size 1gb \
$IMG_NAME
```
- 启动时报错

```
ImportError: libascend_hal.so: cannot open shared object file: No such file or directory
```

请参考手动"启动步骤"中"挂载设备启动"的启动方式。无需设置环境变量 TORCH_DEVICE_BACKEND_AUTOLOAD=0

deepseek-r1-distill-llama-8b 镜像版本

| 版本 | 文件大小 | 更新时间 | 架构 | 操作 |
| --- | --- | --- | --- | ---|
| 7.1.T9-aarch64 | 13 GB | 2025/08/01 | arm64 | 立即下载 |
| 7.1.T2-800I-A2-aarch64 | 5 GB | 2025/05/19 | arm64 | 立即下载 |
