【问题标题】:Programmatic LUIS predict API returns 400 error编程 LUIS 预测 API 返回 400 错误
【发布时间】:2016-12-02 06:36:11
【问题描述】:

predict API 一周前在我测试时可以正常工作,但今天早上它突然停止工作(2016 年 12 月 2 日),出现以下错误:

{
  "error": {
    "code": "BadArgument",
    "message": "Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"
  }
}

此调用的 API 参考是 here

这是我正在使用的示例代码:

static void Main()
{
    MakeRequest();
}

static async void MakeRequest()
{
    var client = new HttpClient();
    var queryString = HttpUtility.ParseQueryString(string.Empty);
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "*****");
    var uri = "https://api.projectoxford.ai/luis/v1.0/prog/apps/******/predict?" + queryString;
    HttpResponseMessage response;
    byte[] byteData = Encoding.UTF8.GetBytes("test.");
    using (var content = new ByteArrayContent(byteData))
    {
        response = await client.PostAsync(uri, content);
    }
}

这里有人遇到过同样的问题吗?

【问题讨论】:

    标签: c# microsoft-cognitive azure-language-understanding


    【解决方案1】:

    我刚刚尝试使用 API,它对我有用。如果我使用“测试”发出请求。在您的示例代码中,我收到以下错误:

    {
      "error": {
        "code": "BadArgument",
        "message": "Value cannot be null. Parameter name: Array of utterances cannot be null"
      }
    }
    

    但是,当我将其更改为 json 数组时:

    byte[] byteData = Encoding.UTF8.GetBytes("[ 'test.' ]");
    

    它工作得很好,我得到了预期的预测

    我建议你更新那行代码,看看会发生什么。

    【讨论】:

    • 谢谢,我刚刚尝试过,但我仍然得到同样的错误,我的错误是“必须是非负数并且小于集合的大小。参数名称:索引”。不是“参数名称:话语数组不能为空”。有什么想法吗?
    • 我知道;我无法完全使用您的代码重现该错误。仔细检查 app 和 subs 键,但我怀疑如果其中任何一个错误,您不会遇到该错误
    【解决方案2】:

    我不确定问题是什么,但我只是删除了应用程序并重新创建,问题就消失了。

    希望对路过的人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 2021-12-18
      • 1970-01-01
      相关资源
      最近更新 更多