全局服务

功能概述

全局服务是一种系统集成能力,允许在对话过程中调用外部HTTP接口阿里云函数计算阿里云短信服务,系统中“对话工厂”支持直接引用全局服务。例如在“对话工厂”中调用有关外部“查天气”HTTP接口就可使机器人具备回应用户查天气需求,这极大扩展了机器人的对话能力。

功能入口

进入有关机器人空间后,选择通用设置>全局服务,即可进入全局服务设置界面:

image

新建HTTP类型全局服务

内容配置

进入全局服务内容设置界面后,选择服务类型为“HTTP服务”后,完成其他有关信息填写后即可完成服务的新建。具体产品界面如下:

说明

选择服务类型为“HTTP服务”实质是调用外部HTTP接口。

image

有关服务的其他内容配置介绍如下:

  • 服务名称与类型

    • 服务名称:根据服务提供的功能, 可自定义服务名称。

    • 服务类型:当前支持的服务类型有“HTTP服务”、“阿里云函数计算”和“阿里云短信服务”三类,此处要选择服务类型为“HTTP服务”

  • 调用方式设置

    • 服务调用方式:

      • 同步:服务调用方式若选择同步,服务将在调用完成或超时的情况,生成response信息并返回结果。

      • 异步:若选择异步,需要调用方自主访问接口,来获取服务结果或超时信息。

        • 是否轮询:若选择“是”,im、外呼等渠道端会对接口发起轮询,如果异步服务有结果,则返回接口参数。

            说明
            • 对于同步调用的执行,默认需要等待服务返回后才触发后续流程,如果服务的返回结果会影响问答引擎后续动作,建议使用同步服务。

            • 对于异步调用,会有两种场景:

              • 例如机器人返回答案同时需要给客户发一条备忘短信,这种场景调用短信接口和后续问答无关,可以使用异步服务,“是否轮询”选择“否”,整体交互体验会更优雅;

              • 在某些场景中,服务的返回结果会影响问答引擎后续动作同时业务接口实时较高(如订车票类服务接口),在对话过程中调用这种服务并获取结果会导致对话实时增加,对话交互体验下降,可以使用异步服务,“是否轮询”选择“是”。im、外呼等渠道端会对接口发起轮询,如果异步服务有结果,则返回接口参数。

    • 服务超时时间:设定调用服务超时时间,超时后,系统会返回timeout信息。

  • 接收参数设置

    • 服务接收参数:设置服务需要接收的参数。

  • 功能配置

    • 服务接口:该服务需要引用的第三方接口。

    • 接口入参: 根据第三方接口要求提供入参,可通过${}引用上面的服务接收参数,例:${city}。

说明
  • 系统当前支持HTTP协议,GET和POST两种服务接口。

  • 服务返回参数

    • 设置服务返回参数,可在服务节点,将该参数赋值到全局变量。

使用案例演示

image.png

参数说明:

  • 服务接收参数:设置服务需要接收的参数,如查天气需要指定城市 。

  • 服务接口:该服务需要引用的第三方接口

    • 请求类型:GET

    • 请求URL: http://127.xx.xx.xx/smsapi

  • 请求参数: 根据第三方接口要求提供入参, 可通过${}引用上面的服务接收参数, 例: ${city}。

  • 接口出参:服务接口返回的结果 ${serviceOutput}, 赋值到的服务返回参数。

  • 服务返回参数:设置服务返回参数,可在服务节点, 将该参数赋值到全局变量。

新建函数计算服务

进入全局服务内容设置界面后,选择服务类型为“函数计算”后,完成其他有关信息填写后即可完成服务的新建。

image

说明
  • 选择该服务的前提是需要开通阿里云函数计算,有关阿里云函数计算的产品介绍可参考《阿里云函数计算-产品简介》。

  • 新建函数计算服务需要选择服务内容和具体函数,其具体含义和内容配置的具体介绍参考《快速创建函数》。

新建短信服务

进入全局服务内容设置界面后,选择服务类型为“短信服务”后,完成其他有关信息填写后即可完成服务的新建。

image

说明