我在botframework(Microsoft Azure)中创建了一个机器人,该机器人连接到LUIS应用程序。一切都很好。但是用英语。 Bot和LUIS App之间的连接已自动完成。
现在,我希望它以德语运行。因此,我在路易斯市创建了具有de-de文化的新应用程序。创造了我的德国意图。发表了。
我遵循了LUISChatBot中的指示。我可以检索LUIS AppID和授权密钥以及德语LUIS App的端点,以将其添加到我的Azure聊天机器人中。而且,该机器人只会继续理解英语的意图!
因此,我想该连接无法正常工作,如上面的说明中所述。更糟糕的是:即使我在Azure Chatbot设置的image中所表示的LuisAPIkey或LuisAPIId中未放任何东西(=删除ID和Key并让其为空),该机器人仍会继续理解英语意图!
我如何使其起作用?我查看了漫游器的代码,但是找不到在那里出现的密钥(这很有意义)。我发现的唯一想法是在BasicLuisDialog.cs中:
public BasicLuisDialog() : base(new LuisService(new LuisModelAttribute(
ConfigurationManager.AppSettings["LuisAppId"],
ConfigurationManager.AppSettings["LuisAPIKey"],
domain: ConfigurationManager.AppSettings["LuisAPIHostName"])))
{
}
谢谢您的时间
答案 0 :(得分:0)
半答案:我可以通过更改Azure(西欧)的区域来更改语言,然后使用eu.luis.ai。
但是我仍然不知道为什么当我在Azure中删除LUIS的键和终结点时,聊天机器人为什么仍能继续工作。
答案 1 :(得分:0)
您可以使用
var english = new Option();
english.Locale = "en-US";
参考:GitHub
或
在BotSDK v4.0中,您可以使用System.Globalization.CultureInfo("en-US");
将现有语言翻译成所需的语言。