华为云用户手册

  • 响应示例 状态码:200 成功响应示例 { "questions" : [ { "qa_pair_id" : "****", "st_question" : "桌面云打不开", "domain" : "桌面云" }, { "qa_pair_id" : "****", "st_question" : "桌面云无法登录", "domain" : "桌面云" } ] } 状态码:400 失败响应示例 { "error_code":"CBS.0021", "error_msg":"request parameter error" }
  • 请求示例 获取热点问题列表 GET https://cbs-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/qa-pairs/hots Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/qa-pairs/hots?start_time={start_time}&end_time={end_time}&top={top}&domain={domain}" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} response = requests.get(url, headers=headers, json=body, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id等需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/qa-pairs/hots?start_time={start_time}&end_time={end_time}&top={top}&domain_id={domain_id}"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setDoInput(true); connection.setDoOutput(false); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • 响应参数 状态码: 200 表4 响应参数 参数 参数类型 描述 questions Array of HotQuestionCount objects 指定时间范围内,热点问题列表。 调用失败时无此字段。 表5 HotQuestionCount 参数 参数类型 描述 qa_pair_id String 问答对Id。 st_question String 标准问题。 domain String 问题类别。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 响应示例 状态码: 200 OK { "quota" : 100, "total" : 19, "offset" : 0, "count" : 10, "characters" : [ { "id" : "xiaoya_suit_grey_stand", "name" : "正装深色西装", "type" : 0, "gender" : 1, "posture" : 0, "create_time" : "2022-07-29T10:19:48Z", "update_time" : "2022-07-29T10:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-26T09:16:50Z" }, { "id" : "xiaoya_dress_white_stand", "name" : "正装白裙", "type" : 0, "gender" : 1, "posture" : 0, "create_time" : "2022-07-27T10:19:48Z", "update_time" : "2022-07-27T10:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-26T09:17:26Z" }, { "id" : "xiaoya_suit_black_stand", "name" : "正装黑裙", "type" : 0, "gender" : 1, "posture" : 0, "create_time" : "2022-07-26T12:19:48Z", "update_time" : "2022-07-26T10:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-26T09:10:24Z" }, { "id" : "xiaoya_dress_pink_stand", "name" : "休闲粉裙", "type" : 0, "gender" : 1, "posture" : 0, "create_time" : "2022-07-25T10:19:48Z", "update_time" : "2022-07-26T10:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-26T09:17:55Z" }, { "id" : "xiaoya_cheongsam_yellow_stand", "name" : "正装旗袍", "type" : 0, "gender" : 1, "posture" : 0, "create_time" : "2022-07-24T10:19:48Z", "update_time" : "2022-07-25T10:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-26T09:18:22Z" }, { "id" : "xiaoya_uniform_blue_stand", "name" : "正装蓝衬衫", "type" : 0, "gender" : 1, "posture" : 0, "create_time" : "2022-07-23T10:19:48Z", "update_time" : "2022-07-24T10:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-26T09:18:57Z" }, { "id" : "xiaoya_suit_white_sit_desk", "name" : "正装白裙(坐)", "type" : 0, "gender" : 1, "posture" : 3, "create_time" : "2022-07-22T10:19:48Z", "update_time" : "2022-07-23T10:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-26T09:20:23Z" }, { "id" : "xiaoya_suit_black_sit_desk", "name" : "正装黑裙(坐)", "type" : 0, "gender" : 1, "posture" : 3, "create_time" : "2022-07-21T09:19:48Z", "update_time" : "2022-07-23T09:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-22T15:03:00Z" }, { "id" : "xiaoya_dress_flower_sit_desk", "name" : "休闲花裙(坐)", "type" : 0, "gender" : 1, "posture" : 3, "create_time" : "2022-07-20T09:19:48Z", "update_time" : "2022-07-23T09:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-26T09:22:06Z" }, { "id" : "xiaoya_dress_flower_sit_chair", "name" : "休闲花裙(椅)", "type" : 0, "gender" : 1, "posture" : 2, "create_time" : "2022-07-19T10:19:48Z", "update_time" : "2022-07-21T10:19:48Z", "photo_url" : "https://cbs-digital-human-cn-north-4.obs.cn-north-4.myhuaweicloud.com", "character_name" : "小娅", "train_status" : 2, "train_finish_time_estimate" : "2022-07-26T09:23:09Z" } ] } 状态码: 400 Bad Request { "error_code" : "CBS.0003", "error_msg" : "This resource Id:[33dbe0e2-bb9b-xxx] does not exist." } 状态码: 500 Internal Server Error { "error_code" : "CBS.0004", "error_msg" : "Internal Server Error" }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 quota Integer 配额。 total Integer 总数。 offset Integer 偏移量。 count Integer 返回数量。 characters Array of Character objects 形象列表。 表3 Character 参数 参数类型 描述 create_time String 创建时间。 update_time String 更新时间。 character_name String 形象的个人姓名。 gender Integer 性别。0:男,1:女。 id String 形象id。 name String 形象名。 photo_url String 形象obs地址。 posture Integer 姿态。 0:站姿全身 1:站姿半身 2:坐姿全身 3:坐姿半身 train_finish_time_estimate String 估算的训练结束时间。 train_start_time String 训练开始时间。 train_status Integer 训练状态。 0:初始化 1:训练中 2:训练成功 3:训练失败 type Integer 形象类型。 0:预制形象 1:用户自定义形象 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。 状态码: 500 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。
  • URI GET https://{endpoint}/v1/{project_id}/digital-human/characters?offset={offset}&limit={limit}&type={type}&train_status={train_status}&character_name={character_name} 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 character_name 是 String 形象名称。 limit 是 String 大于等于1。 默认值:10。 offset 是 String 范围,大于等于0。 默认值:0。 train_status 是 Integer 训练状态。 0:训练中 1:预览视频生成中 2:成功 3:失败 默认值:2。 type 是 Integer 形象类型。 0:预制形象 1:用户自定义形象 默认值:0。
  • 请求消息头 可选的附加请求头字段,如指定的URI和HTTPS方法所要求的字段。详细的公共请求消息头字段请参见表3,其中请求认证信息请参见认证鉴权。 表3 公共请求消息头 名称 描述 是否必选 示例 Content-type 发送的实体的MIME类型。 是 application/json Content-Length 请求body长度,单位为Byte。 POST/PUT请求为可选, GET不包含该字段。 3495 X-Auth-Token 用户Token。用于获取操作API的权限。获取方法请见Token认证。 是 MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... X-Language 请求语言类型。 否,默认为zh-cn。 en-us 公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见AK/SK认证。 对于获取问题提示接口,由于需要认证,所以需要添加“Content-Type”和“X-Auth-Token”,添加消息头后的请求如下所示。 POST https://cbs-ext.cn-north-1.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/suggestions Content-Type: application/json X-Auth-Token:MIIaBgYJKoZIhvcNAQcC……
  • 请求消息体 请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。如果请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取问题提示接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示。 POST https://cbs-ext.cn-north-1.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/suggestions Content-Type: application/json X-Auth-Token:MIIaBgYJKoZIhvcNAQcC…… { "question":"桌面云", "top":2 } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取问题提示接口,您可以从响应消息部分看到返回参数及参数说明。
  • 请求方法 HTTPS方法(也称为操作或动词),它告诉服务您正在请求什么类型的操作。 表2 HTTPS方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在-获取问题提示的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://cbs-ext.cn-north-1.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/suggestions
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-String} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。例如对话机器人服务在“华北-北京四”区域的Endpoint为“cbs-ext.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,也即API访问路径。从具体API的URI模块获取,例如“问答机器人获取问题提示”API的resource-path为“/v1/{project_id}/qabots/{qabot_id}/suggestions”。其中{project_id}为项目编号,请参考获取项目ID获取,{qabot_id}为智能问答机器人编号,可在CBS服务智能问答机器人首页获取。 query-String 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。当前CBS服务未使用该参数。 例如,您需要获取“华北-北京四”区域的调用获取问题提示API,则需使用“华北-北京四”区域的Endpoint(cbs-ext.cn-north-4.myhuaweicloud.com),并在获取问题提示的URI部分找到resource-path(/v1/{project_id}/qabots/{qabot_id}/suggestions),拼接起来如下所示。 https://cbs-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/suggestions 图2 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 错误码说明 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 表1 错误码 状态码 错误码 错误信息 处理措施 401 CBS.0000 用户无公测权限。 请根据界面提示,申请公测权限。 401 CBS.0011 认证失败。 检查Token是否正确,使用正确的Token重新尝试。 401 CBS.0012 认证信息缺失。 补全正确的认证信息后重新尝试。 401 CBS.0013 认证信息获取失败。 检查Token是否正确,使用正确的Token重新尝试。 400 CBS.0021 请求参数异常。 检查请求参数字段名,修改正确后重新尝试。 400 CBS.0022 请求参数内容错误。 检查请求参数内容,修改正确后重新尝试。 500 CBS.9999 db error。 服务后台错误,请联系专业工程师。 500 CBS.9998 iam error。 服务后台错误,请联系专业工程师。 500 CBS.9997 lab内部有core异常。 服务后台错误,请联系专业工程师。 400 CBS.1114 服务未开通。 按根据界面提示开通或购买服务。 400 CBS.1124 服务开通失败。 检查是否符合服务开通条件,然后重新尝试。 500 CBS.1134 请求下发失败。 服务后台错误,请联系专业工程师。 500 CBS.0031 内部服务异常。 服务后台错误,请联系专业工程师。 500 CBS.0032 ES资源不存在。 服务后台错误,请联系专业工程师。 400 CBS.1214 查询的数据集资源不存在。 检查数据集id是否正确,使用正确的id重新尝试。 400 CBS.1611 OBS访问失败。 确认OBS认证信息是否正确,使用正确的认证信息重新尝试。 400 CBS.1612 OBS资源不存在。 确认OBS资源是否存在,然后重新尝试。 400 CBS.1613 文件格式异常。 确认文件格式符合要求后重新尝试。 400 CBS.2114 查询的qabot资源不存在。 检查qabot id是否正确,使用正确的id重新尝试。 400 CBS.2122 qabot创建参数错误。 检查qabot参数,使用正确的参数重新尝试。 400 CBS.2125 机器人个数超过限制。 检查已创建的机器人个数是否已超过3个,再重新尝试。 400 CBS.2145 lab相关的知识库、词典、模型等资源没有删除。 检查lab内的知识库、词典、模型等资源是否已被删除,再重新尝试。 400 CBS.2154 待重启的qabot资源不存在。 检查qabot id是否正确,使用正确的id重新尝试。 400 CBS.2202 知识库的导入参数错误。 检查知识库的导入参数,使用正确的参数重新尝试。 400 CBS.2203 待导入知识库的文件格式异常。 检查文件格式,修改正确后重新尝试。 400 CBS.2205 待导入知识库的qa对个数超过限制。 检查待导入的qa对个数是否已超过100万条,再重新尝试。 400 CBS.2611 OBS访问失败。 确认该账号有无访问OBS权限,再重新尝试。 400 CBS.2624 桶资源不存在。 确认桶资源是否存在,然后重新尝试。 400 CBS.2641 uri中的path参数异常。 检查uri参数中的path字段名,修改正确后重新尝试。 400 CBS.2312 body参数错误。 检查body中的参数,使用正确的参数重新尝试。 400 CBS.2322 问答请求参数错误。 检查body中的参数,使用正确的参数重新尝试。 400 CBS.2334 待评价的问答资源不存在。 检查请求id是否正确,使用正确的id重新尝试。 400 CBS.2344 待转成人工的问答资源不存在。 检查请求id是否正确,使用正确的id重新尝试。 400 CBS.2412 待检测文本序列参数错误。 检查body中的参数,使用正确的参数重新尝试。 400 CBS.2413 待检测文本序列格式异常。 检查文本序列的格式,修改正确后重新尝试。 400 CBS.0001 用户请求参数错误 请根据错误提示检查请求参数并修改。 401 CBS.0002 认证失败 检查token是否正确,使用正确token重新尝试。 400 CBS.0003 无法找到请求资源 请根据错误提示,检查请求的资源id是否填写正确。
  • 基本概念 账号 用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 用户是服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 父主题: 使用前必读
  • 响应示例 状态码:200 成功响应示例 { "reply_type" : 0, "qabot_answers" : { "answers" : [ { "score" : 1, "answer" : "桌面云打不开了", "domain" : "桌面云", "qa_pair_id" : "305cd440-ab4f-4704-9b30-ffa4e82a5606", "st_question" : "桌面云打不开" } ] } } 状态码:400 失败响应示例 { "error_code":"CBS.0011", "error_msg":"auth failed" }
  • 请求示例 提问“桌面云打不开了” POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/chat Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "question": "桌面云打不开了" } Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/chat" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} body = {"question": "用户问"} response = requests.post(url, headers=headers, json=body, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/chat"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); //输入参数 String body = "{\"question\": \"用户问\"}"; OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); osw.append(body); osw.flush(); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 reply_type Integer 回复类型: 0 知识库回复。 1 技能回复。 2 闲聊回复。 3 图谱回复。 4 文档回复。 5 表格回复。 qabot_answers QaBotAnswersNew object 知识库回复。 chat_answers ChatAnswers object 闲聊回复。 taskbot_answers TaskBotAnswers object 技能回复。只有专业版机器人有该回复。 docqa_answers DocqaAnswers object 文档回复。只有专业版机器人有该回复。 tableqa_answers TableQaAnswers object 表格回复。只有专业版机器人有该回复。 session_id String 会话id,每次对话开启,机器人创建会话id,下次请求中传入该id表示继续该对话,从用户最后一次答案开始,会话超时时间为2分钟。 kbqa_answers KbqaAnswers object 图谱回复。只有专业版机器人有该回复。 request_id String 请求ID。用来标记调用失败时,用来标记本次问答。 表7 QaBotAnswersNew 参数 参数类型 描述 answers Array of QaBotAnswer objects 问答机器人回复。 recommend_answers Array of RecomendAnswer objects 问答机器人推荐回复。 表8 QaBotAnswer 参数 参数类型 描述 qa_pair_id String 问答对ID,UUID格式,如:305cd440-ab4f-4704-9b30-ffa4e82a5606。 st_question String 标准问题,如:桌面云打不开。 answer String 答案,如:桌面云打不开了。 score Double 相似度得分,精确到小数点后3位。 domain String 问题类别。 top_score_question String 最高评分的扩展问或标准问。具体见表4。 表9 RecomendAnswer 参数 参数类型 描述 qa_pair_id String 问答对ID,UUID格式,如:305cd440-ab4f-4704-9b30-ffa4e82a5606。 st_question String 标准问题,如:桌面云打不开。 score Double 相似度得分,精确到小数点后3位。 domain String 问题类别。 top_score_question String 最高评分的扩展问或标准问。具体见表4。 表10 ChatAnswers 参数 参数类型 描述 answer String 答案,如:美好的一天祝您一切顺利。 score Float 闲聊的置信度,范围:[0.0,1.0 ]。0.0表示兜底回复。 表11 TaskBotAnswers 参数 参数类型 描述 answer String 答案, 如:请问您需要查询哪里的天气?(##SPLIT## 标签:多个回复节点分隔符) skill_id String 技能标识符,UUID格式。如:9eece064-bdb5-43cb-8e0f-8c19a929e25c。 skill_responses Array of SkillResponse objects 技能回复信息。 表12 SkillResponse 参数 参数类型 描述 skill_id String 输入问题,不能为空,UUID格式,如:9eece064-bdb5-43cb-8e0f-8c19a929e25c。 skill_version String skill的版本。 frame Frame object 命中意图。 candidate CandidateIntention object 候选意图。 locked Boolean 技能是否被锁定,默认是false。 related_intenions Array of RelatedIntention objects 相关意图信息。 表13 Frame 参数 参数类型 描述 intention String 意图。 confidence Double 命中意图置信度。 current_slots Array of CurrentSlot objects 当前槽位列表。 history_slots Array of HistorySlot objects 历史槽位列表。 reply String 机器人回复。 task_complete Boolean 任务是否完成。 flow_complete Boolean 对话流程是否结束。 candidate_words Array of Strings 候选词。 intention_alias String 意图名称。 表14 CurrentSlot 参数 参数类型 描述 slot_id String 槽位ID,UUID格式,如:9eece064-bdb5-43cb-8e0f-8c19a929e25c。 slot_name String 槽位名称。 slot_values Array of SlotValue objects 槽位值。 slot_identification String 用户设置的槽位标识。 表15 SlotValue 参数 参数类型 描述 word String 词。 norm_word String 通用词。 begin_position Integer 词的起始位置。 end_position Integer 词的结束位置。 表16 HistorySlot 参数 参数类型 描述 slot_name String 槽位名称。 slot_values Array of HistorySlotWord objects 槽信息。 slot_identification String 用户设置的槽位标识。 表17 HistorySlotWord 参数 参数类型 描述 word String 词。 norm_word String 归一化后的词。 表18 CandidateIntention 参数 参数类型 描述 candidate_intention String 候选意图。 candidate_confidence Double 候选技能置信度。 表19 RelatedIntention 参数 参数类型 描述 intention String 意图名称。 confidence Double 意图置信度。 表20 DocqaAnswers 参数 参数类型 描述 answer String 答案。 score Double 文档问答回复的得分。 question String 问题。 answer_detail DocQueryAnswerDetail object 文档回复的详细信息。 details Array of DocQueryAnswerDetail objects 文档回复的topN答案。 表21 DocQueryAnswerDetail 参数 参数类型 描述 answer String 答案。 doc_id String 文档ID。 end_index Integer 答案结束下标。 paragraph_score Double 段落评分。 paragraph_text String 段落文字。 phrase_score Double 文档问答阅读理解评分。 start_index Integer 答案开始下标。 total_score Double 文档问答总评分。 paragraph_number Integer 段落在文档中的编号。 表22 TableQaAnswers 参数 参数类型 描述 table_id String 表格ID。 answer String 表格问答答案。 score Double 评分。 表23 KbqaAnswers 参数 参数类型 描述 answer String 图谱问答的答案。 score Double 评分。 状态码: 400 表24 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • URI POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/chat 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String 机器人标识符,qabot编号,UUID格式。如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 获取方法: 登录对话机器人服务控制台,在智能问答机器人列表中查看qabot_id。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 list Array of ImageUrlResp objects 图片链接列表。 表4 ImageUrlResp 参数 参数类型 描述 id String 图片id。 name String 图片名称。 url String 访问地址。 resolution Resolution object 分辨率。 表5 Resolution 参数 参数类型 描述 x Integer 像素x。 y Integer 像素y。
  • 响应示例 状态码: 200 OK { "list" : [ { "id" : "f8b08136-9537-4ff8-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第一页" }, { "id" : "98559178-16c1-493b-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第二页" }, { "id" : "225d7e8a-d29d-4ad5-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第三页" }, { "id" : "d5adb76e-9ad0-4393-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第四页" }, { "id" : "4fea8fd5-6171-4b4a-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第五页" }, { "id" : "764df339-3e0f-4f4e-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第六页" }, { "id" : "b8f090cc-fc69-4b4d-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第七页" } ] }
  • URI POST https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/upload/ppt 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 video_id 是 String 视频id。可以通过调用获取视频列表接口获取。
  • 响应示例 状态码:200 成功响应示例 { "interval":"day", "total":{ "session_count":122, "user_count":4, "avg_request_count":1.467, "avg_session_time":23909.836 }, "intervals":[ { "start":"2021-02-14", "session_count":8, "user_count":1, "avg_request_count":3.500, "avg_session_time":157500.000 }, { "start":"2021-02-15", "session_count":1, "user_count":1, "avg_request_count":2.000, "avg_session_time":2000.000 }, { "start":"2021-02-19", "session_count":113, "user_count":4, "avg_request_count":1.319, "avg_session_time":14646.018 } ], "startutc":1613059200000, "endutc":1613720965417, "time_zone":"+08:00" } 状态码:400 失败响应示例 { "error_code":"CBS.0021", "error_msg":"request parameter error" }
  • 请求示例 获取用户会话统计信息 GET https://cbs-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?interval=day&time_zone=%2B08%3A00 Request Header: Content-Type: application/json X-Auth-Token:MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?start_time={start_time}&end_time={end_time}&interval={interval}&time_zone={time_zone}" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} response = requests.get(url, headers=headers, json=body, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id等需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?start_time={start_time}&end_time={end_time}&interval={interval}&time_zone={time_zone}"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setDoInput(true); connection.setDoOutput(false); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • URI GET https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?start_time={start_time}&end_time={end_time}&interval={interval}&time_zone={time_zone} 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String qabot_id,UUID格式,如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 获取方法: 登录对话机器人服务控制台,在智能问答机器人列表中查看qabot_id。 表2 Query参数 参数 是否必选 描述 start_time 否 查询的起始时间,long,UTC时间,采用毫秒时间戳,默认值为0。 end_time 否 查询的结束时间,long,UTC时间,采用毫秒时间戳,默认值为当前时间的毫秒数。 interval 是 统计周期目前支持month、week、day。 time_zone 否 请求所在时区,例如:中国东八区为"+08:00";美国西五区为"-05:00";默认为"UTC"。(注意+-:符号需要经过urlEncoder加码)
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 interval String 统计周期目前支持year、month、week、day。 time_zone String 所在时区,默认为"utc"。例如:中国东八区为"+08:00";美国西五区为"-05:00"。 total SessionStatsTotal object 会话总计统计数据。调用失败时无此字段。 intervals Array of SessionStatsIntervals objects 会话间隔统计数据。调用失败时无此字段。 startutc Long 统计开始的utc时间。调用失败时无此字段。 endutc Long 统计结束的utc时间。调用失败时无此字段。 表5 SessionStatsTotal 参数 参数类型 描述 session_count Long 会话总数。 user_count Long 独立用户个数。 avg_request_count Double 平均会话轮数,保留小数点后三位。 avg_session_time Double 平均会话时长,保留小数点后三位。 表6 SessionStatsIntervals 参数 参数类型 描述 start String 间隔周期开始时间。 session_count Long 间隔周期会话总数。 user_count Long 间隔周期独立用户个数。 avg_request_count Double 间隔周期平均会话轮数,保留小数点后三位。 avg_session_time Double 间隔周期平均会话时长,保留小数点后三位。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取Token接口响应消息头中X-Subject-Token的值即为Token。 Content-Type 是 String 消息体的类型(格式),参数值为“application/json”。 表3 请求Body参数 参数 是否必选 参数类型 描述 question 是 String 用户输入的问题,如果输入的question为空字符串返回结果为空。长度为1~512。 top 否 Integer 最多提示条数,默认为5,取值范围[1,10]。
  • 请求示例 获取“桌面云”问题的提示问题列表 POST https://{endpoint}/v1/41551a23c2be484cb0070631e323ee52/qabots/b36a01da-7fc2-43f8-8990-218e57a94420/suggestions Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "question":"桌面云", "top":2 } Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/suggestions" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} body = {"question":"桌面云","top":2} response = requests.post(url, headers=headers, json=body, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/suggestions"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); //输入参数 String body = "{\"question\":\"桌面云\",\"top\":2}"; OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); osw.append(body); osw.flush(); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • URI POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/suggestions 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String qabot编号,UUID格式,如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 进入问答机器人的Console界面,在“机器人名称/ID”列显示对应的qabot_id。
  • 请求示例 标记问答结果为转人工操作 POST https://{endpoint}/v1/1604d8170cd84440a81281e5a3a04f8b/qabots/303a0a00-c88a-43e3-aa2f-d5b8b9832b02/requests/{request_id}/labor Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/{request_id}/labor" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} response = requests.post(url, headers=headers, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/{request_id}/labor"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • URI POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/{request_id}/labor 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String qabot编号,UUID格式,如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 进入问答机器人的Console界面,在“机器人名称/ID”列显示对应的qabot_id。 request_id 是 String 请求ID,获取方式请参见响应参数中的request_id。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 request_id String 调用成功时的返回请求ID。 调用失败时无此字段。 updated_time String 转人工的时间。格式为“yyyy-MM-dd THH:mm:ssZ”。其中,T指某个时间的开始;Z指UTC时间。 调用失败时无此字段。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • URI POST https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/upload/image 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 video_id 是 String 视频id。可以通过调用获取视频列表接口获取。 表2 Query参数 参数 是否必选 参数类型 描述 name 是 String 图片名。
共100000条