快速指引

最近更新时间:2026-03-26 16:58:11

我的收藏
本文档旨在引导您完成在边缘安全加速平台 EO 的边缘推理中部署开源或者自有模型及调用 API 的完整过程。您将了解如何创建推理服务、管理服务凭证、发起推理请求以及进行基础的故障排查,从而帮助您将边缘推理的 AI模型能力集成到您的应用中。我们将以部署 Llama-3.2-3B-Instruct 大语言模型为示例,演示从环境准备到模型上线调用的全流程。
说明:
边缘推理当前仅支持企业版套餐,同时需要申请白名单后使用,如您有需要请联系商务或 联系我们
本指南以 Linux/macOS 环境为例,Windows 用户请在 WSL 或 Docker Desktop 环境下操作。

前置条件

在开始之前,请确保您已准备好以下内容:
准备项
说明
腾讯云账号
已完成实名认证的腾讯云账号
企业版套餐
已订购 EdgeOne 企业版套餐
Docker 环境
本地已安装 Docker(建议 Docker 20.10+),用于构建和推送镜像
腾讯云容器镜像服务(TCR)
已开通腾讯云容器镜像服务(个人版即可),用于存储自定义镜像
GPU 服务器(可选)
如需在本地测试镜像运行,需具备 NVIDIA GPU 的机器;仅做构建则不需要

创建推理服务并调用

以下步骤演示了如何将一个模型部署为在线服务,并进行调用。此流程同时适用于传统模型(如 OCR、语音识别)和大语言模型(LLM)或者文生图模型等。

步骤一:登录腾讯云控制台

1. 打开浏览器访问 腾讯云控制台,使用您的腾讯云账号登录。
2. 在控制台顶部搜索栏中输入 边缘安全加速平台EO,或在左侧导航中找到 边缘安全加速平台EO,点击进入。
3. 在 EdgeOne 控制台左侧导航中,找到并点击服务总览菜单,选择边缘推理进入边缘推理管理页面。

步骤二:准备自定义镜像(以 Llama-3.2-3B 为例)

边缘推理通过容器化方式部署模型。您需要编写一个 Dockerfile,将模型文件、推理框架和依赖项打包成一个完整的 Docker 镜像。

2.1 创建项目目录

在本地创建一个工作目录:
mkdir llama3-edge-inference && cd llama3-edge-inference

2.2 编写 Dockerfile

在项目目录中创建 Dockerfile 文件。以下示例使用 vLLM 作为推理框架,从 ModelScope 下载 Llama-3.2-3B-Instruct 模型:
# ============================================================
# Dockerfile for Llama3.2-3B Model with vLLM 0.6.3.post1
# ============================================================

# 使用 vLLM 官方 OpenAI 兼容镜像作为基础镜像
FROM vllm/vllm-openai:v0.6.3.post1

# 设置环境变量,跳过 HuggingFace Hub 在线验证(离线模式)
ENV HF_HUB_OFFLINE=1
ENV HF_HOME=/data/models
ENV TRANSFORMERS_CACHE=/data/models

# 安装 modelscope 用于下载模型(使用国内镜像源加速)
RUN pip3 install --no-cache-dir modelscope -i https://pypi.tuna.tsinghua.edu.cn/simple

# 创建模型目录并下载模型文件
RUN mkdir -p /data/models/LLM-Research/Llama-3.2-3B-Instruct && \\
python3 -c "from modelscope import snapshot_download; snapshot_download('LLM-Research/Llama-3.2-3B-Instruct', local_dir='/data/models/LLM-Research/Llama-3.2-3B-Instruct')"

# 暴露推理服务端口
EXPOSE 8000

# 启动参数说明:
# --host 0.0.0.0 监听所有网络接口
# --port 8000 服务监听端口
# --model 模型文件路径
# --trust-remote-code 信任远程代码(部分模型需要)
# --dtype half 使用半精度推理,降低显存占用
# --max-model-len 8192 最大上下文长度
CMD ["--host", "0.0.0.0", \\
"--port", "8000", \\
"--model", "/data/models/LLM-Research/Llama-3.2-3B-Instruct", \\
"--trust-remote-code", \\
"--dtype", "half", \\
"--max-model-len", "8192"]
关键参数说明:
参数
说明
FROM vllm/vllm-openai:v0.6.3.post1
基础镜像已内置 vLLM 推理引擎和 OpenAI 兼容 API 接口
HF_HUB_OFFLINE=1
禁用在线模型验证,确保容器在无外网环境下也可启动
--dtype half
使用 FP16 半精度推理,Llama-3.2-3B 模型约需 6GB 显存
--max-model-len 8192
设置最大上下文窗口为 8192 tokens
说明:
请根据您的实际模型和推理框架调整 Dockerfile。如果您使用其他框架(例如 SGLang 等),请参考对应框架的容器化文档。

