遵循这个例子:
https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-quickstart-cs-add-utterance
我正在尝试向我的LUIS App发送一个话语。 它继续使用此响应消息失败:
{
"error": {
"code": "BadArgument",
"message": "Failed to parse example labeling objects. Parameter name: exampleLabelObjects"
}
}
我的输入正文是:
{
"text": "hi, what can I help you with?",
"intentName": "Help",
"entityLabels": []
}
根据链接,如果您发送没有任何实体标签的话语,则上述内容是正确的。
entityLabels字段是必需的。如果你不想标记任何 实体,提供一个空列表,如以下示例所示:
[
{
"text": "go to Seattle",
"intentName": "BookFlight",
"entityLabels": [
{
"entityName": "Location::LocationTo",
"startCharIndex": 6,
"endCharIndex": 12
}
]
},
{
"text": "book a flight",
"intentName": "BookFlight",
"entityLabels": []
}
]
构建对象的C#如下:
public class LUISUtterItem
{
public string utterances;
public string text;
public string intentName;
public List<exampleLabelObjects> entityLabels;
}
public class exampleLabelObjects
{
public string entityName;
public int startCharIndex;
public int endCharIndex;
}
我用它来打电话:
LUISUtterItem itm = new LUISUtterItem();
//itm.utterances = materialArray[1];
itm.text = materialArray[1];
itm.intentName = materialArray[2];
itm.entityLabels = new List<exampleLabelObjects>();
我也尝试过不包含“entityLabels”对象,以及刚刚以相同结果启动的字符串列表。
任何帮助将不胜感激。
答案 0 :(得分:2)
因此,似乎所有你必须包括在身体中的是#34; []&#34;围绕它,它工作:
[{
"text": "hi, what can I help you with?",
"intentName": "Help",
"entityLabels": []
}]
答案 1 :(得分:0)
我遇到了同样的问题。通过发送身体解决: { &#34;文字&#34;:&#34;嗨&#34;, &#34; intentName&#34;:&#34;问候&#34; }
如果不需要,请不要使用entityLabel。