获取定制服务列表
更新时间:2024-11-08
功能介绍
用于获取自定义服务列表。
使用说明
本文API支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程。
权限说明
调用本文API,需符合以下权限要求,权限介绍及分配,请查看角色与权限控制列表、账号创建与权限分配。需具有以下任一权限:
- 管理员权限:QianfanFullControlAccessPolicy
- 模型服务运维权限:QianfanServiceOperateAccessPolicy
- 模型服务只读权限:QianfanServiceReadAccessPolicy
SDK调用
调用示例
import os
from qianfan import resources
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
svc_resp = resources.Service.V2.service_list(max_keys=2)
print(svc_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,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求地址的后缀
"/v2/service",
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求参数-Query参数的Action
"DescribeServices",
// 对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
map[string]interface{}{
"marker":"svco-n50985crhqq3",
})
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,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求地址的后缀
.route("/v2/service")
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求参数-Query参数的Action
.action("DescribeServices")
// 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
// Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
// 对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
.body(CollUtils.mapOf(
"marker","svco-n50985crhqq3"
))
.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,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求地址的后缀
//action:调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求参数-Query参数的Action
//data:对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
const res = await consoleAction({base_api_route: '/v2/service', action: 'DescribeServices', data: {
"marker":"svco-n50985crhqq3"
}
});
console.log(res);
}
main();
返回示例
{
"requestId": "1b48d8c2-58d7-47f5-b067-6c73447a2e36",
"result": {
"pageInfo": {
"marker": "",
"maxKeys": 2,
"isTruncated": True,
"nextMarker": "svco-6wfxfd6qu1e7",
},
"serviceList": [
{
"serviceId": "svco-01zcjkbh085v",
"baseModel": "ERNIE-Character-8K-0321",
"modelSetId": "am-v8vg3w7isjr9",
"modelId": "amv-0i2x0s2yeg5g",
"name": "xxx",
"description": "",
"url": "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/xxx",
"serviceType": "chat",
"runStatus": "New",
"chargeType": "ComputingUnit",
"payType": "Prepay",
"chargeStatus": "NotOpen",
"resourceConfig": {"region":"bj","type": "GPU-I-2", "replicasCount": 0, "qps": 0.8},
"isModelUpdating":False,
"creator":"xxx",
"createTime": "2023-06-01T07:46:41Z",
},
{
"serviceId": "svco-hgwgdf1xeev9",
"baseModel": "ERNIE-Character-8K-0321",
"modelSetId": "am-bjniekf03yg9",
"modelId": "amv-eyp00rrksjth",
"name": "name2",
"description": "cmc_testcmc_test",
"url": "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/xxxx",
"serviceType": "chat",
"runStatus": "New",
"chargeType": "ComputingUnit",
"payType": "Prepay",
"chargeStatus": "NotOpen",
"resourceConfig": {"region":"bj","type": "GPU-I-2", "replicasCount": 0, "qps": 0.8},
"isModelUpdating":False,
"enableLogs": True,
"logStoreConfig": {
"logRegion": "bj",
"logProject": "default",
"logStoreName": "test02"
},
"creator":"accountName",
"createTime": "2023-06-15T08:55:08Z",
},
],
},
}
{
"requestId":"1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result":{
"serviceList":[
{
"serviceId": "svco-dywitgcxaq6j",
"baseModel": "ERNIE-Character-8K-0321",
"modelSetId": "am-jb0kzci16x14",
"modelId": "amv-0590vsgisd6d6",
"name": "yige",
"description": "ttt",
"url": "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/text2image/xxx_v1",
"serviceType": "text2image",
"runStatus": "Serving",
"chargeType": "ComputingUnit",
"payType": "Prepay",
"chargeStatus": "OPENED",
"resourceConfig":{
"region":"bj",
"type": "GPU-I-1",
"replicasCount": 1,
"qps": 10
},
"isModelUpdating":true,
"enableLogs": true,
"logStoreConfig": {
"logRegion": "bj",
"logProject": "default",
"logStoreName": "test02"
},
"creator":"accountName",
"createTime": "2024-01-08T15:29:27Z"
}
],
"pageInfo":{
"marker":"svco-n50985crhqq3",
"maxKeys":1,
"isTruncated":false
}
}
}
{
"requestId":"1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result":{
"serviceList":[
{
"serviceId": "svco-dywitgcxaq6j",
"baseModel": "ERNIE-Character-8K-0321",
"modelSetId": "am-jb0kzci16x14",
"modelId": "amv-0590vsgisd6d6",
"name": "yige",
"description": "ttt",
"url": "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/text2image/xxx_v1",
"serviceType": "text2image",
"runStatus": "Serving",
"chargeType": "ComputingUnit",
"payType": "Prepay",
"chargeStatus": "OPENED",
"resourceConfig":{
"region":"bj",
"type": "GPU-I-1",
"replicasCount": 1,
"qps": 10
},
"isModelUpdating":true,
"enableLogs": true,
"logStoreConfig": {
"logRegion": "bj",
"logProject": "default",
"logStoreName": "test02"
},
"creator":"accountName",
"createTime": "2024-01-08T15:29:27Z"
}
],
"pageInfo":{
"marker":"svco-n50985crhqq3",
"maxKeys":1,
"isTruncated":false
}
}
}
{
requestId:'1bef3f87-c5b2-4419-936b-50f9884f10d4',
result:{
serviceList:[
{
serviceId: 'svco-dywitgcxaq6j',
baseModel: 'ERNIE-Character-8K-0321',
modelSetId: 'am-jb0kzci16x14',
modelId: 'amv-0590vsgisd6d6',
name: 'yige',
description: 'ttt',
url: 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/text2image/xxx_v1'
serviceType: 'text2image',
runStatus: 'Serving',
chargeType: 'ComputingUnit',
payType: 'Prepay',
chargeStatus: 'OPENED',
resourceConfig:{
region:'bj',
type: 'GPU-I-1',
replicasCount: 1,
qps: 10
},
isModelUpdating:true,
enableLogs: true,
logStoreConfig: {
logRegion: 'bj',
logProject: 'default',
logStoreName: 'test02'
},
creator:'accountName',
createTime: '2024-01-08T15:29:27Z'
}
],
pageInfo:{
marker:'svco-n50985crhqq3',
maxKeys:1,
isTruncated:false
}
}
}
请求参数
注意:不同语言SDK的请求参数不同,请根据实际调用选择对应参数。
- Python SDK请求参数说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
marker | string | 否 | 本次查询的起始位置,默认从第一条数据开始 |
max_keys | int | 否 | 返回的列表长度,说明: (1)最大为100,如果指定的值大于100,按100操作 (2)默认值是10 |
page_reverse | bool | 否 | 是否倒序,默认为False |
name | string | 否 | 服务名称,说明:填写此参数,表示根据服务名称模糊匹配进行筛选 |
serviceType | List<string> | 否 | 服务类型,说明: (1)填写此参数,表示按服务类型进行筛选 (2)可选值如下: · chat · completions · text2image · image2text |
runStatus | List<string> | 否 | 服务状态,说明: (1)填写此参数,表示按进行筛选 (2)可选值: · New:待发布 · Deploying:发布中 · Serving:已发布 · Failed:发布失败 · Stopped:暂停服务 |
creator | List<string> | 否 | 创建人,说明:填写此参数,表示按创建人进行筛选 |
chargeType | string | 否 | 付费类型,说明: (1)填写此参数,表示按付费类型进行筛选 (2)可选值如下: · ComputingUnit:算力单元使用时长 · Tokens:Tokens调用量 |
payType | string | 否 | 付费方式,说明: (1)填写此参数,表示按付费方式进行筛选 (2)可选值: · Prepay:预付费 · Postpay:后付费 |
- 其它SDK请求参数说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
marker | string | 否 | 本次查询的起始位置,默认从第一条数据开始 |
maxKeys | int | 否 | 返回的列表长度,说明: (1)最大为100,如果指定的值大于100,按100操作 (2)默认值是10 |
pageReverse | bool | 否 | 是否倒序,默认为false |
name | string | 否 | 服务名称,说明:填写此参数,表示根据服务名称模糊匹配进行筛选 |
serviceType | List<string> | 否 | 服务类型,说明: (1)填写此参数,表示按服务类型进行筛选 (2)可选值如下: · chat · completions · text2image · image2text |
runStatus | List<string> | 否 | 服务状态,说明: (1)填写此参数,表示按进行筛选 (2)可选值: · New:待发布 · Deploying:发布中 · Serving:已发布 · Failed:发布失败 · Stopped:暂停服务 |
creator | List<string> | 否 | 创建人,说明:填写此参数,表示按创建人进行筛选 |
chargeType | string | 否 | 付费类型,说明: (1)填写此参数,表示按付费类型进行筛选 (2)可选值如下: · ComputingUnit:算力单元使用时长 · Tokens:Tokens调用量 |
payType | string | 否 | 付费方式,说明: (1)填写此参数,表示按付费方式进行筛选 (2)可选值: · Prepay:预付费 · Postpay:后付费 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId | string | 请求ID |
result | object | 请求结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
serviceList | List<serviceItem > | 服务列表 |
pageInfo | object | 分页信息 |
serviceItem说明
名称 | 类型 | 描述 |
---|---|---|
serviceId | string | 服务ID |
baseModel | string | 基础模型版本 |
modelSetId | string | 模型ID |
modelId | string | 模型版本ID |
name | string | 服务名称 |
description | string | 服务描述 |
url | string | 服务URL |
serviceType | string | 服务类型,说明: · chat · completions · embeddings · text2image · image2text |
runStatus | string | 服务运行状态,说明: · New: 待发布 · Deploying: 发布中 · Serving: 已发布 · Failed: 发布失败 · Stopped: 暂停服务 |
chargeType | string | 付费类型,说明: · ComputingUnit: 算力单元使用时长 · Tokens: Tokens调用量 |
payType | string | 付费方式,说明: · Prepay: 预付费 · Postpay: 后付费 · Prepay,Postpay: 预付费+后付费 |
chargeStatus | string | 付费状态,说明: · NotOpen · Opened · Stopped · Free |
resourceConfig | object | 资源配置 |
isModelUpdating | bool | 模型版本是否更新中 |
enableLogs | bool | 是否绑定日志投递 |
logStoreConfig | object | 日志投递信息 |
creator | string | 创建人 |
createTime | string | 创建时间 |
pageInfo说明
名称 | 类型 | 描述 |
---|---|---|
marker | string | 本次查询的起始位置 |
maxKeys | int | 请求返回的最大数目 |
isTruncated | bool | 指明是否只返回了部分数据,说明: · false:表示本次已经返回所有结果 · true:表示本次还没有返回所有结果 |
nextMarker | string | 当isTruncated为true时,才返回此项,作为下次查询marker的值 |
resourceConfig说明
名称 | 类型 | 描述 |
---|---|---|
type | string | 是 |
qps | float | 否 |
replicasCount | int | 是 |
region | string | 资源地域,说明: · bj:北京 · bd:保定 · gz:广州 · su:苏州 · nj:南京 |
logStoreConfig说明
名称 | 类型 | 描述 |
---|---|---|
logRegion | string | 日志集所在地域。当enableLogs为True时,显示logRegion |
logProject | string | 日志组名称。当enableLogs为True时,显示logProject |
logStoreName | string | 日志集名称。当enableLogs为True时,显示logStoreName |