我正在使用Nodejs使用DialogFlow V2 Api进行项目,以下代码似乎不起作用:
var query = req.body.query;
const request = {
session: sessionPath,
queryInput: {
text: {
text: query,
languageCode: 'en-US',
},
},
queryParams: {
contexts: [
{
"name": "Question-followup",
"parameters": {},
"lifespanCount": 0
}
]
}
};
// Send request and log result
sessionClient
.detectIntent(request)
.then(responses => {
const result = responses[0].queryResult;
console.log(result);
res.json(result);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matchede.`);
}
})
.catch(err => {
console.error('ERROR:', err);
});
我收到的错误是:
错误:{错误:3 INVALID_ARGUMENT:名称'问题跟进'才不是 匹配模式 '项目/ {专案编号= } /剂/环境/ {environmentId = } /用户/ {用户id = } /会话/ {的sessionId = } /上下文/ {CONTEXTID = },项目/ {专案编号= } /剂/会话/ {的sessionId = } /上下文/ {CONTEXTID = }'
注意:我确实有"问题跟进"将上下文转换为Intent,因此不应该存在上下文不存在的问题!
知道这会是什么?
答案 0 :(得分:1)
您需要包括上下文的完整路径。 Dialogflow v2 Node.js库提供了一个帮助程序方法来为您构造上下文路径。
contexts: [
{
"name": contextsClient.contextPath(projectId, sessionId, "Question-followup"),
"parameters": {},
"lifespanCount": 1
}
]