功能概述
全局服务是一种系统集成能力,允许在对话过程中调用外部HTTP接口、阿里云函数计算和阿里云短信服务,系统中“对话工厂”支持直接引用全局服务。例如在“对话工厂”中调用有关外部“查天气”HTTP接口就可使机器人具备回应用户查天气需求,这极大扩展了机器人的对话能力。
功能入口
进入有关机器人空间后,选择通用设置>全局服务,即可进入全局服务设置界面:
新建HTTP类型全局服务
内容配置
进入全局服务内容设置界面后,选择服务类型为“HTTP服务”后,完成其他有关信息填写后即可完成服务的新建。具体产品界面如下:
选择服务类型为“HTTP服务”实质是调用外部HTTP接口。
有关服务的其他内容配置介绍如下:
服务名称与类型
服务名称:根据服务提供的功能, 可自定义服务名称。
服务类型:当前支持的服务类型有“HTTP服务”、“阿里云函数计算”和“阿里云短信服务”三类,此处要选择服务类型为“HTTP服务”。
调用方式设置
服务调用方式:
同步:服务调用方式若选择同步,服务将在调用完成或超时的情况,生成response信息并返回结果。
异步:若选择异步,需要调用方自主访问接口,来获取服务结果或超时信息。
是否轮询:若选择“是”,im、外呼等渠道端会对接口发起轮询,如果异步服务有结果,则返回接口参数。
对于同步调用的执行,默认需要等待服务返回后才触发后续流程,如果服务的返回结果会影响问答引擎后续动作,建议使用同步服务。
对于异步调用,会有两种场景:
例如机器人返回答案同时需要给客户发一条备忘短信,这种场景调用短信接口和后续问答无关,可以使用异步服务,“是否轮询”选择“否”,整体交互体验会更优雅;
在某些场景中,服务的返回结果会影响问答引擎后续动作,同时业务接口实时较高(如订车票类服务接口),在对话过程中调用这种服务并获取结果会导致对话实时增加,对话交互体验下降,可以使用异步服务,“是否轮询”选择“是”。im、外呼等渠道端会对接口发起轮询,如果异步服务有结果,则返回接口参数。
说明
服务超时时间:设定调用服务超时时间,超时后,系统会返回timeout信息。
接收参数设置
服务接收参数:设置服务需要接收的参数。
功能配置
服务接口:该服务需要引用的第三方接口。
接口入参: 根据第三方接口要求提供入参,可通过${}引用上面的服务接收参数,例:${city}。
系统当前支持HTTP协议,GET和POST两种服务接口。
服务返回参数
设置服务返回参数,可在服务节点,将该参数赋值到全局变量。
使用案例演示
参数说明:
服务接收参数:设置服务需要接收的参数,如查天气需要指定城市 。
服务接口:该服务需要引用的第三方接口
请求类型:GET
请求URL: http://127.xx.xx.xx/smsapi
请求参数: 根据第三方接口要求提供入参, 可通过${}引用上面的服务接收参数, 例: ${city}。
接口出参:服务接口返回的结果 ${serviceOutput}, 赋值到的服务返回参数。
服务返回参数:设置服务返回参数,可在服务节点, 将该参数赋值到全局变量。
新建函数计算服务
进入全局服务内容设置界面后,选择服务类型为“函数计算”后,完成其他有关信息填写后即可完成服务的新建。
选择该服务的前提是需要开通阿里云函数计算,有关阿里云函数计算的产品介绍可参考《阿里云函数计算-产品简介》。
新建函数计算服务需要选择服务内容和具体函数,其具体含义和内容配置的具体介绍参考《快速创建函数》。
新建短信服务
进入全局服务内容设置界面后,选择服务类型为“短信服务”后,完成其他有关信息填写后即可完成服务的新建。
选择该服务的前提是需要开通阿里云短信服务,有关阿里云短信服务的产品介绍可参考《阿里云短信服务-产品简介》。
新建短信服务需要选择签名和模板,其具体含义和内容配置的详细介绍参考《通过控制台使用短信服务》。