我正在使用谷歌对话框流程开发聊天机器人应用程序。我正在使用节点js客户端https://github.com/dialogflow/dialogflow-nodejs-client-v2来访问我的聊天机器人的数据。我从对话框流程控制台启用了小谈话,当我从对话框流程网络演示或控制台中使用它时,它可以正常工作
对于同一个聊天应用程序,我已经使用dialogflow node js client实现了api。
if (req.body.text) {
query = req.body.text;
}
// Get the city and date from the request
var request = {
session: sessionPath,
queryInput: {
text: {
text: query,
languageCode: languageCode,
},
},
};
// Send request and log result
sessionClient
.detectIntent(request)
.then(responses => {
console.log('Detected intent');
const result = responses[0].queryResult;
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
res.json({ "text": result.fulfillmentText });
} else {
res.json({ 'fulfillmentText': "No intent matched" });
console.log(` No intent matched.`);
}
})
.catch(err => {
console.error('ERROR:', err);
});
那里我没有得到我想要的结果。相反,它会转向不同的意图
我在这里做错了什么..
答案 0 :(得分:1)
Dialogflow代理程序的Small Talk部分中定义的查询将没有关联的意图。如果存在匹配意图,那么您不应该将该查询真正添加到Small Talk中。因此,由于没有匹配意图,Dialogflow节点库将返回不匹配的意图。