获取定制服务列表
更新时间:2024-09-09
功能介绍
本接口用于获取自定义服务列表。
注意事项
调用本文API,需符合以下权限要求:需具有QianfanServiceReadAccessPolicy 权限;权限介绍及分配,请查看角色与权限控制列表、账号创建与权限分配。
SDK调用
使用说明
本文API支持通过千帆Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考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(), "/v2/service", "DescribeServices", 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() {
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,
"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,
"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,
"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,
creator:'accountName',
createTime: '2024-01-08T15:29:27Z'
}
],
pageInfo:{
marker:'svco-n50985crhqq3',
maxKeys:1,
isTruncated:false
}
}
}
请求参数
注意:以下为Python SDK参数说明,Go SDK、Java SDK、Node.js SDK参数说明请参考本文HTTP调用-请求说明。
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
marker | string | 否 | 本次查询的起始位置,默认从第一条数据开始 |
max_keys | int | 否 | 返回的列表长度,说明: (1)最大为100,如果指定的值大于100,按100操作 (2)默认值是10 |
page_reverse | bool | 否 | 是否倒序,默认为False |
返回参数
请参考本文HTTP调用-响应说明。
HTTP调用
鉴权说明
调用本文API,使用“基于安全认证AK/SK”进行签名计算鉴权,即使用安全认证中的Access Key ID 和 Secret Access Key进行鉴权,具体鉴权认证机制参考HTTP调用鉴权说明。
请求说明
- 基本信息
请求地址: https://qianfan.baidubce.com/v2/service
请求方式: POST
- Header参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值:application/json |
x-bce-date | string | 否 | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
Authorization | string | 是 | 用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具 |
- Query参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Action | string | 是 | 方法名称,固定值DescribeServices |
- Body参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
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 | 模型版本是否更新中 |
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:南京 |
请求示例
curl --location 'https://qianfan.baidubce.com/v2/service?Action=DescribeServices' \
--header 'Authorization: bce-auth-v1/047ab241bad24166b42a4d2e3e28b1ac/2023-10-10T07:48:39Z/1800/host;x-bce-date/c26e0a21944cxxxxxe2f2d10cb53f' \
--header 'x-bce-date: 2023-10-10T07:48:17Z' \
--header 'Content-Type: application/json' \
--data '{
"marker":"svco-n50985crhqq3"
}'
响应示例
{
"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,
"creator":"accountName",
"createTime": "2024-01-08T15:29:27Z"
}
],
"pageInfo":{
"marker":"svco-n50985crhqq3",
"maxKeys":1,
"isTruncated":false
}
}
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
requestId | 请求ID |
code | 错误码 |
message | 错误描述信息,帮助理解和解决发生的错误 |
例如错误返回:
{
"requestId":"6ba7b810-xxxc04fd430c8",
"code":"AccessDenied",
"message":"Access denied."
}
更多千帆大模型平台错误码,请查看错误码说明。