自定义服务
服务编排支持在流程中加入自定义服务:用户将自有的服务(如:语义服务,内容服务等)通过简单的协议适配加入到编排流程中,组合出更满足业务场景需求的能力
自定义服务:
操作流程
详细操作如下
创建服务
登录A.I.服务编排平台(以下简称ASO)控制台,点击“接入服务管理”->“新建服务”,根据输入框提示输入“服务名称”
“服务信息”
定义接口
通过可视化的方式定义服务的输入输出信息,定义完后自动生成与编排交互的协议,满足此协议的服务才可以被服务编排调用
详细操作如下:
1、选择“接口类型”,填写“接口地址”
接口类型:当前平台支持非流式接口(接口协议为:HTTP1.1)和流式接口(接口协议为:WebSocket)
接口地址:输入自定义服务的公网访问地址
示例:接口类型选择非流式,接口地址为自定义【识别服务】的地址
2、功能定义
服务输入参数信息,此部分只需输入功能参数信息,这些功能参数为请求自有服务的输入参数,如:nbase控制的是识别返回结果的个数,用户输入nbase=1 自有的识别服务返回一个识别结果。根据自有服务需要,逐个完成参数定义
字段 | 解释说明 |
---|---|
功能描述 | 功能含义的简要描述,支持汉字、英文、数字组合,不超过128字符 |
功能标识 | 功能的参数定义,支持英文、下划线、数字组合,不超过32字符 |
数据类型 | 功能取值的数据类型,根据功能含义进行选择,包含整数型、浮点型、枚举型、布尔型、字符串、时间型 |
约束类型 | 功能取值的约束类型,包含范围取值、枚举。其中范围取值表示该功能取值的上下限,而枚举中的每一个取值,均需说明各取值的含义 |
是否必填 | 标识该功能在AI能力使用者进行调用时,是否必传。通常情况下,影响引擎的基础功能为必填项,进阶型功能为非必填项 |
默认值 | 非必填,如果该功能为非必填项,需明确该功能的默认取值 |
3、请求数据定义:
请求数据为请求自有服务的数据实体,根据自有服务需要的输入数据类型和数据个数进行定义,如:【识别服务】的请求数据是1个音频数据
在请求数据模块,点击 “添加”,数据类型选择“音频”,数据段名称根据习惯自定义,点击确认
选择数据类型后,展示数据的详细信息(数据描述为平台根据常见的数据类型进行的定义,若不满足需求请联系技术支持)
4、响应数据定义:
响应数据为自有服务的返回的数据实体,根据自有服务返回的数据类型和数据个数进行定义,如:【识别服务】的响应数据是1个文本,
在请求数据模块,点击 “添加”,数据类型选择“文本”,数据段名称根据习惯自定义,点击确认
注:
数据段返回策略:
选择默认返回,该数据段会默认返回给请求方
选择符合条件时返回,根据请求的参数值决定数据是否返回给请求方
若自有服务返回的是数据实体是json格式,需要添加json格式描述,以便请求方能理解该响应数据
导入数据实体json,对关键字段添加描述
5、错误码定义:
将服务可能返回的错误码,以及错误码描述进行详细说明,以便使用者排查问题,点击逐个添加即可
字段 | 解释说明 |
---|---|
错误码 | 开发者自定义的引擎错误编码,业界通常为5~7位,错误码与系统本身错误码已隔离,请放心填写 |
错误描述 | 对当前错误状态的客观表述,支持英文、数字、下划线、横杠组合;上限256字符。如:AIGES_ERROR_INVALID_PARA |
说明 | 对错误码产生的原因进行详细描述,支持中文、英文、数字、下划线、横杠组合;上限518字符 |
处理策略 | 对该错误类型的建议处理策略,支持中文、英文、数字、下划线、横杠组合;上限518字符 |
6、点击“保存”,完成自定义服务接口定义,服务在服务列表中可见
兼容协议
在接入服务管理中,点击对应服务名称 后方操作中“接口协议”,即可获取“平台协议”,按照平台协议本地完成自有服务接口协议的转换即可
服务调试
完成协议兼容后,按照“平台协议”,本地发送请求,查看自有服务接收到的请求和影响与预期是否一致,同时查看请求端接收到的响应数据是否服务预期