步骤三:构建 Docker 镜像

3.1 构建镜像

在 Dockerfile 所在目录执行以下命令构建镜像:
docker build -t llama3-3b-vllm:v1.0 .
构建过程将依次执行以下操作:
1. 拉取 vLLM 基础镜像。
2. 安装 ModelScope 依赖。
3. 下载 Llama-3.2-3B-Instruct 模型文件(约 6GB,请耐心等待)。
说明:
首次构建可能需要 10-30 分钟,取决于网络速度。建议在网络稳定的环境下执行。如果因网络问题下载失败,可以重新执行构建命令,Docker 会从上次中断的步骤继续。更多 Docker 教程,您可以查看官方 Docker 教程

3.2 验证镜像(可选)

构建完成后,可以查看镜像信息:
docker images | grep llama3-3b-vllm
预期输出:
llama3-3b-vllm v1.0 xxxxxxxxxxxx xx minutes ago 约15GB
如果您本地有 GPU 环境,可以运行以下命令测试镜像是否正常工作:
docker run --gpus all -p 8000:8000 llama3-3b-vllm:v1.0
等待服务启动完成后(日志中出现 Uvicorn running on http://0.0.0.0:8000),在另一个终端窗口执行测试请求:
curl http://localhost:8000/v1/chat/completions \\
-H "Content-Type: application/json" \\
-d '{
"model": "/data/models/LLM-Research/Llama-3.2-3B-Instruct",
"messages": [{"role": "user", "content": "Hello!"}],
"max_tokens": 50
}'

步骤四:推送镜像至腾讯云容器镜像服务(TCR)

构建好的镜像需要上传到腾讯云容器镜像服务(TCR),以便边缘推理平台拉取和部署。

4.1 开通容器镜像服务

如果您尚未开通 TCR,请参见 容器镜像服务快速入门
2. 创建一个命名空间(如 edge-inference)。
3. 在命名空间下创建一个镜像仓库(如 llama3-3b-vllm)。

4.2 登录 TCR

在本地终端执行以下命令登录 TCR(请替换为您的实际实例信息):
# 个人版 TCR 登录
docker login ccr.ccs.tencentyun.com --username=<腾讯云账号ID>
系统会提示输入密码,请输入您在 TCR 控制台中设置的镜像仓库密码。
说明:
如果使用企业版 TCR,登录地址格式为 <实例名>.tencentcloudcr.com,请参考 TCR 控制台获取具体地址。

4.3 标记并推送镜像

# 为镜像打标签(请替换为您的实际仓库地址)
docker tag llama3-3b-vllm:v1.0 ccr.ccs.tencentyun.com/edge-inference/llama3-3b-vllm:v1.0

# 推送镜像到 TCR
docker push ccr.ccs.tencentyun.com/edge-inference/llama3-3b-vllm:v1.0
说明:
由于模型镜像较大(约 15GB),推送时间取决于上行带宽,建议在带宽充足的环境下操作。

4.4 确认上传成功

登录 TCR 控制台,在对应的镜像仓库中确认镜像已成功上传,可以看到 v1.0 标签的镜像。

步骤五:创建项目

项目是边缘推理的一级资源,用于组织和管理多个推理服务。一个项目可以包含多个推理服务,您还可以通过项目绑定标签来实现权限管控。
1. 在 EdgeOne 控制台的边缘推理页面,单击创建项目

创建项目


