前言
专属服务为AI开发者提供深度学习模型的独立部署,开发者通过专属服务可以:
使用独立的计算资源:公共服务会对每个用户进行调用量的限制,而专属服务可以按需部署计算资源,系统自动根据使用的算力单元数量进行保护性限流(QPS或TPM的限制);
部署预置模型或定制模型:通过领域相关数据进行微调训练之后得到的定制模型或者灵积平台提供的预置模型都可以通过专属服务进行部署。
1. 列举模型
获取可以部署的模型列表。
地址
GET https://dashscope.aliyuncs.com/api/v1/deployments/models
输入参数
参数 | 类型 | 传参方式 | 必选 | 说明 |
page_no | int | query | 否 | 页码,默认值为1。 |
page_size | int | query | 否 | 页大小,默认为50,最大值为200,最小值为1。 |
输出参数
参数 | 类型 | 说明 |
models[].model_name | string | 模型名称。也可以查看模型列表文档获取当前支持部署的预置模型。 |
models[].base_capacity | string | 该模型的基础算力单元。 |
page_no | int | 查询页码 |
page_size | int | 查询页大小 |
total | long | 满足查询条件的所有模型个数 |
示例
通过下面的命令可以获得可被部署的模型列表:
curl 'https://dashscope.aliyuncs.com/api/v1/deployments/models' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json'
命令执行完成后,获得以下结果:
{
"request_id":"f7da015c-ea90-4d96-af89-2f8d7604026a",
"output":{
"models":[
{
"model_name":"qwen-plus"
},
{
"model_name":"qwen-plus-ft-20230703-cx7f",
"base_capacity":8
}
],
"page_no":1,
"page_size":50,
"total":2
}
}
2. 创建服务
使用指定的模型,创建一个专属服务。
地址
POST https://dashscope.aliyuncs.com/api/v1/deployments
输入参数
参数 | 类型 | 传参方式 | 必选 | 说明 |
model_name | string | body | 是 | 待创建服务使用的模型名。 |
capacity | int | body | 是 | 待创建服务使用的算力单元数量,需要设置为对应模型的基础算力单元的整数倍。 |
suffix | string | body | 否 | 指定部署ID的后缀。每个模型部署的第一个专属服务可以不指定suffix,若需要部署使用了同一个模型的多个专属服务,需要设置suffix进行区分。 参考输出参数output.deployed_model。 |
输出参数
参数 | 类型 | 说明 |
deployed_model | string | 本次请求缩创建的专属服务的唯一标识。在发起模型调用请求时需要在SDK参数传入。 |
model_name | string | 专属服务使用的模型名称。 |
capacity | int | 专属服务使用的算力单元数量。 |
status | string | 专属服务的当前状态,参考服务状态。 |
示例
通过下面的命令可以创建一个专属服务:
curl 'https://dashscope.aliyuncs.com/api/v1/deployments' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model_name": "qwen-plus-20230703-cx7f",
"capacity": 8,
"suffix": "sample"
}'
命令执行完成后,返回如下结果:
{
"request_id":"63f88d11-7d49-478a-928d-035ff966965c",
"output":{
"deployed_model":"qwen-plus-20230703-cx7f-sample",
"model_name":"qwen-plus-20230703-cx7f",
"status":"PENDING",
"capacity":8
}
}
3. 查询服务
地址
GET https://dashscope.aliyuncs.com/api/v1/deployments/{deployed_model}
输入参数
参数 | 类型 | 传参方式 | 必选 | 说明 |
deployed_model | string | path | 是 | 专属服务的唯一标识。 |
输出参数
参数 | 类型 | 说明 |
deployed_model | string | 专属服务的唯一标识。 |
model_name | string | 专属服务使用的模型名称。 |
capacity | int | 专属服务使用的算力单元数量。 |
status | string | 专属服务的当前状态,参考服务状态。 |
示例
通过以下命令可以查询指定专属服务的详细信息:
curl 'https://dashscope.aliyuncs.com/api/v1/deployments/qwen-plus-202305099980-fac9-sample' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json'
命令执行完成后,返回如下结果:
{
"request_id":"63f88d11-7d49-478a-928d-035ff966965c",
"output":{
"deployed_model":"qwen-plus-20230703-cx7f-sample",
"model_name":"qwen-plus-20230703-cx7f",
"status":"PENDING",
"capacity":8
}
}
4. 列举服务
地址
GET https://dashscope.aliyuncs.com/api/v1/deployments
输入参数
参数 | 类型 | 传参方式 | 必选 | 说明 |
page_no | int | query | 否 | 页码,默认值为1。 |
page_size | int | query | 否 | 页大小,默认为50,最大值为200,最小值为1。 |
输出参数
参数 | 类型 | 说明 |
deployments[].deployed_model | string | 专属服务的唯一标识 |
deployments[].model_name | string | 专属服务使用的模型名称。 |
deployments[].capacity | int | 专属服务使用的算力单元数量。 |
deployments[].status | string | 专属服务的当前状态,参考服务状态。 |
page_no | int | 查询页码 |
page_size | int | 查询页大小 |
total | long | 满足查询条件的专属服务个数 |
示例
通过以下命令可以获取专属服务列表:
curl 'https://dashscope.aliyuncs.com/api/v1/deployments' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json'
命令执行完成后,返回以下结果:
{
"request_id":"63f88d11-7d49-478a-928d-035ff966965c",
"output": {
"deployments": [
{
"deployed_model": "qwen-plus-20230703-cx7f",
"model_name": "qwen-plus-20230703-cx7f",
"status": "PENDING"
},
{
"deployed_model": "qwen-plus-20230703-cx7f-sample",
"model_name": "qwen-plus-20230703-cx7f",
"status": "PENDING"
}
],
"page_no": 1,
"page_size": 10,
"total": 2
}
}
5. 更新部署
通过更新操作调整专属服务使用的算力单元数量。
地址
PUT https://dashscope.aliyuncs.com/api/v1/deployments/{deployed_model}/scale
输入参数
参数 | 类型 | 传参方式 | 必选 | 说明 |
deployed_model | string | path | 是 | 专属服务的唯一标识。 |
capacity | int | body | 是 | 更新之后,专属服务所使用的算力单元。 |
输出参数
参数 | 类型 | 说明 |
deployed_model | string | 专属服务的唯一标识。 |
model_name | string | 专属服务使用的模型名称。 |
capacity | int | 专属服务使用的算力单元数量。 |
status | string | 专属服务的当前状态,参考服务状态。 |
示例
通过以下命令可以将制定的专属服务扩容到8个算力单元:
curl --request PUT 'https://dashscope.aliyuncs.com/api/v1/deployments/qwen-plus-20230703-cx7f/scale' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json' \
--data '{
"capacity":8
}'
命令执行完成后,返回以下结果:
{
"request_id":"63f88d11-7d49-478a-928d-035ff966965c",
"output": {
"deployed_model": "qwen-plus-20230703-cx7f",
"model_name": "qwen-plus-20230703-cx7f",
"status": "UPDATING"
}
}
6. 删除部署
地址
DELETE https://dashscope.aliyuncs.com/api/v1/deployments/{deployed_model}
请求参数
参数 | 类型 | 传参方式 | 必选 | 说明 |
deployed_model | string | path | 是 | 专属服务的唯一标识。 |
输出参数
参数 | 类型 | 说明 |
deployed_model | string | 专属服务的唯一标识。 |
model_name | string | 专属服务使用的模型名称。 |
capacity | int | 专属服务使用的算力单元数量。 |
status | string | 专属服务的当前状态,参考服务状态。 |
示例
通过以下命令可以删除指定的专属服务:
curl --request DELETE 'https://dashscope.aliyuncs.com/api/v1/deployments/qwen-plus-20230703-cx7f' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json'
命令执行完成后,返回以下结果:
{
"request_id": "24a888ea-c1fa-4ff1-b632-ee9a6231c24f",
"output": {
"deployed_model": "qwen-plus-20230703-cx7f"
}
}
算力单元
算力单元是专属服务使用计算资源的基本单位,模型专属服务按照算力单元的数量和使用时长进行计量计费。您可以根据实际需要的处理能力部署合适的算力单元。
模型专属服务使用的算力单元必须是模型基础算力单元的整数倍,例如qwen-plus
模型的基础算力单元为8
,使用了qwen-plus
模型的专属服务的算力单元必须是8
的倍数。
模型列表
以下为专属服务支持的预置模型列表:
模型名称 | 基础算力单元 | 参考处理能力 |
qwen-plus | 8 | 70 QPM |
文档更新可能存在延迟,实际支持的模型列表以API返回为准;
基础算力单元和参考处理能力在同一个模型的不同版本会有差异,表格中提供的数据基于最新版本测试获得;
参考处理能力的单位是每分钟处理请求数(QPM),是在常规数据集上测试获得,实际处理能力会因输入数据不同而有所差异。
服务状态
专属服务可能处于以下状态:
状态名 | 说明 |
PENDING | 服务正在创建中。 |
UPDATING | 服务正在更新中。 |
RUNNING | 服务正在运行,此时服务可以正常处理请求。 |
STOPPED | 服务已经停止,此时的服务不会被计费。 |
DELETING | 服务正在被删除。 |
FAILED | 服务创建或更新失败。 |
错误处理
当请求出错时,可能返回以下错误:
错误码 | 错误原因 |
NotFound |
|
Conflict |
|
InvalidParameter |
|
以下是一个错误消息示例:
{
"request_id": "ca218d57-b91b-46b2-bd35-c41c6287bcf4",
"message": "Model: qwen-plus-20230703-cx7f not found!",
"code": "NotFound"
}