Microsoft Bot calling Bot or Orchestrating Multipl

2020-01-20 00:54发布

问题:

I would like to know if there is way to connect multiple bot's (build using microsoft bot framework )together so that there will be one parent bot and other being children. The diagram I have attached is my desired state.

Desired Bots Orchestration

回答1:

So it's possible to do what you're asking, but the levels of support that you're hoping for from the BotBuilder SDK might not exist. I'm going to interpret your last statement in your comment as asking about routing utterances to multiple NLU models; there is a tool called Dispatch that can be used to connect multiple LUIS and QnA Maker Models together.

The Diagram:

To start off with, this Middleware layer you're using before deciding to route to a "Parent" bot or "Children" bot is unnecessary. You can just do this from the "Parent" bot to remove moving parts. Most bot designs I've seen do this, but if you have specific thoughts about the "Middleware" layer you could explain more. To reiterate, it sounds like it's just another routing layer that could instead be in your "Parent" bot.

The next item is that you don't need to necessarily create multiple bots for each task; instead you can create multiple dialogs inside your bot to handle Alarm Management, History Management and Feedback Management. If you're attempting to use multiple bots to route to these children bots then it makes more sense as to why you would want the children to be individual bots. However, unless you have 3 bots with alarms, I recommend putting the dialogs from each bot into your "Parent" bot.

Personally speaking, there should be a very strong case as to why each of these topics and child tasks need to be in separate bots, otherwise I would just put all of this into one bot.