【问题标题】:Luis Error: An item with the same key has already been addedLuis 错误:已添加具有相同密钥的项目
【发布时间】:2017-08-02 12:45:58
【问题描述】:

当我在 2017 年 3 月的第二周进行测试时,我的 Luis 机器人应用运行良好。测试包括 -

1) 在浏览器和 Luis.ai 中使用 Luis 端点以“https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/.........”开头

2) 使用 Visual Studio 代码,其中我为 LuisDialog 提供了具有应用程序 ID 和订阅密钥的 LuisModel 属性。

当我今天再次尝试对其进行测试时,它在浏览器和使用 luis 端点的 Luis.ai 中运行良好,但在 Visual Studio 中却没有。请参阅屏幕截图。每次它给出“已添加具有相同密钥的项目”。

我检查了LUIS : An item with the same key has already been added,但没有得到答复。

我尝试将此 luis bot 应用程序与 Azure Bot 服务集成。同样的错误也存在 -

"2017-03-12T12:27:17.657 Exception while executing function: Functions.messages. mscorlib: An item with the same key has already been added."

请帮忙。

谢谢,

萨南杜

【问题讨论】:

  • 我检查了 github.com/Microsoft/BotBuilder/issues/2051 是否有相同的错误消息,因为 &q 是 Luis 端点中查询字符串的一部分。虽然错误消息与我得到的相同,但不确定根本原因是否相同。

标签: azure-language-understanding


【解决方案1】:

几天来,我一直在尝试解决我的问题,以便在 azure 中运行机器人服务。终于我可以跑了。 主要有 2 个问题 -

  • 一个是Azure 门户中的 Luis API 主机名错误
  • 另一个是意图中的错误属性

更正 Luis API 主机名-

在 Azure 门户中,我已将 Luis API 端点从 api.projectoxford.ai 更新为 westus.api.cognitive.microsoft.com。

要遵循的步骤 - 转到“所有资源”并单击机器人。现在转到设置选项卡并单击应用程序设置按钮。请参考下面的截图。

现在更新黄色突出显示区域中的 LuisAPI 端点键,如下所示 - Updating Luis API Host Name

更新此设置后,我的机器人无法工作并引发相同的错误。

纠正 Intent 中的错误属性:

后来我检查了 LuisDialog.csx,
[LuisIntent("")] 属性存在于除无意图之外的意图之一中。这里 [LuisIntent("")] 是在 BookHoliday Intent 中给出的。

请参考以下截图 - Wrong attribute in Intent

[LuisIntent("")] 和 [LuisIntent("None")] 都可以用于 None Intent。 我从 BookHoliday Intent 中删除了 [LuisIntent("")],它工作正常。

这是复制粘贴错误,我复制了 None 意图并将 None 修改为 BookHoliday 但没有删除 [LuisIntent("")]。

“已添加具有相同键的项目”- 如果 &q 作为 Luis App Endpoint url 的一部分在查询字符串中出现超过 1 次,也可能会引发此问题。

关于 Visual Studio 中的代码运行问题,看起来 VS 没有更新。更新后即可使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 2011-01-27
    • 2018-10-03
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多