云服务器内容精选

  • 步骤2:使用IAM账户获取Token 以获取华北-北京四(cn-north-4)区域的Token为例。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Request Header: Content-Type: application/json Request Body: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //子账户名称 "password": "********", //子账户密码 "domain": { "name": "domainname" //主账户名称 } } } }, "scope": { "project": { "name": "project name" //区域名称,如cn-north-4 } } } }
  • 如何给子账户添加CBS系统角色 本章节以添加系统角色CBS Administrator为例描述给子账户添加CBS系统角色的操作方法。 管理员在控制台右上角用户名的下拉框中单击“统一身份认证”。 创建用户组并授权。 进入“统一身份认证”服务,在“用户组”页签,单击右上角“创建用户组”。 输入用户组名称,单击“确定”。 在用户组的操作列单击“授权”。 图1 用户组授权 在“选择策略”页面搜索CBS Administrator,并勾选CBS Administrator权限,单击“下一步”。 图2 勾选CBS Administrator权限 设置最小授权范围。系统会根据您所选择的策略,自动推荐授权范围方案,您也可以根据需要选择其他合适的授权作用范围。 单击“确定”,授权完成。 创建用户并加入用户组。 在“用户”页签,单击右上角“创建用户”。 填写用户基本信息,单击“下一步”。 在“加入用户组”页面勾选已创建的用户组名称。 图3 加入用户组 单击“立即创建”,用户创建完成。 父主题: 智能问答机器人
  • 响应示例 状态码: 200 OK { "id" : "05abb2e4-613e-4c42-xxx", "status" : 2, "name" : "ceshi5", "tts_config" : { "speed" : 0.0, "volume" : 50, "delay" : 0.0, "audio_format" : "wav", "sample_rate" : "16000", "property" : "zhiqian", "tts_source" : 1 }, "video_config" : { "background_id" : "94e06659-75f6-461a-xxx", "show_subtitles" : false, "resolution_type" : 0 }, "character_config" : { "position" : { "x" : 371, "y" : 950 }, "character_id" : "xiaoya_suit_grey_stand" }, "read_config" : { "image_read_configs" : [ { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "d60acfdd-95df-4748-xxx", "read_content" : "1111213第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下", "name" : "fdsa" }, { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "aac35c42-f217-4ead-xxx", "read_content" : "看下第二张图片吧111111111", "name" : "1245" } ], "ppt_read_configs" : [ ], "read_type" : 1, "character_position" : 0 } } 状态码: 400 Bad Request { "error_code" : "CBS.0003", "error_msg" : "This resource Id:[33dbe0e2-bb9b-4efc-xxx] does not exist." } 状态码: 500 Internal Server Error { "error_code" : "CBS.0004", "error_msg" : "Internal Server Error" }
  • 请求示例 配置音色为知倩(资讯女声),形象选择小娅正装深色西装站姿,阅读内容第一张图片为“1111213第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下”,第二张图片为“看下第二张图片吧111111111”。 PUT https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/info { "tts_config" : { "speed" : 0, "volume" : 50, "delay" : 0, "audio_format" : "wav", "sample_rate" : "16000", "property" : "zhiqian", "tts_source" : 1 }, "video_config" : { "background_id" : "94e06659-75f6-461a-xxx", "show_subtitles" : false, "resolution_type" : 0 }, "character_config" : { "position" : { "x" : 371, "y" : 950 }, "character_id" : "xiaoya_suit_grey_stand" }, "read_config" : { "image_read_configs" : [ { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "d60acfdd-95df-4748-xxx", "read_content" : "1111213第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下" }, { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "aac35c42-f217-4ead-xxx", "read_content" : "看下第二张图片吧111111111" } ], "read_type" : 1, "character_position" : 0 } }
  • 响应参数 状态码: 200 表10 响应Body参数 参数 参数类型 描述 create_time String 创建时间。 update_time String 更新时间。 error_msg String 错误信息 如: {"error_code":"0001","error_msg":"播报内容超过10分钟,请重新调整播报内容。"}。 id String 视频id。 name String 视频名称。 progress Integer 视频生成进度。取值范围:0~100。 status Integer 视频状态。 0:未初始化 1:生成中 2:生成成功 3:生成失败 subtitle_url String 字幕地址。 video_url String 视频的obs地址,当视频生成成功时返回。 video_shot String 视频截图地址,jpg格式,分辨率480 * 270。当status=2时,表示生成成功时返回。 character_config CharacterConfig object 形象设置。 compose_actions Array of integers 合成动作,如果不为空,则表示可以进行合成操作。 read_config ReadConfigResp object 播报配置。 tts_config TtsConfig object 音频配置。 video_config VideoConfigResp object 视频配置。 表11 CharacterConfig 参数 参数类型 描述 character_id String 形象id。 position Position object 位置坐标。 表12 Position 参数 参数类型 描述 x Integer 像素坐标x。 y Integer 像素坐标x。 表13 ReadConfigResp 参数 参数类型 描述 image_read_configs Array of ImageReadConfigResp objects 图片播报配置。 ppt_read_configs Array of PPTReadConfigResp objects ppt播报配置。 read_type Integer 播报选项: 0:纯文本播报 1:图片播报 2:ppt播报 默认:0 配置哪项会校验哪项是否为空。 read_content String 纯文本播报内容。 换行符会按400ms的静音进行分割。 character_position Integer 主播位置。 0:左 1:中 2:右 read_content_paragragh_times Array of integers read_content每段播报时间。 表14 ImageReadConfigResp 参数 参数类型 描述 read_content String 播报内容,长度为1~2500。 image_id String 图片id。 resolution Resolution object 图片显示像素(748*420)。 image_url String 图片地址。 name String 图片名。 表15 PPTReadConfigResp 参数 参数类型 描述 read_content String 播报内容,长度为3~2500。 image_id String PPT转化有的图片id。 resolution Resolution object 图片显示像素(748*420)。 image_url String 图片地址。 name String 图片名。 表16 Resolution 参数 参数类型 描述 x Integer 像素x。 y Integer 像素y。 表17 TtsConfig 参数 参数类型 描述 property String 用于设置音色。取值范围: chinese_huaxiaomei_common:华小美(温柔女声) chinese_huaxiaolu_common:华小璐(知性女声) chinese_huaxiaoru_common:华小汝(中英女声) chinese_huaxiaohan_common:华小涵(中英女声) chinese_huaxiaozhen_common:华小珍(中英女声) chinese_huaxiaoxia_common:华小夏(热情女声) chinese_huaxiaowen_common:华小雯(柔美女声) chinese_huaxiaoshu_common:华小舒(舒缓女声) chinese_huaxiaowei_common:华小唯(嗲柔女声) chinese_huaxiaoliang_common:华小靓(嘹亮女声) chinese_huaxiaoyan_common:华小颜(严厉女声) chinese_huaxiaoxuan_common:华小萱(台湾女声) chinese_huanvxia_literature:华女侠(武侠女声) chinese_huaxiaomin_common:华小闽(闽南女声) chinese_xiaoqi_common:小琪(标准女声) chinese_xiaoyan_common:小燕(温柔女声) chinese_xiaowen_common:小雯(柔美女声) chinese_xiaojing_common:小靖(俏皮女声) chinese_xiaoxia_common:小夏(热情女声) chinese_xiaoqian_common:小倩(成熟女声) english_cameal_common:cameal(英文女声) aixia:小霞(亲和女声) zhiqian:知倩(资讯女声) ava:ava(美语女声) luna:Luna(英音女声) emily:Emily(英音女声) chinese_huaxiaogang_common:华晓刚(利落男声) chinese_huaxiaodong_common:华晓东(成熟男声) chinese_huaxiaoning_common:华小宁(中英男声) chinese_huaxiaoyang_common:华晓阳(朝气男声) chinese_huaxiaoxuan_literature:华晓悬(悬疑男声) chinese_xiaoyu_common:小宇(标准男声) chinese_xiaosong_common:小宋(激昂男声) aide:小德(新闻男声) aishu:小舒(资讯男声) yaqun:小群(卖场广播) luca:Luca(英音男声) eric:Eric(英音男声) 说明: 如果有自定义的音色,也可以配置为自定义的取值。 speed Float 用户设置音速。 volume Integer 用于设置音量。 delay Float 段首停顿时间。 取值范围:0~60。 单位:秒。 默认值:0。 pitch String 音高。 取值范围: -500~500 默认值:0。 audio_format String 语音格式头,包括wav、mp3、pcm。 默认值:wav。 sample_rate String 采样率,包括16000、8000。 默认值:8000。 tts_source Integer tts来源。 0:huawei 1:ali 2:用户克隆声音 默认值:0。 表18 VideoConfigResp 参数 参数类型 描述 background_id String 背景id。可以通过调用获取图片列表获取。 logo_id String 图标id。可以通过调用获取图片列表获取。 show_subtitles Boolean 是否显示字幕。默认值:false。 resolution_type Integer 画面分辨率。 0:宽屏landscape(默认), 1:竖屏portrait。 background_url String 背景图片地址,取默认背景的第一张。 image_frame_url String 播报框地址 和background绑定,如果使用用户自定义背景,则使用演播厅框。 logo_url String logo地址。 状态码: 400 表19 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。 状态码: 500 表20 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 tts_config 是 TtsConfig object 音频配置。 video_config 是 VideoConfig object 背景配置。 如果为空,使用默认背景。 character_config 是 CharacterConfig object 形象设置。 read_config 是 ReadConfig object 播报配置。 表3 TtsConfig 参数 是否必选 参数类型 描述 property 是 String 用于设置音色。取值范围: chinese_huaxiaomei_common:华小美(温柔女声) chinese_huaxiaolu_common:华小璐(知性女声) chinese_huaxiaoru_common:华小汝(中英女声) chinese_huaxiaohan_common:华小涵(中英女声) chinese_huaxiaozhen_common:华小珍(中英女声) chinese_huaxiaoxia_common:华小夏(热情女声) chinese_huaxiaowen_common:华小雯(柔美女声) chinese_huaxiaoshu_common:华小舒(舒缓女声) chinese_huaxiaowei_common:华小唯(嗲柔女声) chinese_huaxiaoliang_common:华小靓(嘹亮女声) chinese_huaxiaoyan_common:华小颜(严厉女声) chinese_huaxiaoxuan_common:华小萱(台湾女声) chinese_huanvxia_literature:华女侠(武侠女声) chinese_huaxiaomin_common:华小闽(闽南女声) chinese_xiaoqi_common:小琪(标准女声) chinese_xiaoyan_common:小燕(温柔女声) chinese_xiaowen_common:小雯(柔美女声) chinese_xiaojing_common:小靖(俏皮女声) chinese_xiaoxia_common:小夏(热情女声) chinese_xiaoqian_common:小倩(成熟女声) english_cameal_common:cameal(英文女声) aixia:小霞(亲和女声) zhiqian:知倩(资讯女声) ava:ava(美语女声) luna:Luna(英音女声) emily:Emily(英音女声) chinese_huaxiaogang_common:华晓刚(利落男声) chinese_huaxiaodong_common:华晓东(成熟男声) chinese_huaxiaoning_common:华小宁(中英男声) chinese_huaxiaoyang_common:华晓阳(朝气男声) chinese_huaxiaoxuan_literature:华晓悬(悬疑男声) chinese_xiaoyu_common:小宇(标准男声) chinese_xiaosong_common:小宋(激昂男声) aide:小德(新闻男声) aishu:小舒(资讯男声) yaqun:小群(卖场广播) luca:Luca(英音男声) eric:Eric(英音男声) 说明: 如果有自定义的音色,也可以配置为自定义的取值。 speed 是 Float 用户设置音速。 volume 是 Integer 用于设置音量。 delay 是 Float 段首停顿时间。 取值范围:0~60。 单位:秒。 默认值:0。 pitch 否 String 音高。 取值范围: -500~500。 默认值:0。 audio_format 否 String 语音格式头:wav、mp3、pcm。 默认:wav。 sample_rate 否 String 采样率:16000、8000。 默认值:8000。 tts_source 否 Integer tts来源。 0:huawei 1:ali 2:用户克隆声音 默认值:0。 表4 VideoConfig 参数 是否必选 参数类型 描述 background_id 是 String 背景id。可通过调用获取图片列表接口获取。 logo_id 否 String 图标id。可通过调用获取图片列表接口获取。 show_subtitles 否 Boolean 是否显示字幕。默认值:false。 resolution_type 否 Integer 画面分辨率。 0:宽屏landscape(默认) 1:竖屏portrait 表5 CharacterConfig 参数 是否必选 参数类型 描述 character_id 是 String 形象id。可通过调用获取形象列表接口获取。 position 否 Position object 位置坐标。 表6 Position 参数 是否必选 参数类型 描述 x 是 Integer 像素坐标x。 y 是 Integer 像素坐标x。 表7 ReadConfig 参数 是否必选 参数类型 描述 image_read_configs 否 Array of ImageReadConfig objects 插图播报配置。 read_type 是 Integer 播报选项。 0:纯文本播报(使用read_content 字段)。 1:插图播报(使用image_read_configs字段)。 3:自定义音频播报(使用audio字段) 会根据选项进行具体的字段校验。 read_content 否 String 纯文本播报内容。长度为1-2500。 character_position 否 Integer 主播位置。 0:左 1:中 2:右 默认值:1。 read_content_paragraph_interval 否 Integer 段落播报间隔。 单位:ms。 取值范围:0~5000。 默认值:400。 image_frame_id 否 String 播报框id。可通过调用获取图片列表接口获取。 audio_url 否 String 用户的音频文件obs地址,为https格式(如:https://cbs-digital-human-cn-north-4.obs.myhuaweicloud.com:443/audio.wav)。当字段不为空时,表示将使用用户自己的音频文件。 不支持PPT和图片播报,不支持字幕。音频格式文件的格式为wav,音频最长支持20分钟,支持100M。该功能的使用需要用户启动OBS授权。 表8 ImageReadConfig 参数 是否必选 参数类型 描述 read_content 是 String 播报内容,长度为1~2500。 image_id 是 String 图片id。可通过调用获取图片列表接口获取。 resolution 是 Resolution object 图片显示像素(748*420)。 表9 Resolution 参数 是否必选 参数类型 描述 x 否 Integer 像素x。 y 是 Integer 像素y。
  • URI PUT https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/info 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 video_id 是 String 视频id。可以通过调用获取视频列表接口获取。
  • 响应示例 状态码: 200 OK { "id" : "05abb2e4-613e-4c42-xxx", "status" : 2, "name" : "ceshi5", "tts_config" : { "speed" : 0.0, "volume" : 50, "delay" : 0.0, "audio_format" : "wav", "sample_rate" : "16000", "property" : "zhiqian", "tts_source" : 1 }, "video_config" : { "background_id" : "94e06659-75f6-461a-xxx", "show_subtitles" : false, "resolution_type" : 0 }, "character_config" : { "position" : { "x" : 371, "y" : 950 }, "character_id" : "xiaoya_suit_grey_stand" }, "read_config" : { "image_read_configs" : [ { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "d60acfdd-95df-4748-xxx", "read_content" : "1111213第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下", "name" : "fdsa" }, { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "aac35c42-f217-4ead-xxx", "read_content" : "看下第二张图片吧111111111", "name" : "1245" } ], "ppt_read_configs" : [ ], "read_type" : 1, "character_position" : 0 } } 状态码: 400 Bad Request { "error_code" : "CBS.0003", "error_msg" : "This resource Id:[33dbe0e2-bb9b-4efc-xxx] does not exist." } 状态码: 500 Internal Server Error { "error_code" : "CBS.0004", "error_msg" : "Internal Server Error" }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 create_time String 创建时间。 update_time String 更新时间。 error_msg String 错误信息 如: {"error_code":"0001","error_msg":"播报内容超过10分钟,请重新调整播报内容。"}。 id String 视频ID。 name String 视频名称。 progress Integer 视频生成进度。取值范围:0~100。 status Integer 视频状态。 0:未初始化 1:生成中 2:生成成功 3:生成失败 subtitle_url String 字幕地址。 video_url String 视频的obs地址,当视频生成成功时返回。 video_shot String 视频截图地址,jpg格式,分辨率480 * 270。当status=2时,表示生成成功时返回。 character_config CharacterConfig object 形象设置。 compose_actions Array of integers 合成动作。如果不为空,则表示可以进行合成操作。 read_config ReadConfigResp object 播报配置。 tts_config TtsConfig object 音频配置。 video_config VideoConfigResp object 视频配置。 表3 CharacterConfig 参数 参数类型 描述 character_id String 形象id。 position Position object 位置坐标。 表4 Position 参数 参数类型 描述 x Integer 像素坐标x。 y Integer 像素坐标x。 表5 ReadConfigResp 参数 参数类型 描述 image_read_configs Array of ImageReadConfigResp objects 图片播报配置。 ppt_read_configs Array of PPTReadConfigResp objects ppt播报配置。 read_type Integer 播报选项。配置哪项会校验哪项是否为空。 0:纯文本播报 1:图片播报 2:ppt播报 默认值:0 。 read_content String 纯文本播报内容。 换行符会按400ms的静音进行分割。 character_position Integer 主播位置。 0:左 1:中 2:右 read_content_paragragh_times Array of integers read_content每段播报时间。 表6 ImageReadConfigResp 参数 参数类型 描述 read_content String 播报内容,长度为1~2500。 image_id String 图片id。 resolution Resolution object 图片显示像素(748*420)。 image_url String 图片地址。 name String 图片名。 表7 PPTReadConfigResp 参数 参数类型 描述 read_content String 播报内容,长度为3~2500。 image_id String PPT转化的图片id。 resolution Resolution object 图片显示像素(748*420)。 image_url String 图片地址。 name String 图片名。 表8 Resolution 参数 参数类型 描述 x Integer 像素x。 y Integer 像素y。 表9 TtsConfig 参数 参数类型 描述 property String 用于设置音色。 speed Float 用户设置音速。 volume Integer 用于设置音量。 delay Float 段首停顿时间。 取值范围:0~60。 单位:秒。 默认值:0。 pitch String 音高。 取值范围: -500~500。 默认值:0。 audio_format String 语音格式头,包括wav、mp3、pcm。 默认值:wav。 sample_rate String 采样率,包括16000、8000。 默认值:8000。 tts_source Integer tts来源。 0:huawei 1:ali 2:用户克隆声音 默认值:0。 表10 VideoConfigResp 参数 参数类型 描述 background_id String 背景id。 logo_id String 图标id。 show_subtitles Boolean 是否显示字幕。 默认值:false。 resolution_type Integer 画面分辨率。 0: 宽屏landscape(默认) 1: 竖屏portrait background_url String 背景图片地址,取默认背景的第一张。 image_frame_url String 播报框地址和background绑定,如果使用用户自定义背景,则使用演播厅框。 logo_url String logo地址。 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。
  • URI GET https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/info 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 video_id 是 String 视频id。可以通过调用获取视频列表接口获取。
  • 安装SDK 支持Python3及以上版本,执行python --version检查当前Python的版本信息。 使用SDK前,需要安装“huaweicloudsdkcore”和“huaweicloudsdkcbs”。有两种安装方式,分别如下。 使用pip安装 # 安装核心库 pip install huaweicloudsdkcore # 安装CBS服务库 pip install huaweicloudsdkcbs 使用源码安装 # 安装核心库 cd huaweicloudsdkcore-3.0.89 python setup.py install # 安装CBS服务库 cd huaweicloudsdkcbs-3.0.89 python setup.py install
  • 开始使用 详细的SDK介绍,使用异步客户端,配置日志请参见SDK中心、Python SDK使用指导、Python SDK使用视频。 导入依赖模块 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcore.http.http_config import HttpConfig # 导入CBS服务库huaweicloudsdkcbs from huaweicloudsdkcbs.v1.region.cbs_region import CbsRegion from huaweicloudsdkcbs.v1 import * 配置客户端连接参数 默认配置 # 使用默认配置,如出现'HttpConfig' is not defined报错,请检查是否已正确安装sdk config = HttpConfig.get_default_config() 网络代理(可选) # 根据需要配置网络代理 config.proxy_protocol = 'http' config.proxy_host = 'proxy.huaweicloud.com' config.proxy_port = 80 config.proxy_user = 'username' config.proxy_password = 'password' 超时配置(可选) # 默认连接超时时间为60秒,读取超时时间为120秒,支持统一指定超时时长timeout=timeout,或分别指定超时时长timeout=(connect timeout, read timeout) config.timeout = 120 SSL配置(可选) # 根据需要配置是否跳过SSL证书校验 config.ignore_ssl_verification = True # 配置服务器端CA证书,用于SDK验证服务端证书合法性 config.ssl_ca_cert = ssl_ca_cert 配置认证信息 配置AK、SK、project_id信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。 使用永久AK和SK basic_credentials = BasicCredentials(ak, sk, project_id) 使用临时AK和SK basic_credentials = BasicCredentials(ak, sk, project_id).with_security_token(security_token) 认证参数说明: ak、sk:访问秘钥信息,获取方法请参见准备工作。 project_id:华为云项目ID,获取方法请参见准备工作。 security_token:采用临时AK、SK 认证场景下的安全票据,可以通过token获取或者通过委托授权获取。 初始化客户端 指定region方式(推荐) # 增加region依赖 from huaweicloudsdkcbs.v1.region.cbs_region import CbsRegion # 初始化客户端认证信息,使用当前客户端初始化方式可不填 project_id/domain_id,以BasicCredentials为例 basic_credentials = BasicCredentials(ak, sk) # 初始化指定云服务的客户端 {Service}Client ,以初始化 Region 级服务CBS的 CbsClient 为例 client = CbsClient.new_builder() \ .with_http_config(config) \ .with_credentials(basic_credentials) \ .with_region(CbsRegion.value_of("cn-north-4")) \ .build() 指定云服务endpoint方式 # 指定终端节点,以 CBS 服务北京四的 endpoint 为例 endpoint = "https://cbs-ext.cn-north-4.myhuaweicloud.com" # 初始化客户端认证信息,需要填写相应 project_id/domain_id,以初始化 BasicCredentials 为例 basic_credentials=BasicCredentials(ak, sk, project_id) # 初始化指定云服务的客户端 {Service}Client ,以初始化 Region 级服务CBS的 CbsClient 为例 client = CbsClient.new_builder() \ .with_http_config(config) \ .with_credentials(basic_credentials) \ .with_endpoint(endpoint) \ .build() endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 # 以调用问答机器人会话接口ExecuteQaChat为例 request = ExecuteQaChatRequest() # qabot_id获取方法参考本章节“准备工作” request.qabot_id = "e716b41a-1fee-4730..." request.body = PostRequestsReq( # session_id首轮不需要传入或可传入任意值,第二轮开始使用上一轮返回的session_id session_id="ad7a5010-3817...", question="查天气" ) response = client.execute_qa_chat(request) print(response) 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) # 异常处理 try: request = ExecuteQaChatRequest() response = client.execute_qa_chat(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
  • 新建信息收集节点 在机器人与用户的对话过程中,机器人需要收集用户问题中的关键信息,可通过配置信息收集节点,对用户的问题进行追问,并获取需要的内容。 在左上角节点列表中,拖拽“信息收集”节点到中间空白区域,同时界面右侧展开“信息收集”页签。 图1 信息收集 设置节点名称、在槽位管理下拉框中选择对应的意图。 选择意图后,会将意图中创建的槽位及追问话术等信息同步至此处。可对这些信息进行修改,修改后只在当前节点生效,不会影响原意图的槽位设置。 如果意图中设置了槽位信息,系统会展示该意图下所有的槽位,请根据表表1配置收集该意图相关的槽位信息。 表1 参数说明 参数名称 参数说明 取值 取值保留时间 槽位信息在被收集后,系统保留该信息的时间。 取值保留时间的取值如下: 关闭对话后清空:当用户关闭对话弹窗或重置对话后,清空槽位的取值信息。其他情况,不清空。 流程结束后清空:当用户结束当前对话流程后,清空槽位的取值信息。 流程中断跳出后清空:当用户中断流程后跳出,清空槽位的取值信息。 是否必须 用户问题中槽位信息是否必须出现。 取值如下: 是:必须槽位,当用户在对话中未提供槽位信息时,机器人会根据设置的话术进行追问 否:非必须槽位,当用户在对话中未提供槽位信息时,机器人不会追问。 追问轮数 与用户对话中可以追问的轮数。 取值如下: 1 2 3 追问话术 追问用户的问题。 有效字符串。 父主题: 配置对话流程(可选)
  • 创建技能 在“技能管理”页面,单击“添加技能”。 在添加技能对话框中选择预置技能或共享技能,单击“下一步”。 多轮对话技能:根据业务需要,通过自己配置意图、槽位,回复来实现多轮问答。 表格问答技能:仅需上传Excel表格,便能获取基于该表格知识的问答技能。 预置技能:使用系统已经创建好的技能(如查节日、查天气、成语接龙等),来实现一些通用场景下的多轮问答。系统提供的预置技能,可配置在机器人内进行使用,不需要再次训练,但不能对该技能进行修改。添加预置技能后,默认为运行状态,可直接对话体验测试,或线上对话测试。 共享技能:使用其他用户共享的技能,来实现某些特定场景下的多轮问答。可以添加调用,但不能对其进行修改。 图1 添加技能 多轮对话技能和表格问答技能需要输入技能名称,预置技能或共享技能需要选择技能名称,然后单击“确定”。 新创建的技能显示在“技能管理”页面。 对于多轮对话技能和表格问答技能,可以在操作列单击“编辑”重命名技能名称,也可以单击“删除”删除不需要的技能。状态为“运行中”的技能可以执行“停用”操作。 预置技能和共享技能只能在添加后进行“删除”操作。
  • 调整阈值 训练好的模型可以通过调整阈值,影响机器人直接回答的准确率。阈值越高,机器人越严谨,对用户问的泛化能力越弱,识别准确率越高;阈值越低,机器人越开放,对用户问的泛化能力越强,识别准确率越低。 针对历史版本的模型,可以根据当前模型调节直接返回答案的阈值。 在“模型管理”页面,在模型列表的操作列单击“调整阈值”。 图6 调整阈值 如下图所示,您可以根据实际需求,选择合适的阈值,然后单击“确定”。 用户问法与标准问的相似度大于直接回答阈值时,直接返回相应答案。 用户问法与标准问的相似度大于推荐问阈值时(小于直接回答阈值),返回相似度较高的标准问给用户再次确定用户意图。 用户问法与标准问的相似度小于推荐问阈值时,返回识别失败回复话术。 图7 设置阈值