2017-09-26 7 views
0

Je suis nouveau sur api.ai et j'essaie de faire en sorte que le robot s'adapte au vocabulaire de l'utilisateur. Par exemple si au début le bot demande si l'utilisateur veut parler, l'utilisateur dira oui/oui/ok/ok etc et je veux utiliser cette réponse à l'utilisateur plus tard encore. Puis-je faire ceci? Merci!API.ai bot utilisant les mêmes libellés que l'utilisateur

Répondre

2
  1. créer un yes ou affirmativeAPI.AI entity. Dans l'entité, incluez toutes les valeurs de synonymes (comme celles que vous avez décrites yes/yep/okay/ok).
  2. créer une intention avec des exemples de toutes vos requêtes utilisateur où l'utilisateur pourrait le dire en premier (vous devrez peut-être inclure l'entité yes dans plusieurs intentions).
  3. Créez un webhook (fulfillment getting started guide here). Dans le webhook vérifier le paramètre yes dans le webhook request et s'il est présent enregistrer la valeur, dans une base de données avec un identifiant d'utilisateur (fourni par la plate-forme que vous choisissez, comme Google Assistant ou Slack) pour récupération ultérieure dans une réponse à l'utilisateur .

Ci-dessous est un code non-travail en utilisant Cloud Functions for Firebase pour la réalisation d'un agent API.AI et the Firebase Realtime Database pour stocker les données de l'utilisateur qui serait un bon point de départ pour la réalisation:

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'] 
     } 
    }); 
    } 
}); 
+0

Vous êtes génial merci!!! – Twister013