创建定制服务
更新时间:2025-05-16
功能介绍
用于创建服务。
使用说明
本文API支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程。
权限说明
调用本文API,需符合以下权限要求,权限介绍及分配,请查看角色与权限控制列表、账号创建与权限分配。需具有以下任一权限:
- 完全控制千帆大模型平台的权限:QianfanFullControlAccessPolicy
- 运维操作千帆大模型平台预测服务的权限:QianfanServiceOperateAccessPolicy
SDK调用
调用示例
- 已购资源创建服务
1import os
2from qianfan import resources
3
4# 通过环境变量初始化认证信息
5# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
6os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
7os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
8
9resp = resources.console.utils.call_action(
10 # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
11 "/v2/service",
12 # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
13 "CreateService",
14 # 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
15 {
16 "modelSetId": "am-3aa2***5c9",
17 "modelId": "amv-ur1u1***722s",
18 "name": "apitest_1226_3",
19 "urlSuffix": "apitest_1226_3",
20 "deploymentConfig": {
21 "qps": 1,
22 "replicaComputeUnitCount": 1,
23 "replicasCount":1,
24 "deploymentComputeUnitList": [
25 {
26 "instanceId": "unit-gdqb1Fot",
27 "deploymentReplicasCount": 2
28 }
29 ]
30 },
31 "protocolVersion": 1
32 }
33)
34print(resp.body)
1package main
2
3import (
4 "context"
5 "fmt"
6 "os"
7
8 "github.com/baidubce/bce-qianfan-sdk/go/qianfan"
9)
10
11func main() {
12 // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
13 os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
14 os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
15
16 ca := qianfan.NewConsoleAction()
17
18
19 res, err := ca.Call(context.TODO(),
20 // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
21 "/v2/service",
22 // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
23 "CreateService",
24 // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
25 map[string]interface{}{
26 "modelSetId": "am-3aa2***5c9",
27 "modelId": "amv-ur1u1***722s",
28 "name": "apitest_1226_3",
29 "urlSuffix": "apitest_1226_3",
30 "deploymentConfig": map[string]any{
31 "qps": 1,
32 "replicaComputeUnitCount": 1,
33 "replicasCount":1,
34 "deploymentComputeUnitList": []map[string]any{
35 {
36 "instanceId": "unit-gdqb1Fot",
37 "deploymentReplicasCount": 2,
38 },
39 },
40 },
41 "protocolVersion": 1,
42 })
43 if err != nil {
44 panic(err)
45 }
46 fmt.Println(string(res.Body))
47
48}
1import com.baidubce.qianfan.Qianfan;
2import com.baidubce.qianfan.model.console.ConsoleResponse;
3import com.baidubce.qianfan.util.CollUtils;
4import com.baidubce.qianfan.util.Json;
5import java.util.Map;
6
7public class Dome {
8 public static void main(String args[]){
9 // 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
10 Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
11
12 ConsoleResponse<Map<String, Object>> response = qianfan.console()
13 // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
14 .route("/v2/service")
15 // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
16 .action("CreateService")
17 // 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
18 // Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
19 // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
20 .body(CollUtils.mapOf(
21 "modelSetId", "am-3aa2***5c9",
22 "modelId", "amv-ur1u1***722s",
23 "name", "apitest_1226_3",
24 "urlSuffix", "apitest_1226_3",
25 "deploymentConfig",CollUtils.mapOf(
26 "qps", 1,
27 "replicaComputeUnitCount", 1,
28 "replicasCount",1,
29 "computeUnitList",new Map[]{
30 CollUtils.mapOf(
31 "instanceId", "unit-gdqb1Fot",
32 "replicasCount", 2
33 )
34 }
35 ),
36 "protocolVersion", 1
37 ))
38 .execute();
39
40 System.out.println(Json.serialize(response));
41 }
42}
1import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";
2
3// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
4setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
5setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');
6
7async function main() {
8 //base_api_route:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
9 //action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
10 //data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
11 const res = await consoleAction({base_api_route: '/v2/service', action: 'CreateService', data: {
12 "modelSetId": "am-3aa2***5c9",
13 "modelId": "amv-ur1u1***722s",
14 "name": "apitest_1226_3",
15 "urlSuffix": "apitest_1226_3",
16 "deploymentConfig": {
17 "qps": 1,
18 "replicaComputeUnitCount": 1,
19 "replicasCount":1,
20 "computeUnitList": [
21 {
22 "instanceId": "unit-gdqb1Fot",
23 "replicasCount": 2
24 }
25 ]
26 },
27 "protocolVersion": 1
28 }
29 });
30
31 console.log(res);
32}
33
34main();
- 新购资源创建服务
1import os
2from qianfan import resources
3
4# 通过环境变量初始化认证信息
5# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
6os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
7os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
8
9resp = resources.console.utils.call_action(
10 # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
11 "/v2/service",
12 # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
13 "CreateService",
14 # 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
15 {
16 "modelSetId": "am-3aa232bah5c9",
17 "modelId": "amv-ur1u1bez722s",
18 "name": "apitest_1226_7",
19 "urlSuffix": "apitest_1226_7",
20 "resourceConfig": {
21 "region":"bj",
22 "type": "GPU-1-1",
23 "qps": 10,
24 "replicasCount": 1
25 },
26 "billing":{
27 "paymentTiming": "Postpaid"
28 },
29 "protocolVersion": 1
30 }
31)
32print(resp.body)
1package main
2
3import (
4 "context"
5 "fmt"
6 "os"
7
8 "github.com/baidubce/bce-qianfan-sdk/go/qianfan"
9)
10
11func main() {
12 // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
13 os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
14 os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
15
16 ca := qianfan.NewConsoleAction()
17
18
19 res, err := ca.Call(context.TODO(),
20 // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
21 "/v2/service",
22 // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
23 "CreateService",
24 // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
25 map[string]interface{}{
26 "modelSetId": "am-3aa232bah5c9",
27 "modelId": "amv-ur1u1bez722s",
28 "name": "apitest_1226_7",
29 "urlSuffix": "apitest_1226_7",
30 "resourceConfig": map[string]any{
31 "region":"bj",
32 "type": "GPU-1-1",
33 "qps": 10,
34 "replicasCount": 1,
35 },
36 "billing":map[string]any{
37 "paymentTiming":"Postpaid",
38 },
39 "protocolVersion": 1,
40 })
41 if err != nil {
42 panic(err)
43 }
44 fmt.Println(string(res.Body))
45
46}
1import com.baidubce.qianfan.Qianfan;
2import com.baidubce.qianfan.model.console.ConsoleResponse;
3import com.baidubce.qianfan.util.CollUtils;
4import com.baidubce.qianfan.util.Json;
5import java.util.Map;
6
7public class Dome {
8 public static void main(String args[]){
9 // 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
10 Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
11
12 ConsoleResponse<Map<String, Object>> response = qianfan.console()
13 // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
14 .route("/v2/service")
15 // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
16 .action("CreateService")
17 // 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
18 // Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
19 // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
20 .body(CollUtils.mapOf(
21 "modelSetId", "am-3aa232bah5c9",
22 "modelId", "amv-ur1u1bez722s",
23 "name", "apitest_1226_7",
24 "urlSuffix", "apitest_1226_7",
25 "resourceConfig", CollUtils.mapOf(
26 "region","bj",
27 "type", "GPU-1-1",
28 "qps", 10,
29 "replicasCount", 1
30 ),
31 "billing",CollUtils.mapOf(
32 "paymentTiming","Prepaid"
33 )
34 ))
35 .execute();
36
37 System.out.println(Json.serialize(response));
38 }
39}
1import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";
2
3// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
4setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
5setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');
6
7async function main() {
8 //base_api_route:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
9 //action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
10 //data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
11 const res = await consoleAction({base_api_route: '/v2/service', action: 'CreateService', data: {
12 "modelSetId": "am-3aa232bah5c9",
13 "modelId": "amv-ur1u1bez722s",
14 "name": "apitest_1226_7",
15 "urlSuffix": "apitest_1226_7",
16 "resourceConfig": {
17 "region": "bj",
18 "type": "GPU-1-1",
19 "qps": 1,
20 "replicasCount": 1
21 },
22 "billing": {
23 "paymentTiming": "Postpaid"
24
25 },
26 "protocolVersion": 1
27 }
28 });
29
30 console.log(res);
31}
32
33main();
返回示例
- 已购资源创建服务
1{
2 "requestId": "18a7c588-7157-4184-b911-e4ccfe5f719b",
3 "result": {
4 "serviceId": "svco-juw***j1"
5 }
6}
1{
2 "requestId": "18a7c588-7157-4184-b911-e4ccfe5f719b",
3 "result": {
4 "serviceId": "svco-juw***j1"
5 }
6}
1{
2 "requestId": "18a7c588-7157-4184-b911-e4ccfe5f719b",
3 "result": {
4 "serviceId": "svco-juw***j1"
5 }
6}
1{
2 requestId:'18a7c588-7157-4184-b911-e4ccfe5f719b',
3 result: {
4 serviceId: 'svco-juw***j1'
5 }
6}
- 新购资源创建服务
1{
2 "requestId": "34cee53b-7064-418c-843b-fd0594536c3d",
3 "result": {
4 "instanceId": "unit-zO***0Ck",
5 "orderId": "98cd9fb0e1524db6854ff05c471e6d62",
6 "serviceId": "svco-hc5***jumb"
7 }
8}
1{
2 "requestId": "34cee53b-7064-418c-843b-fd0594536c3d",
3 "result": {
4 "instanceId": "unit-zO***0Ck",
5 "orderId": "98cd9fb0e1524db6854ff05c471e6d62",
6 "serviceId": "svco-hc5***jumb"
7 }
8}
1{
2 "requestId": "34cee53b-7064-418c-843b-fd0594536c3d",
3 "result": {
4 "instanceId": "unit-zO***0Ck",
5 "orderId": "98cd9fb0e1524db6854ff05c471e6d62",
6 "serviceId": "svco-hc5***jumb"
7 }
8}
1{
2 requestId:'34cee53b-7064-418c-843b-fd0594536c3d',
3 result: {
4 instanceId:'unit-zO***0Ck',
5 orderId:'98cd9fb0e1524db6854ff05c471e6d62',
6 serviceId: 'svco-hc5***jumb'
7
8 }
9}
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
modelSetId | string | 是 | 模型ID,示例:am-gh0azfeb9adu,说明: 通过以下方法获取该字段值:在控制台-我的模型查看,如下图所示 ![]() |
modelId | string | 是 | 模型版本ID,示例:amv-g73j3faikzpz,说明: 通过以下方式获取该字段值: · 方式一,通过调用获取模型详情接口,返回的modelVersionIdStr字段获取 · 方式二,在控制台-我的模型-点击某模型详情,在版本列表中查看 ![]() |
name | string | 是 | 服务名称,说明: 取值范围:字符串长度为 [2, 20] |
description | string | 否 | 服务描述,说明: 取值范围:字符串长度为 [0, 500] |
urlSuffix | string | 是 | 服务URL后缀,说明: (1)取值范围:字符串长度为 [2, 20] (2)字符规则:支持小写英文字母、数字、下划线(_)、短横线(-),首尾必须为字母或数字 |
deploymentConfig | object | 否 | 表示使用已有资源部署,说明:当新购资源部署时,必须同时填写 resourceConfig 和 billing参数 |
resourceConfig | object | 否 | 资源配置,说明: (1)当新购资源,该参数必填 (2)付费资源类型为Tokens,即chargeType=Tokens时,该字段非必填 |
billing | object | 否 | 订单、计费相关参数,说明:当新购资源,该参数必填 |
protocolVersion | int | 否 | 服务版本,可选值如下: · 1,默认1 · 2 |
deploymentConfig说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
deploymentComputeUnitList | List<object> | 是 | 部署使用算力单元列表,说明: (1)填写用于部署该模型的算力单元实例ID (2)列表为空时,按照新购资源部署模型处理 |
replicasCount | int | 是 | 资源申请副本数量 |
qps | float | 否 | 单副本QPS,不填系统默认使用模型预估QPS取值范围:(0, 50],精确到0.01 |
replicaComputeUnitCount | int | 否 | 单副本算力单元,仅对HF模型有效 |
deploymentComputeUnitList说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
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:00 、2030-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,说明:只有新购资源,返回该字段 |