Google Assistant会话实体,有时工作,有时不工作。.nodejs
我有一个代码..从Google上的操作中获得的代码..有时它的工作有时没有..如果有人有任何帮助..会话实体无法正常工作]
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上的操作,处理会话实体的方法不同。在Webhook响应中提供实体,而不是调用API。 documentation显示了提供此信息的新方法。它还提供了有关如何在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);
});
Google Assistant会话实体,有时工作,有时不工作。.nodejs
我有一个代码..从Google上的操作中获得的代码..有时它的工作有时没有..如果有人有任何帮助..会话实体无法正常工作]
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上的操作,处理会话实体的方法不同。在Webhook响应中提供实体,而不是调用API。 documentation显示了提供此信息的新方法。它还提供了有关如何在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);
});