我在action.json文件中有以下操作,
{
"description": "Recommend movies",
"initialTrigger": {
"intent": "GIVE_RECOMMENDATION",
"queryPatterns": [
{"queryPattern": "What should I watch?"},
{"queryPattern": "Give me a recommendation"},
{"queryPattern": "Tell me a good ($String:genre)? movie"}
]
},
"httpExecution": {
"url":"my webhook URL here"
}
}
在我的API上,我有:
app.post('/', function(req, res){
let assistant = new ActionsSdkAssistant({request: req, response: res});
console.log('Current intent: ' + assistant.getIntent());
}
当我模拟我的动作,然后说“我该怎么看?”时,目前的意图总是'assistant.intent.action.TEXT'。为什么它永远不会'GIVE_RECOMMENDATION',就像它应该是的那样?
答案 0 :(得分:5)
我假设你正在测试你的技能:
打开ACTION NAME
我应该看什么?
你有可能遇到同样的问题,看到接受的答案和意见 ExpectedInputs / possible_intents only works with "assistant.intent.action.TEXT"?
简而言之:在初始意图被触发后(即在您打开技能之后),动作SDK仅支持assistant.intent.action.TEXT意图,不再进行任何意图匹配。
意图匹配仅适用于第一次调用操作:
问ACTION_NAME我应该看什么?
以上内容应该为您提供正确的意图名称。
Google建议您使用http://api.ai,如果您没有自己的系统进行自然语言处理,并且需要与您的用户进行基于意图的对话