谷歌助理会话实体 有时工作有时不工作. Node js



我有一个代码...从谷歌上的操作给出..有时它工作有时它不是..如果有人有任何想法,请帮助我.. 会话实体无法正常工作

const dialogflowAPI = require('dialogflow');
const sessionClient = new dialogflowAPI.SessionEntityTypesClient();
const client = new dialogflowAPI.EntityTypesClient();
const entityList = ['measure','dimension','size'];
const size = ['top','bottom','high','highest','low','lowest'];
exports.entityList=entityList;
exports.size=size;
exports.createSessionEntityType = async function(conv,entityName,entityValues){
try{
const sessionEntityType = {
name: conv.body.session + '/entityTypes/'+entityName,
entityOverrideMode: 1,
entities: entityValues,
};
const request = {
parent: conv.body.session,
sessionEntityType: sessionEntityType,
};
console.log(sessionEntityType);
const [response] = await sessionClient.createSessionEntityType(request);
} catch(e) { 
console.log(e); 
} 

Google 上的操作处理会话实体的方法有所不同。您无需调用 API,而是在 Webhook 响应中提供实体。该文档显示了提供此信息的新方法。它还提供了一个代码片段,说明如何在 Node.js 库中执行此操作。

app.intent('input.welcome', (conv) => {
conv.ask('make your choice: apple or orange?');
// Set the fruit session entity values to 'apple' and 'orange'.
const responseBody = conv.serialize();
responseBody['sessionEntityTypes'] =  [ {
name: conv.body.session + '/entityTypes/fruit',
entities: [{
value: 'APPLE_KEY',
synonyms: [
'apple', 'green apple', 'crabapple'
]
},
{
value: 'ORANGE_KEY',
synonyms: [
'orange'
]
}],
entityOverrideMode: 'ENTITY_OVERRIDE_MODE_OVERRIDE'
}];
conv.json(responseBody);
});

最新更新