我正在 Api.ai 控制台中尝试一些示例。我看到有一些示例,其中代理使用从用户查询或上下文中提取的值进行响应。但是有没有办法显示使用执行操作的输出形成的响应?
例如 -
用户:我的披萨订单确认了吗?
行动:检查订单状态
回应:是的,已确认(或“不,不是”)
我正在 Api.ai 控制台中尝试一些示例。我看到有一些示例,其中代理使用从用户查询或上下文中提取的值进行响应。但是有没有办法显示使用执行操作的输出形成的响应?
例如 -
用户:我的披萨订单确认了吗?
行动:检查订单状态
回应:是的,已确认(或“不,不是”)
您将不得不使用一些自定义 webhook 来执行此操作,或者与 3rd 方 API 集成,或者将您自己的服务器端调用到数据库 - 在这种情况下,webhook 将获取用户的 ID 并查询他们的披萨是否准备好了或不是,然后这将被传递回 API.ai。
这是一个使用 3rd 方 webhook 执行您要求的示例: https ://github.com/api-ai/apiai-weather-webhook-sample
是的,您可以使用 webhook 做到这一点。
通常,您会将订单状态保存在您的数据库中,然后您可以有一个意图:
当您使用 webhook 时,您需要返回speech
响应、您的应用程序需要的displayText
可选、和.data
contextOut
source
我想您还需要在 api.ai 中实现一些上下文,以便您现在可以询问谁在询问订单的状态。然后您就可以使用sessionId
马特在这里是正确的。您必须使用 webhook。不幸的是,API.AI 的文档目前很差。这是传入的发布请求的屏幕截图示例。我的消息函数将返回一个具有所需响应的对象。在这种情况下,我使用的是 Telegram 聊天机器人。如果您不使用任何信使,您可以删除数据键:值。FollowupEvent 也是可选的。
在您的 API.AI 意图上,请确保选中 Webhook。如果您最终在此处收到文本响应“Broken”,则说明出了点问题,您应该检查您的错误代码。
最后,在履行选项卡下,确保启用 webhook 并将其指向正确的端点。