资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

创建定制服务

功能介绍

用于创建服务。

使用说明

本文API支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程

权限说明

调用本文API,需符合以下权限要求,权限介绍及分配,请查看角色与权限控制列表账号创建与权限分配。需具有以下任一权限:

  • 完全控制千帆大模型平台的权限:QianfanFullControlAccessPolicy
  • 运维操作千帆大模型平台预测服务的权限:QianfanServiceOperateAccessPolicy

SDK调用

调用示例

  • 已购资源创建服务
import os
from qianfan  import resources

# 通过环境变量初始化认证信息
# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"

resp = resources.console.utils.call_action(
    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/service", 
    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
    "CreateService", 
    # 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
    {
        "modelSetId": "am-3aa2***5c9",
        "modelId": "amv-ur1u1***722s",
        "name": "apitest_1226_3",
        "urlSuffix": "apitest_1226_3",
        "deploymentConfig": {
            "qps": 1,
            "replicaComputeUnitCount": 1,
            "replicasCount":1,
            "deploymentComputeUnitList": [
                {
                    "instanceId": "unit-gdqb1Fot",
                    "deploymentReplicasCount": 2
                }
            ]
        },
        "protocolVersion": 1
    }
)
print(resp.body)
package main

import (
    "context"
    "fmt"
    "os"

    "github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)

func main() {
     // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
    os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
    os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
    
    ca := qianfan.NewConsoleAction()
    
  
    res, err := ca.Call(context.TODO(), 
    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/service", 
    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
    "CreateService", 
    // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
    map[string]interface{}{
            "modelSetId": "am-3aa2***5c9",
            "modelId": "amv-ur1u1***722s",
            "name": "apitest_1226_3",
            "urlSuffix": "apitest_1226_3",
            "deploymentConfig": map[string]any{
                "qps": 1,
                "replicaComputeUnitCount": 1,
                "replicasCount":1,
                "deploymentComputeUnitList": []map[string]any{
                    {
                        "instanceId": "unit-gdqb1Fot",
                        "deploymentReplicasCount": 2,
                    },
                },
            },
            "protocolVersion": 1,
    })
    if err != nil {
        panic(err)
    }
    fmt.Println(string(res.Body))
    
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.console.ConsoleResponse;
import com.baidubce.qianfan.util.CollUtils;
import com.baidubce.qianfan.util.Json;
import java.util.Map;

public class Dome {
    public static void main(String args[]){
        // 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
        Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
        
        ConsoleResponse<Map<String, Object>> response = qianfan.console()
                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
                .route("/v2/service")
                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
                .action("CreateService")
                // 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
                // Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
                // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
                .body(CollUtils.mapOf(
                        "modelSetId", "am-3aa2***5c9",
                        "modelId", "amv-ur1u1***722s",
                        "name", "apitest_1226_3",
                        "urlSuffix", "apitest_1226_3",
                        "deploymentConfig",CollUtils.mapOf(
                            "qps", 1,
                            "replicaComputeUnitCount", 1,
                            "replicasCount",1,
                            "computeUnitList",new Map[]{
                                CollUtils.mapOf(
                                    "instanceId", "unit-gdqb1Fot",
                                    "replicasCount", 2
                                )
                            }
                        ),
                        "protocolVersion", 1
                ))
                .execute();

        System.out.println(Json.serialize(response));
    }
}
import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";

// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');

async function main() {
  //base_api_route:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
  //action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
  //data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
  const res = await consoleAction({base_api_route: '/v2/service', action: 'CreateService', data: {
        "modelSetId": "am-3aa2***5c9",
        "modelId": "amv-ur1u1***722s",
        "name": "apitest_1226_3",
        "urlSuffix": "apitest_1226_3",
        "deploymentConfig": {
            "qps": 1,
            "replicaComputeUnitCount": 1,
            "replicasCount":1,
            "computeUnitList": [
                {
                    "instanceId": "unit-gdqb1Fot",
                    "replicasCount": 2
                }
            ]
        },
        "protocolVersion": 1
    }
  });    
    
  console.log(res);
}

main();
  • 新购资源创建服务
import os
from qianfan  import resources

# 通过环境变量初始化认证信息
# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"

resp = resources.console.utils.call_action(
    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/service", 
    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
    "CreateService", 
    # 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
    {
        "modelSetId": "am-3aa232bah5c9",
        "modelId": "amv-ur1u1bez722s",
        "name": "apitest_1226_7",
        "urlSuffix": "apitest_1226_7",   
        "resourceConfig": {
            "region":"bj",
            "type": "GPU-1-1",
            "qps": 10,
            "replicasCount": 1
        },
        "billing":{
            "paymentTiming": "Postpaid"
        },
        "protocolVersion": 1
    }
)
print(resp.body)
package main

import (
    "context"
    "fmt"
    "os"

    "github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)

func main() {
     // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
    os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
    os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
    
    ca := qianfan.NewConsoleAction()
    
  
    res, err := ca.Call(context.TODO(), 
    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/service", 
    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
    "CreateService", 
    // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
    map[string]interface{}{
            "modelSetId": "am-3aa232bah5c9",
            "modelId": "amv-ur1u1bez722s",
            "name": "apitest_1226_7",
            "urlSuffix": "apitest_1226_7",   
            "resourceConfig": map[string]any{
                "region":"bj",
                "type": "GPU-1-1",
                "qps": 10,
                "replicasCount": 1,
            },
            "billing":map[string]any{
                "paymentTiming":"Postpaid",
            },
            "protocolVersion": 1,
    })
    if err != nil {
        panic(err)
    }
    fmt.Println(string(res.Body))
    
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.console.ConsoleResponse;
import com.baidubce.qianfan.util.CollUtils;
import com.baidubce.qianfan.util.Json;
import java.util.Map;

public class Dome {
    public static void main(String args[]){
        // 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
        Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
        
        ConsoleResponse<Map<String, Object>> response = qianfan.console()
                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
                .route("/v2/service")
                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
                .action("CreateService")
                // 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
                // Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
                // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
                .body(CollUtils.mapOf(
                        "modelSetId", "am-3aa232bah5c9",
                        "modelId", "amv-ur1u1bez722s",
                        "name", "apitest_1226_7",
                        "urlSuffix", "apitest_1226_7",
                        "resourceConfig", CollUtils.mapOf(
                            "region","bj",
                            "type", "GPU-1-1",
                            "qps", 10,
                            "replicasCount", 1
                        ),
                        "billing",CollUtils.mapOf(
                            "paymentTiming","Prepaid"
                        )
                ))
                .execute();

        System.out.println(Json.serialize(response));
    }
}
import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";

// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');

async function main() {
  //base_api_route:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
  //action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
  //data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
  const res = await consoleAction({base_api_route: '/v2/service', action: 'CreateService', data: {
        "modelSetId": "am-3aa232bah5c9",
        "modelId": "amv-ur1u1bez722s",
        "name": "apitest_1226_7",
        "urlSuffix": "apitest_1226_7",   
        "resourceConfig": {
            "region": "bj",
            "type": "GPU-1-1",
            "qps": 1,
            "replicasCount": 1
        },
        "billing": {
            "paymentTiming": "Postpaid"

        },
        "protocolVersion": 1
    }
  });    
    
  console.log(res);
}

main();

返回示例

  • 已购资源创建服务
{
    "requestId": "18a7c588-7157-4184-b911-e4ccfe5f719b",
    "result": {
        "serviceId": "svco-juw***j1"
    }
}
{
    "requestId": "18a7c588-7157-4184-b911-e4ccfe5f719b",
    "result": {
        "serviceId": "svco-juw***j1"
    }
}
{
    "requestId": "18a7c588-7157-4184-b911-e4ccfe5f719b",
    "result": {
        "serviceId": "svco-juw***j1"
    }
}
{
    requestId:'18a7c588-7157-4184-b911-e4ccfe5f719b',
    result: {
        serviceId: 'svco-juw***j1'
    }
}
  • 新购资源创建服务
{
    "requestId": "34cee53b-7064-418c-843b-fd0594536c3d",
    "result": {
        "instanceId": "unit-zO***0Ck",
        "orderId": "98cd9fb0e1524db6854ff05c471e6d62",
        "serviceId": "svco-hc5***jumb"
    }
}
{
    "requestId": "34cee53b-7064-418c-843b-fd0594536c3d",
    "result": {
        "instanceId": "unit-zO***0Ck",
        "orderId": "98cd9fb0e1524db6854ff05c471e6d62",
        "serviceId": "svco-hc5***jumb"
    }
}
{
    "requestId": "34cee53b-7064-418c-843b-fd0594536c3d",
    "result": {
        "instanceId": "unit-zO***0Ck",
        "orderId": "98cd9fb0e1524db6854ff05c471e6d62",
        "serviceId": "svco-hc5***jumb"
    }
}
{
    requestId:'34cee53b-7064-418c-843b-fd0594536c3d',
    result: {
        instanceId:'unit-zO***0Ck',
        orderId:'98cd9fb0e1524db6854ff05c471e6d62',
        serviceId: 'svco-hc5***jumb'
        
    }
}

请求参数

名称 类型 必填 描述
modelSetId string 模型ID,示例:am-gh0azfeb9adu,说明:
通过以下方法获取该字段值:在控制台-我的模型查看,如下图所示
image.png
modelId string 模型版本ID,示例:amv-g73j3faikzpz,说明:
通过以下方式获取该字段值:
· 方式一,通过调用获取模型详情接口,返回的modelVersionIdStr字段获取
· 方式二,在控制台-我的模型-点击某模型详情,在版本列表中查看
image.png
name string 服务名称,说明:
取值范围:字符串长度为 [2, 20]
description string 服务描述,说明:
取值范围:字符串长度为 [0, 500]
urlSuffix string 服务URL后缀,说明:
(1)取值范围:字符串长度为 [2, 20]
(2)字符规则:支持小写英文字母、数字、下划线(_)、短横线(-),首尾必须为字母或数字
deploymentConfig object 表示使用已有资源部署,说明:当新购资源部署时,必须同时填写 resourceConfig 和 billing参数
resourceConfig object 资源配置,说明:
(1)付费资源类型为Tokens,即chargeType=Tokens时,该字段非必填
billing object 订单、计费相关参数
protocolVersion int 服务版本,可选值如下:
· 1,默认1
· 2

deploymentConfig说明

名称 类型 必填 描述
deploymentComputeUnitList List<deploymentComputeUnit> 部署使用算力单元列表,说明:
(1)填写用于部署该模型的算力单元实例ID
(2)列表为空时,按照新购资源部署模型处理
replicasCount int 资源申请副本数量
qps float 单副本QPS,不填系统默认使用模型预估QPS取值范围:(0, 50],精确到0.01
replicaComputeUnitCount int 单副本算力单元,仅对HF模型有效

deploymentComputeUnit说明

名称 类型 必填 描述
instanceId string 资源实例ID
deploymentReplicasCount int 资源申请副本数量

resourceConfig说明

名称 类型 必填 描述
region string 资源地域,说明:
(1)如果不填写该字段,系统默认获取满足资源的region
(2)如果填写该字段,可选值如下:
· bj:北京
· bd:保定
type string 资源类型,说明:
(1)可选值如下:
· CPU I型:CPU-1-1
· 加速卡I型:GPU-1-1、GPU-1-2、GPU-1-4、GPU-1-8
· 加速卡V型:GPU-5-1、GPU-5-2
· 加速卡VI型:GPU-6-1、GPU-6-2
· 加速卡VII型:GPU-7-1、GPU-7-2
(2)付费资源类型为ComputingUnit,即chargeType=ComputingUnit时,该字段必填
qps float 单副本QPS,说明:
(1)不填此字段,默认使用模型预估QPS
(2)取值范围:(0, 50],精确到0.01
replicasCount int 购买副本数量

billing说明

名称 类型 必填 描述
paymentTiming string 付费类型,可选值:
· Prepaid:预付费
· Postpaid: 后付费
reservation object 保留信息,说明:
(1)只有当付费类型为预付费,即paymentTiming值为Prepaid时,该字段必填
(2)付费类型为后付费,无需填写此参数
chargeType string 付费资源类型,说明:
(1)只有当付费类型为后付费,即paymentTiming值为Postpaid时,该字段必填,可选值如下:
· ComputingUnit:算力单元,默认值为ComputingUnit
· Tokens:Tokens消耗量
(2)付费类型为预付费,无需填写此参数
releaseTime string 定时释放时间,说明:
(1)只有当付费类型为后付费,即paymentTiming值为Postpaid时,该字段有效
(2)支持RFC3339格式和标准格式,如2030-01-25T12:30:30+08:002030-01-25 12:30:30

reservation说明

名称 类型 必填 描述
reservationTimeUnit string 时间单位,可选值:
· Month: 月
reservationLength int 购买时长,说明:
· 时间单位为月,取值范围 [1-12]
autoRenew boolean 是否自动续费,可选值:
· true:是
· false:否,默认值为false
autoRenewTimeUnit String 自动续费周期时间单位,默认值为Month,可选值:
· Month:月
autoRenewTime int 自动续费时长,说明:
(1)单位:月
(2)默认值为1,取值范围:[1,6]

返回参数

名称 类型 描述
requestId string 请求ID
result object 请求结果

result说明

名称 类型 描述
serviceId string 服务ID
instanceId string 实例ID
orderId string 订单ID
上一篇
私有资源池服务付费
下一篇
更新定制服务