【问题标题】:Does Cortana support webhooks / calling external API's?Cortana 是否支持 webhook/调用外部 API?
【发布时间】:2019-02-04 14:04:24
【问题描述】:

我一直在尝试为 Cortana 创建技能,并希望将其连接到我制作的 .NET Core Web API。此 Web API 已包含 Google Home 和 Alexa 的实现,我想将 Cortana 通信添加到此 Web API。

目前我已经查看了微软网站上的examples 并玩弄了它们。这些示例为我提供了一个 .zip 文件,其中包含一个处理请求的预生成项目,我想为此使用我自己的 Web API。

LUIS 中发布应用程序时,我在 Keys and Endpoint settings 下找到了一些有关端点的信息,但它似乎不是我想要的那种端点我正在寻找。

是否可以使用个人 Web API 来处理类似于 Dialogflow webhooksAlexa Endpoints 的 Cortana 机器人的意图行为?

任何链接或其他参考资料都会非常有帮助。

提前致谢!

【问题讨论】:

  • bot 框架中没有像 Assistant 或 Alexa 项目中可用的 webhook 功能,但是您可以从 bot 的 OnTurnAsync 方法中调用您的 API - 我们这样做是为了实现我们的 Cortana机器人。请注意,当我们使用自己的 AI 时,我们只接收原始文本,没有任何意图或实体解析。
  • 没有理由不能从 botframework 调用其他 API。而且...您还可以在任何地方托管您的机器人(只要您使用机器人频道注册)。我知道有几个人构建了代理机器人来在机器人服务/cortana 和其他服务之间进行转换。
  • 对于我的一个多代理机器人 - 我写了一个代理不可知的服务,我的动作和技能交谈 - 你可以玩游戏 - 有状态 - 在 Google Home 或 Invoke。就像 Stuart 提到的那样 - 它只是传递原始文本并让服务执行 LU。

标签: c# botframework asp.net-core-webapi azure-language-understanding cortana


【解决方案1】:

使用Bot Channels RegistrationCortana 连接技能将对配置的Messaging Endpoint 进行 POST 调用:

所有 Bot Framework 服务都使用行业标准 REST and JSON over HTTPS,并基于 Bot Framework -- Activity 架构与消息进行通信。使用 Cortana 通道,当在消息传递端点收到 POST 时,代码必须确认调用 (HttpStatus 200) 并在 10 秒内发送返回消息(serviceUrl 是目标的基本 URL)。在此期间,您的代码可以调用您需要的任何其他服务或 API。

Bot Builder SDK 有助于更轻松地与 Bot Framework 服务进行通信,包括Cortana Connector Services

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多