Чтобы обновить намерение, сначала вам нужно получить подробные сведения о намерении.Если у вас есть имя или идентификатор намерения, то вы можете просто сделать запрос на перечисление API намерения и найти детали намерения с совпадающим именем намерения.
Как только у вас появятся подробности намерения, которые вы хотите обновить (здесь они называютсяexistingIntent
), вы можете использовать приведенный ниже код для его обновления.
async function updateIntent(newTrainingPhrases) {
// Imports the Dialogflow library
const dialogflow = require("dialogflow");
// Instantiates clients
const intentsClient = new dialogflow.IntentsClient();
const intent = existingIntent; //intent that needs to be updated
const trainingPhrases = [];
let previousTrainingPhrases =
existingIntent.trainingPhrases.length > 0
? existingIntent.trainingPhrases
: [];
previousTrainingPhrases.forEach(textdata => {
newTrainingPhrases.push(textdata.parts[0].text);
});
newTrainingPhrases.forEach(phrase => {
const part = {
text: phrase
};
// Here we create a new training phrase for each provided part.
const trainingPhrase = {
type: "EXAMPLE",
parts: [part]
};
trainingPhrases.push(trainingPhrase);
});
intent.trainingPhrases = trainingPhrases;
const updateIntentRequest = {
intent,
languageCode: "en-US"
};
// Send the request for update the intent.
const result = await intentsClient.updateIntent(updateIntentRequest);
return result;
}