2. 填写项目信息:
项目名称:输入项目名称(如 llm-inference-project
绑定套餐:选择您已订购的企业版套餐

填写项目信息


3. 完成项目创建后,点击项目名称进入项目详情页,即可开始创建推理服务。

步骤六:创建推理服务

服务是边缘推理的核心单元。创建服务意味着将您上传的镜像以容器形式部署到边缘节点,平台将为您提供一个公网可访问的服务地址。
在已创建的项目中,单击创建服务

创建服务



6.1 基础设置

配置项
说明
示例值
服务名称
服务的唯一标识,创建后无法修改
llama3-3b-service
描述
服务的用途说明,最多60字符
Llama-3.2-3B 推理服务

6.2 镜像设置

配置项
说明
示例值
镜像
选择您账号下已上传至 TCR 的镜像
ccr.ccs.tencentyun.com/edge-inference/llama3-3b-vllm:v1.0
启动命令
容器启动时执行的命令。如不填写,则使用镜像中的 ENTRYPOINT/CMD
留空(使用 Dockerfile 中已定义的 CMD)
监听端口
您的推理服务 HTTP Server 监听的端口
8000
环境变量
运行时环境变量配置
变量名:HF_HOME,变量值:/data/models
请求路径
客户端调用推理服务的 API 路径
/v1/chat/completions
关于启动命令:
本示例中 Dockerfile 已通过 CMD 设置了启动参数,因此可以留空。如果需要覆盖默认参数,可以填写完整的启动命令,例如:
python3 -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --port 8000 --model /data/models/LLM-Research/Llama-3.2-3B-Instruct --trust-remote-code --dtype half --max-model-len 8192

6.3 资源设置

配置项
说明
选择资源
当前提供入门型基础型两种 GPU 资源规格,选择后无法更改
注意:
所选的实例规格(尤其是 GPU 显存)必须满足模型运行的要求。Llama-3.2-3B 使用 FP16 推理时约需 6GB 显存,请选择显存 ≥ 8GB 的规格,否则可能导致显存溢出(OOM)而部署失败。

6.4 高级设置

配置项
说明
建议配置
扩缩容
自动:根据请求量自动扩缩容
手动:固定实例数,常驻运行并持续收费
建议选择自动,节省成本
并发数
单实例的并发请求数上限
对于 LLM 推理,建议设为 1-5,取决于模型大小和显存

6.5 完成创建

完成以上配置后单击创建,系统将开始部署服务。请耐心等待服务状态从「部署中」转为「运行中」,表示服务已就绪。
说明:
首次部署需要拉取镜像到边缘节点,由于镜像较大,部署时间可能需要 5-15 分钟。您可以在服务详情页查看部署日志。

步骤七:创建 API Token 并获取服务信息

服务成功运行后,您需要创建 API Token 用于鉴权,并获取服务的访问地址。

7.1 进入服务详情

点击服务名称进入服务详情页面,在基础信息中您可以看到:
服务状态:应显示为「运行中」。
访问地址:平台分配的公网访问 URL(如 https://your-service-id.edgeone-infer.com)。
请求示例:平台自动生成的调用示例。

7.2 创建 API Token

边缘推理的所有请求都需要通过 Bearer Token 进行鉴权,因此需要先创建 API Token。
1. 单击服务详情中的请求示例

请求示例


2. 单击创建 API Token。输入 Token 名称(如 my-first-token),系统将自动生成一个 API Token。

创建Token


3. 创建完成后,Token 会自动填入请求示例中。您也可以在左侧菜单的 API Token 页面中集中管理所有 Token。
说明:
API Token 是访问推理服务的重要凭证,请妥善保管。Token 默认以掩码形式显示,点击可复制完整内容。请勿在公开场所泄露您的 Token。

步骤八:调用模型服务

服务部署成功并获取 API Token 后,您可以通过 HTTP API 调用模型。请将以下示例中的 YOUR_SERVICE_URLYOUR_BEARER_TOKEN 替换为您的实际信息:
curl https://YOUR_SERVICE_URL/v1/chat/completions \\
-H "Authorization: Bearer YOUR_BEARER_TOKEN" \\
-H "Content-Type: application/json" \\
-d '{
"model": "/data/models/LLM-Research/Llama-3.2-3B-Instruct",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello, who are you?"}
],
"max_tokens": 256,
"temperature": 0.7
}'
预期响应示例:
{
"id": "cmpl-xxxxxxxx",
"object": "chat.completion",
"created": 1739260800,
"model": "/data/models/LLM-Research/Llama-3.2-3B-Instruct",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I'm Llama, a helpful AI assistant developed by Meta. I'm here to help you with questions, provide information, and assist with various tasks. How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 42,
"total_tokens": 67
}
}

请求参数说明

参数
类型
必填
说明
model
string
模型路径,与容器内模型文件路径一致
messages
array
对话消息列表,包含 role(system/user/assistant)和 content
max_tokens
integer
最大生成 token 数,默认由模型决定
temperature
float
生成温度,范围 0-2,值越高输出越随机,默认 1.0
top_p
float
核采样参数,范围 0-1,默认 1.0
stream
boolean
是否启用流式输出,默认 false
stop
string/array
停止生成的标记词

常见问题排查

问题
可能原因
解决方法
服务状态一直显示「部署中」
镜像过大,拉取时间较长
等待 15-30 分钟;检查镜像是否正确上传至 TCR
服务状态显示「部署失败」
GPU 显存不足或镜像启动异常
检查资源规格是否满足模型要求;查看部署日志排查错误
API 请求返回 401
Token 无效或过期
检查 Authorization 头是否正确;确认 Token 格式为 Bearer <token>
API 请求返回 502/504
服务未就绪或请求超时
确认服务状态为「运行中」;适当增加超时时间
返回 OOM 错误
显存不足
降低 --max-model-len 参数值;选择更高规格的 GPU 资源