Dialogflow es Dialogflow无法在响应中使用参数
我试图使用Dialogflow,并按照他们的指导创建一个带有响应的意图 但是,如果在响应中使用参数,它将从默认响应返回“notavailable”。有人知道为什么会这样吗 从图中,它将无参数地响应正确的句子。使用参数时,响应不可用 诊断信息 无参数Dialogflow es Dialogflow无法在响应中使用参数,dialogflow-es,Dialogflow Es,我试图使用Dialogflow,并按照他们的指导创建一个带有响应的意图 但是,如果在响应中使用参数,它将从默认响应返回“notavailable”。有人知道为什么会这样吗 从图中,它将无参数地响应正确的句子。使用参数时,响应不可用 诊断信息 无参数 { "id": "aa316e0a-7f41-46cb-a03c-03c13d80ae6b", "timestamp": "2018-05-16T18:31:11.858Z", "lang": "en", "result": {
{
"id": "aa316e0a-7f41-46cb-a03c-03c13d80ae6b",
"timestamp": "2018-05-16T18:31:11.858Z",
"lang": "en",
"result": {
"source": "agent",
"resolvedQuery": "turn on asdkasjd",
"action": "",
"actionIncomplete": false,
"parameters": {
"cameraName": ""
},
"contexts": [],
"metadata": {
"intentId": "41b046bc-65ea-425b-8a33-9e37c44dddf4",
"webhookUsed": "false",
"webhookForSlotFillingUsed": "false",
"intentName": "opencamera"
},
"fulfillment": {
"speech": "Sorry I don't know",
"messages": [
{
"type": 0,
"speech": "OK. I will try to turn on"
}
]
},
"score": 0.9300000071525574
},
"status": {
"code": 200,
"errorType": "success"
},
"sessionId": "e488d71a-a21e-4cf0-bfcb-13b4a36fd811"
}
首先,我认为您没有在“操作和参数”部分的“培训短语”部分添加任何短语。请添加这些内容以训练您的代理从短语中检测“cameraName”参数。其次,如果看到json,result->parameters->cameraName为空。如果参数为空,则无法使用需要参数“cameraName”的响应进行响应。尝试在带有不使用参数的参数的responses下添加第三个响应,并查看结果,它将返回第三个响应,当它检测到参数时,它将开始显示带有参数的响应 问题在于,您正在使用参数试图匹配“camera”或“camera two”,但这两个参数都不是“给定名称”,即匹配给某人的名称(与其姓氏相反),而不是给设备的名称 在这些情况下,它使用一些粗略的匹配,并确定“打开”匹配足够多的示例短语以匹配意图,但没有匹配其名称部分的值。由于该参数不是必需的,因此意图匹配时没有参数值 根据您的具体需求,您可以采取一些措施来解决此问题:
- 您可能希望根据需要标记参数。(这不会解决名称问题,但会确保名称匹配或提示用户输入值。)
- 您可以使用
实体类型。这应该匹配用户为参数包含的任何内容@sys:any
- 如果您有一些已定义的名称,则可以