API.ai бот использует те же формулировки, что и пользователь
Я новичок в api.ai и пытаюсь заставить бота адаптироваться к словарю пользователя. Например, если сначала бот спросит, хочет ли пользователь говорить, он скажет "да / да" / "хорошо" / "хорошо" и т. Д., И я хочу использовать этот ответ пользователю позже. Я могу это сделать? Спасибо!
1 ответ
Решение
- создать
yes
или жеaffirmative
API.AI сущность. В сущности включите все значения синонимов (как те, что вы описалиyes
/yep
/okay
/ok
). - создайте намерение с примерами всех ваших пользовательских запросов, где пользователь может сказать это первым (вам может понадобиться включить
yes
сущность в нескольких целях). - Создать webhook ( руководство по началу работы здесь). В webhook проверьте наличие
yes
параметр в запросе webhook и, если он присутствует, запишите значение в базе данных вместе с идентификатором пользователя (предоставленным выбранной вами платформой, такой как Google Assistant или Slack) для последующего извлечения в ответе пользователю.
Ниже приведен неработающий код, использующий облачные функции для Firebase для выполнения агента API.AI и базу данных Firebase Realtime для хранения пользовательских данных, которые будут хорошей отправной точкой для вашего выполнения:
const functions = require('firebase-functions');
const admin = require("firebase-admin");
const db = admin.database();
const ref = db.ref("your/firebase/database/here");
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const parameters = request.body.result.parameters;
if (parameters['yes']){
var usersRef = ref.child("users");
usersRef.set({
userId: {
yes: parameters['yes']
}
});
}
});