0

我想创建自己的网络聊天机器人,我想将我的应用程序与 wit.ai 集成以进行自然语言分类。我需要知道如何将 wit.ai 服务(通过 api 调用)与我的应用程序(后端的任何语言)集成.我在前端使用 C#。我已经完成了在 wit.ai 网站上发布的集成部分。但我不知道如何连接它。谁能给我简单的集成细节

4

1 回答 1

2

我认为简短的回答类似于您从应用程序服务器组件调用任何其他 API 的方式。Wit 公开了多个 API,例如消息、语音和对话,您可以通过传递授权令牌和其他有效负载来调用它们,并在应用程序中使用 API 响应。

  • 如果您只对提取句子的意图和其他属性感兴趣,则可以使用消息 API
  • 使用语音构建基于语音的应用程序和
  • 如果您想构建更智能的应用程序,请与之交谈。目前您只能为 converse APIs 传递文本。希望他们很快会为此引入语音选项。

现在为了让事情更简单,他们还提供了各种语言的 SDK,如 node-wit、pywit 等。因此,如果您想使用 nodejs 或 python 构建服务器端逻辑,您可以使用这些 SDK。优点是您不必管理原始 API 调用,而是全部由 SDK 管理。此外,另一个很大的优势是您可以使用封装了逆向 API 的 runActions 方法并使事情变得更简单。如果你想在 nodejs 中构建,那么 messenger 示例是一个很好的起点。您可以在您的应用程序中借用所有这些逻辑/概念,并用您的自定义机器人替换与 FB 相关的调用等。对于 Python,您可以查看以下链接

https://github.com/wit-ai/pywit/pull/55

此外,如果您计划将 wit 与 FB messenger 或 slackbot 等其他聊天机器人集成,您可以探索使用其他框架(如 botkit)的选项,因为这些框架提供了更大的灵活性和未来轻松切换到不同聊天机器人的能力。但他们似乎并没有正确支持 wit 的 converse API。

您正在专门寻找集成细节。由于您将 c# 用于前端应用程序,因此最好的选择自然是也将 c# 用于后端。在这种情况下,您将只能从后端直接调用 wit API,因为我认为 c# 中没有 SDK。如果您想在 node 或 python 等中使用 SDK,那么您将必须构建一个基于 rest 的后端(例如),它可以从您的 c# 应用程序中调用。我目前正在开发一个 nodejs 应用程序,并使用 node-wit 将它与 wit 集成。我可以在它准备好后分享一些代码,但我不知道我什么时候能够完成它。为了引导我的应用程序,我使用了这个节点应用。如果您对节点有一些了解,那么您可以查看 /server/controllers 逻辑。与此应用程序类似,我构建了一个 witController,它使用 runAction 与 wit 交互,当用户向您的机器人提交消息时,我从前端调用它。runAction 最大的挑战是找出一种方法将机智响应发送回前端并获得用户的后续响应。Wit 在 Send 方法中发送响应,您可以在 node-wit 的 messanger 示例中看到。

希望这可以帮助!

于 2016-10-10T17:06:22.977 回答