Я пытаюсь вызвать DeteIntent () API v2 диалогового потока, используя библиотеку узлов. Но я получаю примерно 1,5-секундную задержку ответа, что слишком высоко по сравнению с v1 API, которые слишком быстры. Это влияет на пользовательский опыт чатбота.
Библиотека: - https://github.com/dialogflow/dialogflow-nodejs-client-v2
Фрагмент кода для тестирования deteIntent () API библиотеки узлов, принятой с начала выборки библиотеки и регистрирующей время отклика API.
// You can find your project ID in your Dialogflow agent settings
const projectId = '<project-id-here>';
const sessionId = 'fa2d5904-a751-40e0-a878-d622fa8d65d9';
const query = 'hi';
const languageCode = 'en-US';
const credentials = {
client_email: '<client-email-here>',
private_key:
'<private-key-here>',
};
// Instantiate a DialogFlow client.
const dialogflow = require('dialogflow');
const sessionClient = new dialogflow.SessionsClient({
projectId,
credentials,
});
// Define session path
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
// The text query request.
const request = {
session: sessionPath,
queryInput: {
text: {
text: query,
languageCode,
},
},
};
const st = new Date();
console.log('Start Time : ', st.toISOString());
// Send request and log result
sessionClient
.detectIntent(request)
.then(responses => {
const et = new Date();
console.log('End Time : ', et.toISOString());
console.log('Duration : ', (et - st) / 1000);
console.log('Detected intent');
const result = responses[0].queryResult;
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matched.`);
}
})
.catch(err => {
console.error('ERROR:', err);
});
Пример вывода: -
Start Time : 2018-05-16T12:30:15.012Z
End Time : 2018-05-16T12:30:17.221Z
Duration : 2.209
Detected intent
Query: hi
Response:
Intent: intent_general_greetings
В выходных данных продолжительность указана в секундах. Итак, мы получаем ответ API около 1-2 секунд.
Может ли кто-нибудь помочь понять проблему, почему у нас слишком большие задержки. У меня хороший интернет. Я также протестировал приведенный выше фрагмент кода на aws ec2. Тем не менее, такая большая задержка в вызовах.
Это производительность диалогового потока API v2?