推理服务是工作站内的模型推理实例,支持从 ModelGallery 或自定义模型创建。本文介绍如何创建、管理和调用推理服务。
从 ModelGallery 创建
ModelGallery 提供预置模型,无需准备模型文件,选择模型和部署模板后配置资源即可完成创建。
登录 PAI 控制台,选择模型部署 > TokenWorks,在右侧选择工作空间进入TokenWorks。
在TokenWorks左侧导航栏,单击服务,进入推理服务页签。
单击创建服务,配置基础信息:
参数
说明
服务名称
支持小写字母、数字、下划线,必须以小写字母开头。同一地域内名称唯一。
模型类型
选择 ModelGallery。
模型选择
从列表中选择目标模型,例如 GLM-5.2-FP8。单击更换可切换模型。
部署模板
根据推理引擎和部署方式选择合适的部署模板。
选择资源类型,并根据所选类型配置对应参数。可用的资源类型因部署模板而异,以页面实际展示的选项为准。
资源类型
参数说明
公共资源
副本数:默认为1,根据实际需要调整;
部署资源:从规格列表中选择 GPU 型号,支持配置多种实例规格,将按顺序尝试调度。可开启竞价模式降低成本。
EAS资源组
EAS资源组:选择已购的 EAS 专属资源组,页面显示当前 GPU/CPU/内存的已使用量与总量;
资源配置:填写副本数×GPU(卡)×CPU(核)×内存(GB)×系统盘(GB),根据模板自动填充,不建议修改。
说明注意检查资源组是否有足够余量。
资源配额
资源配额:选择已购配额;
优先级:取值 1~9,数字越大优先级越高。
资源配置:填写副本数×GPU(卡)×CPU(核)×内存(GB)×系统盘(GB)。根据模板自动填充,不建议修改。
EP+PD 分离模板:分别切换到 Prefill 和 Decode Tab,各配置一次。Prefill 阶段显存需求通常高于 Decode 阶段,两个节点可分别指定不同规格。
(可选)在缓存服务区域,选择已创建的 KV Cache 服务。
说明启用后,绑定同一 KV Cache 服务的推理服务共享同一份 KV 缓存,可显著降低首 Token 延迟(TTFT)并提升吞吐量,适合多轮对话、RAG 等前缀重复度高的场景。使用前请先创建KV Cache 服务,详见创建与管理 KV Cache 服务。
确认底部费用后,单击部署。
从自定义模型创建
自定义模型支持使用已上传至 OSS、NAS或智算CPFS 的私有模型,需手动配置推理镜像和启动命令。
登录 PAI 控制台,选择模型部署 > TokenWorks,在右侧选择工作空间进入TokenWorks。
在TokenWorks左侧导航栏,单击服务,进入推理服务页签。
单击创建服务,配置基础信息:
参数
说明
服务名称
支持小写字母、数字、下划线,必须以小写字母开头。同一地域内名称唯一。
模型类型
选择自定义模型。
缓存服务
(可选)选择已创建的 KV Cache 服务。
说明启用后,绑定同一 KV Cache 服务的推理服务共享同一份 KV 缓存,可显著降低首 Token 延迟(TTFT)并提升吞吐量,适合多轮对话、RAG 等前缀重复度高的场景。使用前请先创建KV Cache 服务,详见创建与管理 KV Cache 服务。
开启 PD 分离
开启后,Prefill(预填充)和 Decode(解码)阶段由独立节点承担,可分别为两类节点配置镜像、命令和资源规格。适用于需要分阶段优化资源的高吞吐场景。
配置服务与资源。若已开启 PD 分离,切换到 Prefill(预填充) 和 Decode(解码) Tab,分别完成以下配置。
配置以下参数:
参数
说明
镜像配置
选择官方镜像(内置推理框架,推荐)、自定义镜像或直接输入镜像地址。
存储挂载
挂载模型文件所在存储,支持 OSS、通用 NAS、极速 NAS、智算 CPFS。
运行命令
启动推理服务的 Shell 命令,例如
python3 -m sglang.launch_server --port 8000 --model-path /mnt/model。开启 PD 分离时,Prefill 和 Decode 节点需分别填写各自角色的启动命令。端口号
推理服务监听的端口,默认 8000,需与运行命令中指定的端口一致。
环境变量
(可选)添加运行时环境变量,最多 100 个。
选择资源类型,并根据所选类型配置对应参数。可用的资源类型因部署模板而异,以页面实际展示的选项为准。
资源类型
参数说明
公共资源
副本数:默认为1,根据实际需要调整;
部署资源:从规格列表中选择 GPU 型号,支持配置多种实例规格,将按顺序尝试调度。可开启竞价模式降低成本。
EAS资源组
EAS资源组:选择已购的 EAS 专属资源组,页面显示当前 GPU/CPU/内存的已使用量与总量;
资源配置:填写副本数×GPU(卡)×CPU(核)×内存(GB)×系统盘(GB)。
说明注意检查资源组是否有足够余量。
资源配额
资源配额:选择已购配额;
优先级:取值 1~9,数字越大优先级越高。
资源配置:填写副本数×GPU(卡)×CPU(核)×内存(GB)×系统盘(GB)。
确认底部费用后,单击部署。
管理推理服务
常用操作
操作 | 说明 |
更新 | 在服务操作列单击更新,修改服务配置(如资源规格、镜像、运行命令等),更新后服务自动重启生效。 |
停止 | 在服务操作列单击停止,服务停止后不再接收请求,停止期间不计费。需要时可重新启动。 |
扩缩容 | 在服务操作列单击扩缩容,在弹窗中修改副本数,系统按当前资源配置逻辑进行伸缩。扩容后新实例进入 Creating 状态,就绪后自动接收流量。 |
重启 | 在服务操作列单击重启,服务将重新初始化,用于清理运行时异常状态。重启期间短暂不可用。 |
删除 | 在服务操作列单击删除。删除后服务及其实例永久移除,操作不可恢复。 |
操作保护 | 在服务操作列单击操作保护,设置服务的变更保护级别。
|
调用推理服务
TokenWorks 提供两种调用入口,根据场景选择:
入口 | 适用场景 | 获取方式 |
工作站统一入口 | 流量经智能路由按策略分发,适合多服务负载均衡、亲和性路由场景。 | 在概览页单击工作站路由获取 Base URL 和 API 密钥。 |
推理服务独立入口 | 直接访问特定推理服务,跳过智能路由。适合指定模型服务或调试场景。 | 在推理服务列表单击目标服务的调用,获取该服务的 Base URL 和 Token。 |
TokenWorks 提供 OpenAI 兼容接口,将 Base URL 末尾拼接具体接口路径(如 /v1/chat/completions)即为请求地址。调用时在 HTTP Header 中携带 Authorization: Bearer <API_KEY> 进行鉴权。
使用 curl 调用示例
curl -X POST "<BASE_URL>/v1/chat/completions" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "<your-model>",
"messages": [
{"role": "user", "content": "Hello!"}
],
"stream": false
}'使用 Python OpenAI SDK 调用示例
from openai import OpenAI
client = OpenAI(
api_key="<API_KEY>",
base_url="<BASE_URL>/v1",
)
response = client.chat.completions.create(
model="<your-model>",
messages=[
{"role": "user", "content": "Hello!"}
],
)
print(response.choices[0].message.content)