详细介绍

此文档是专属服务API文档。如果需要快速部署一个专属服务,请参考快速开始

前言

专属服务为AI开发者提供深度学习模型的独立部署,开发者通过专属服务可以:

  • 使用独立的计算资源:公共服务会对每个用户进行调用量的限制,而专属服务可以按需部署计算资源,系统自动根据使用的算力单元数量进行保护性限流(QPS或TPM的限制);

  • 部署预置模型或定制模型:通过领域相关数据进行微调训练之后得到的定制模型或者DashScope提供的预置模型都可以通过专属服务进行部署。

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-turbo"
            },
            {
                "model_name":"qwen-turbo-ft-20230703-cx7f",
                "base_capacity":2
            }
        ],
        "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-v1-ft-20230703-cx7f",      
                "capacity": 1,        
                "suffix": "sample"
            }'

命令执行完成后,返回如下结果:

{
    "request_id":"63f88d11-7d49-478a-928d-035ff966965c",
    "output":{
        "deployed_model":"qwen-v1-ft-20230703-cx7f-sample",
        "model_name":"qwen-v1-ft-20230703-cx7f",
        "status":"PENDING",
        "capacity":2
    }
}

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-v1-ft-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-v1-ft-20230703-cx7f-sample",
        "model_name":"qwen-v1-ft-20230703-cx7f",
        "status":"PENDING",
        "capacity":2
    }
}

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-v1-ft-20230703-cx7f",
                "model_name": "qwen-v1-ft-20230703-cx7f",
                "status": "PENDING"
            },
            {
                "deployed_model": "qwen-v1-ft-20230703-cx7f-sample",
                "model_name": "qwen-v1-ft-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

专属服务的当前状态,参考服务状态

示例

通过以下命令可以将制定的专属服务扩容到4个算力单元:

curl --request PUT 'https://dashscope.aliyuncs.com/api/v1/deployments/qwen-v1-ft-20230703-cx7f/scale' \
    --header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
    --header 'Content-Type: application/json' \
    --data '{    
                "capacity":4
            }'

命令执行完成后,返回以下结果:

{
    "request_id":"63f88d11-7d49-478a-928d-035ff966965c",
    "output": {
        "deployed_model": "qwen-v1-ft-20230703-cx7f",
        "model_name": "qwen-v1-ft-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-v1-ft-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-v1-ft-20230703-cx7f"
    }
}

算力单元

算力单元是专属服务使用计算资源的基本单位,模型专属服务按照算力单元的数量和使用时长进行计量计费。您可以根据实际需要的处理能力部署合适的算力单元。

模型专属服务使用的算力单元必须是模型基础算力单元的整数倍,例如qwen-turbo模型的基础算力单元为2,使用了qwen-turbo模型的专属服务的算力单元必须是2的倍数。

模型列表

以下为专属服务支持的预置模型列表:

模型名称

基础算力单元

参考处理能力

qwen-plus

8

70 QPM

qwen-turbo

2

25 QPM

llama2-7b-chat-v2

1

4 QPM

llama2-13b-chat-v2

2

6 QPM

chatglm-6b-v2

1

6 QPM

说明
  • 文档更新可能存在延迟,实际支持的模型列表以API返回为准;

  • 基础算力单元和参考处理能力在同一个模型的不同版本会有差异,表格中提供的数据基于最新版本测试获得;

  • 参考处理能力的单位是每分钟处理请求数(QPM),是在常规数据集上测试获得,实际处理能力会因输入数据不同而有差异。

服务状态

专属服务可能处于以下状态:

状态名

说明

PENDING

服务正在创建中。

UPDATING

服务正在更新中。

RUNNING

服务正在运行,此时服务可以正常处理请求。

STOPPED

服务已经停止,此时的服务不会被计费。

DELETING

服务正在被删除。

FAILED

服务创建或更新失败。

错误处理

当请求出错时,可能返回以下错误:

错误码

错误原因

NotFound

  • 创建专属服务时指定了不存在的模型

  • 查询/更新/删除专属服务时指定了不存在的服务ID

Conflict

  • 创建服务时使用了已使用过的suffix。

InvalidParameter

  • 创建/更新专属服务时指定了无效的算力单元数量

以下是一个错误消息示例:

{
    "request_id": "ca218d57-b91b-46b2-bd35-c41c6287bcf4",
    "message": "Model: qwen-v1-ft-20230703-cx7f not found!",
    "code": "NotFound"
}