程序化 LUIS 预测 API returns 400 错误

Programmatic LUIS predict API returns 400 error

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);
    }
}

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

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

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

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

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

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

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

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

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