6

我们构建了一个 MS Bot Framework 机器人,它在对话期间使用我们现有的内部本地 API。我们希望通过将Web 聊天组件放入我们现有的、面向内部的本地应用程序的 DOM 中来发布此机器人。

对于我们现有的架构,我们自然也希望在内部托管这个机器人——以利用我们现有的所有配置和部署流程。我们知道,无论如何,机器人都必须与 LUIS 通信——这对我们来说很好;它不需要 Azure 直接连接到我们的内部业务数据 API 的更复杂(更大的攻击面,更少的中央 IT 支持)设置。

我认为这张图更清楚:

机器人托管配置

我们可以实现底部托管配置中描述的内容吗?

编辑 1:我们还可以在本地托管直接线路或类似的连接器,而无需编写自定义连接器吗?此外,我们是否可以通过这样的连接器与我们的机器人聊天,而无需为 DOM 编写自定义聊天组件/小部件?(只要指向我们的频道,网络聊天组件就可以正常工作。)

这里的最终目标是让我们所有的聊天流量都留在本地,因为这是一个数据驱动的聊天机器人,提供敏感号码。与获得我们中央 IT 部门的批准相比,在另一个可以完全在本地运行的框架中重新开发它所花费的时间更少。

旁注:我知道 Azure Stack 预览版。最低硬件要求(可能还有订阅费用)是极端过度的。(毕竟,我们谈论的是单个 Node 应用程序。)

这不是此问题的重复,因为此问题还解决了直接/线路连接器本地托管的关键要素,其中另一个问题假设连接器仍将在 Azure 上运行。

4

3 回答 3

2

首先,任何聊天机器人都将是与 NLP 一起运行的程序,它是为聊天机器人带来知识的 NLP。NLP 依赖于机器学习技术。

本地聊天机器人较少的原因很少。

  • 我们需要建立基础设施
  • 我们需要经常训练模型

但是使用基于云的 NLP 可能无法提供数据隐私和安全性,并且包含我的业务逻辑的灵活性也非常少。所有这些都到本地或云端是基于需求和需求的用例。但是,请参阅此链接以获取有关在本地构建聊天机器人的端到端知识,只需很少的步骤、轻松且完全可定制的以及所有开放堆栈框架和工具(Botkit、RASA 等)。

这也解释了如何在本地托管 BOT 框架。

完整的本地和完全可定制的聊天机器人 - 第 1 部分 - 概述 ( https://creospiders.blogspot.com/2018/03/complete-on-premise-and-fully.html ) 完整的本地和完全可定制的聊天机器人- 第 2 部分 - 使用 Botkit 构建代理 ( https://creospiders.blogspot.com/2018/03/complete-on-premise-and-fully_16.html ) 完成本地和完全可定制的聊天机器人 - 第 3 部分 - 与已构建的代理 ( https://creospiders.blogspot.com/2018/04/CompleteOn-PremiseandFullyCustomisableChatBotpart3.html ) 完成内部部署和完全可定制的聊天机器人 - 第 4 部分 - 集成自然语言处理器 NLP ( https:// /creospiders.blogspot.com/2018/07/complete-on-premise-and-fully.html )

于 2018-12-28T16:25:14.770 回答
1

我目前面临着类似的架构困境。从我们设法建立的情况来看 - 原则上是的。如何?机器人只是一个网络服务。您可以将它部署在任何您想要的地方,但您必须有另一个 Web 服务在 bot 框架应用程序和客户端之间进行中介 - 自定义连接器。

如果你想使用 Bot Service 的各种连接器服务(网络聊天、Skype、Slack),你必须部署到 Azure。

如果您想从本地连接到其中一些通道​​ - 您需要再次编写自己的连接器。

如何编写连接器?看看微软的机器人模拟器应用程序如何模拟“DirectLine API”是一个好的开始,在我的特定上下文中,如果我们用尽法律/安全途径部署到 Azure,我们可能会这样做。

于 2017-01-31T17:55:07.983 回答
1

我们正在做类似的工作 - jira-journal - 我们使用ngrok来托管机器人。该机器人驻留在本地并使用 ngrok 公开我们在机器人门户上更新的端点。

我们目前面临的痛点是,如果我们重新托管机器人,我们会得到一个新的端点,我们必须去更新机器人门户:(

于 2017-07-02T11:13:56.157 回答