创build支持Microsoft Bot Framework中的两个LUIS应用程序的bot

我需要使用Node.js和Microsoft Bot框架来制作一个双语的机器人。 该机器人使用LUIS作为自然语言。

我使用标准的方式来插入LUIS:

// Create bot, send welcome message: let bot = new builder.UniversalBot(connector, NoneIntentHandler); // Plug in LUIS: bot.recognizer(new builder.LuisRecognizer(config.luis.url)); 

不过,我需要支持两种语言,英文和中文。 检测语言对我来说不是一个问题。 我有两个独立的LUIS应用程序,一个用于英文,一个用于中文,他们返回相同的意图和实体。

但问题是如何根据用户input的语言在两个不同的应用程序之间dynamic切换。 bot.recognizer不接受两个URL或任何其他参数。 所以似乎没有build立在这方面的支持。

有什么方法dynamic杀死和重新创build与另一个recognizer bot对象? 或者根据LUIS语言重新分配recognizer ? 或者有其他的办法吗?

您可以尝试以下方法:

 var recognizer1 = new builder.LuisRecognizer('<model 1>'); var recognizer2 = new builder.LuisRecognizer('<model 2>'); var intents = new builder.IntentDialog({ recognizers: [recognizer1, recognizer2] });