我在botframework(微软Azure)中创建了一个连接到LUIS应用程序的机器人。它运作良好。但用英语。 Bot和LUIS应用程序之间的连接已自动完成。
现在我想用德语工作。因此,我在de de de culture中创建了一个新的应用程序。创造了我的德语意图。发表它。
我按照LUISChatBot的指示。我可以检索LUIS AppID和授权密钥以及德国LUIS应用程序的端点,将其添加到我的Azure聊天机器人。机器人继续只懂英语中的意图!
所以我猜连接不起作用如何在上面的说明中解释。更糟糕的是:即使我在Azure Chatbot设置的image中表示的LuisAPIkey或LuisAPIId中没有放置任何内容(=我删除ID和Key并将其清空),机器人仍然继续理解英语意图!?!
我怎样才能使它工作?我看了机器人的代码,但我没有找到那里出现的密钥(这是有意义的)。我发现的唯一想法是在Basic LuisDialog.cs中:
public BasicLuisDialog() : base(new LuisService(new LuisModelAttribute(
ConfigurationManager.AppSettings["LuisAppId"],
ConfigurationManager.AppSettings["LuisAPIKey"],
domain: ConfigurationManager.AppSettings["LuisAPIHostName"])))
{
}
感谢您的时间
半答案:我可以通过更改Azure(西欧)中的区域来更改语言,然后也使用eu.luis.ai。
但是当我删除Azure中LUIS的密钥和端点时,我仍然不知道为什么聊天机器人继续工作。
您可以使用
var english = new Option();
english.Locale = "en-US";
参考:GitHub
要么
在BotSDK v4.0中,您可以使用System.Globalization.CultureInfo("en-US");
将现有语言翻译成您需要的语言。