Microsoft Bot调用Bot或编排多个Bot

时间:2018-06-19 22:07:24

标签: botframework bots cortana-skills-kit

我想知道是否有办法将多个bot(使用Microsoft bot框架构建)连接在一起,以便有一个父bot,另一个是子代。我附上的图表是我想要的状态。

Desired Bots Orchestration

2 个答案:

答案 0 :(得分:0)

因此可以按照您的要求进行操作,但是您希望从BotBuilder SDK获得的支持级别可能不存在。我将把您在评论中的最后一句话解释为询问将话语路由到多个NLU模型的问题;有一个名为Dispatch的工具可用于将多个LUIS和QnA Maker模型连接在一起。

图表:

首先,不需要使用您决定使用“中间人”机器人或“儿童”机器人的中间件层。您只需从“父母”机器人执行此操作即可删除活动部件。我见过的大多数机器人设计都可以做到这一点,但是如果您对“中间件”层有特定的想法,则可以进行更多解释。重申一下,听起来它只是另一个路由层,而可能位于您的“父代”机器人中。

下一项是,您不必为每个任务创建多个机器人。相反,您可以在漫游器内部创建多个对话框来处理警报管理,历史记录管理和反馈管理。如果您尝试使用多个机器人将这些儿童机器人路由到其他机器人,那么对于为什么要让孩子成为单个机器人更有意义。但是,除非您有3个具有警报的漫游器,否则我建议将每个漫游器的对话框放入“父”漫游器中。

就个人而言,为什么这些主题和子任务中的每一个都需要放在单独的机器人中,应该有一个非常有力的理由,否则我将所有这些都放在一个机器人中。

Picture of your design diagram

答案 1 :(得分:0)

您想让一个Bot机器人与Bot机器人“对话”吗?

您可以使用收件人是您的子机器人的DirectLine渠道来执行此操作(您必须在ChannelAccount ID上设置机器人手柄)。

就像您可以创建一个客户端一样,该客户端可以使用直接线路向您的机器人发送消息。

查看此:Direct Line Testing