1

目前我正在使用 LUISGen 来帮助我的机器人在 C# 中轻松获取 Intent 和 Entities。

我的 LUIS APP 有主实体和子实体。 在此处输入图像描述

在这里,我使用 LUISGen 为 LUIS 应用程序生成 C# 类并得到以下错误

   Exception Info: System.ArgumentException: Can not convert Object to String.
   at Newtonsoft.Json.Linq.JToken.op_Explicit(JToken value)
   at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
   at CallSite.Target(Closure , CallSite , Object )
   at LUISGen.Utils.EntityApply(JObject entity, Action`1 action) in D:\a\1\s\packages\LUISGen\src\Utils.cs:line 94
   at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid5[T0,T1,T2,T3,T4](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
   at LUISGen.CSharp.Entities(Object app, Writer w) in D:\a\1\s\packages\LUISGen\src\CSharp.cs:line 161
   at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid3[T0,T1,T2](CallSite site, T0 arg0, T1 arg1, T2 arg2)
   at LUISGen.CSharp.Generate(String description, Object app, String className, String space, String outPath) in D:\a\1\s\packages\LUISGen\src\CSharp.cs:line
4

1 回答 1

1

该问题在 luis:convert 中,并且自我们上次发布以来已得到修复。如果您使用的是 bf 的预发布版本,并且我尝试对 .json 文件执行 luis:generate:cs 并失败并出现相同的错误。然后你可以做 luis:convert 然后 luis:generate:cs 并且它起作用了。

如果要运行 bf 工具的预发布版本,请执行以下操作。

  1. 将 npm 指向 MyGet 提要:npm config set registry https://botbuilder.myget.org/F/botframework-cli/npm/
  2. 安装 CLI 工具: npm install -g @microsoft/botframework-cli

您应该安装并尝试使用 bf luis:generate:cs https://github.com/microsoft/botframework-cli/blob/master/packages/luis/README.md#bf-luisgeneratecs进行预发布。

于 2020-10-27T08:31:39.827 回答