我可以在本地托管MS Bot Framework Node.js实例

时间:2017-01-31 16:42:03

标签: node.js azure botframework luis direct-line-botframework

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

使用我们现有的架构,当然,我们希望在内部托管此机器人 - 利用我们现有的所有配置和部署流程。我们理解,无论如何,机器人都必须与LUIS沟通 - 这对我们来说很好;它不需要Azure的更复杂(更大的攻击面,更少的集中IT购买)设置直接连接到我们的内部业务数据API。

我认为这个图表更加清晰:

Bot Hosting Configurations

我们能否实现底层托管配置中描述的内容?

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

这里的最终目标是让我们的所有聊天流量保持在本地,因为这是一个数据驱动的聊天机器人服务敏感数字。在另一个框架中重新开发它将花费更少的时间可以完全在本地运行,而不是获得中央IT部门的批准。

备注:我了解Azure Stack Preview。最低硬件要求(也可能是订阅成本)极端矫枉过正。 (毕竟,我们正在讨论单个节点应用。)

这不是this question的重复,因为这个问题还解决了直接/线路连接器本地托管的关键元素,其他问题假设连接器仍然可以在Azure上运行。

3 个答案:

答案 0 :(得分:1)

我目前面临类似的架构困境。从我们设法建立的 - 原则上,是的。怎么样?机器人只是一个Web服务。您可以在任何地方部署它,但是您必须在bot框架应用程序和客户端之间使用另一个Web服务 - 自定义连接器。

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

如果您想从内部部署连接到其中一些频道,您需要再次编写自己的连接器。

如何编写连接器?看一下Microsoft的bot模拟器应用程序如何模拟" DirectLine API"这是一个良好的开端,如果我们耗尽法律/安全途径部署到Azure,我可以在我的特定环境中这样做。

答案 1 :(得分:1)

我们正在做类似的工作 - jira-journal - 我们使用ngrok来托管机器人。机器人驻留在内部部署,并使用ngrok公开我们在机器人门户网站上更新的端点。

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

答案 2 :(得分:1)

首先,所有聊天机器人都将是与NLP一起运行的程序,它是将知识带给聊天机器人的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