代码之家  ›  专栏  ›  技术社区  ›  Rahul Kalidindi

在不使用Azure机器人服务的情况下集成Microsoft Web聊天

  •  0
  • Rahul Kalidindi  · 技术社区  · 2 年前

    我目前正在考虑使用 Microsoft Web Chat 与现有的Node Js应用程序交互,该应用程序构建在MS Bot Framework Core上,但使用DialogFlow作为NLU。

    目前的执行情况 :网页->自定义UI小部件->连接到节点。基于MS Botframework核心构建的js应用程序->查询DialogFlow NLU以确定意图->节点。js应用程序构建对话框->向用户提供响应。

    查看Web聊天组件,除了Azure Bot服务,我找不到使用任何其他NLU的引用。是否必须使用Azure机器人服务/LUIS NLU与网络聊天集成?

    我也看过 offline-directline npm模块,但该模块上的最后一个开发已经超过3年了。

    0 回复  |  直到 2 年前
        1
  •  0
  •   Steven Kanberg    2 年前

    首先,快速回复关于使用 offline-directline ,你应该觉得很舒服。它已经有几年的历史了,但它似乎经受住了时间的考验,可以继续使用,而且我听到的问题很少。

    另一种选择是使用 browser bot 在这种情况下,bot包含在宿主页面的html/脚本中。因此,不依赖于使用直达线路。我不知道你的整个设置,所以这可能与你的总体需求和架构不一致。

    至于与Azure机器人服务以外的其他服务使用网络聊天,这将是一场艰苦的战斗。理论上,这在一定程度上是可以实现的。问题在于,网络聊天与 BotFramework-DirectLineJS 图书馆你可以从网络聊天中挑选特定的组件,用你自己的产品替换直连库,修改剩下的代码来使用你的“服务”。但是,我不确定这种努力是否值得。这是你必须自己决定的事情。

    如果你真的这么做了,你可能需要配置你的“服务”,以便在与网络聊天时发送符合BotFramework模式的消息。即使不依赖直连连接服务,很多网络聊天仍然面向传入消息的外观(即BotFramework活动),并根据其包含的属性进行处理。

    首先,为了正确配置您的服务以处理进出网络聊天室的入站和出站消息,您应该回顾以下几个方面:

    • 僵尸框架 Activity 模式
    • 僵尸框架 Card 模式
    • 僵尸框架 Transcript 模式
    • 网络聊天的活动、卡片、附件等。 Types -目前,这些都是松散的定义。我希望这种情况在未来的某个时候会发生变化,这可能会成为你特定场景中的一个不断变化的转折点。

    这并不是详尽无遗的,需要进行更多的研究,因为除了上面列出的几点之外,可能还有其他考虑因素。但是,如果您决定利用 离线直连 .