API.ai бот использует те же формулировки, что и пользователь

Я новичок в api.ai и пытаюсь заставить бота адаптироваться к словарю пользователя. Например, если сначала бот спросит, хочет ли пользователь говорить, он скажет "да / да" / "хорошо" / "хорошо" и т. Д., И я хочу использовать этот ответ пользователю позже. Я могу это сделать? Спасибо!

1 ответ

Решение
  1. создать yes или же affirmative API.AI сущность. В сущности включите все значения синонимов (как те, что вы описали yes / yep / okay / ok).
  2. создайте намерение с примерами всех ваших пользовательских запросов, где пользователь может сказать это первым (вам может понадобиться включить yes сущность в нескольких целях).
  3. Создать 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']
      }
    });
  }
});
Другие вопросы по тегам