Vamos criar uma intent de pesquisa para obter o termo de pesquisa que nossos usuários desejam iniciar sua pesquisa.
Passo a passo
Clique em Intents no menu esquerdo.
No "Default Welcome Intent" hover o seu cursor até o lado direito do mesmo.
Clique em Add follow-up intent
Clique em Custom
Agora você será levado para seu novo follow-up intent criado.
Renomeie de Default Welcome Intent - custom para Default Welcome Intent - search
Clique em save.
Clique fulfilment no menu esquerdo.
Vá para o firebase inline editor e atualize seu código para a seguinte forma:
// See https://github.com/dialogflow/dialogflow-fulfillment-nodejs
// for Dialogflow fulfillment library docs, samples, and to report issues
"use strict";
const functions = require("firebase-functions");
const { WebhookClient } = require("dialogflow-fulfillment");
const { Card, Suggestion } = require("dialogflow-fulfillment");
process.env.DEBUG = "dialogflow:debug"; // enables lib debugging statements
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(
(request, response) => {
const agent = new WebhookClient({ request, response });
console.log(
"Dialogflow Request headers: " + JSON.stringify(request.headers)
);
console.log("Dialogflow Request body: " + JSON.stringify(request.body));
function welcome(agent) {
agent.add(
`Olá, bem vindo ao app de conversação GDG Cloud. Você gostaria de procurar um organizador por 1.Name ou 2.Skill?`
);
}
function fallback(agent) {
agent.add(`Eu não entendi`);
agent.add(`Desculpe, poderia falar novamente?`);
}
function getSearchTerm(agent) {
if (agent.parameters.search_terms == 1) {
agent.add(`Qual o nome do organizador do GDG Cloud?`);
} else {
agent.add(`Qual skill você está procurando?`);
}
}
// Run the proper function handler based on the matched Dialogflow intent name
let intentMap = new Map();
intentMap.set("Default Welcome Intent", welcome);
intentMap.set("Default Fallback Intent", fallback);
intentMap.set("Default Welcome Intent - search", getSearchTerm);
agent.handleRequest(intentMap);
}
);
{
"name": "dialogflowFirebaseFulfillment",
"description": "This is the default fulfillment for a Dialogflow agents using Cloud Functions for Firebase",
"version": "0.0.1",
"private": true,
"license": "Apache Version 2.0",
"author": "Google Inc.",
"engines": {
"node": "~6.0"
},
"scripts": {
"start": "firebase serve --only functions:dialogflowFirebaseFulfillment",
"deploy": "firebase deploy --only functions:dialogflowFirebaseFulfillment"
},
"dependencies": {
"actions-on-google": "2.0.0-alpha.4",
"firebase-admin": "^4.2.1",
"firebase-functions": "^0.5.7",
"dialogflow": "^0.1.0",
"dialogflow-fulfillment": "0.3.0-beta.3"
}
}
Explicação:
Como havíamos perguntado aos nossos usuários como eles querem buscar por uma pessoa, precisamos dar uma resposta.
Para fazer isso, vamos criar uma follow-up intent para a "intenção de boas-vindas padrão".
Para criar uma follow-up intent, basta ir até a página inicial da intent e passar o mouse sobre a follow-up intent, dadas as opções, vamos selecionar a 'custom intent ' e renomear nossa follow-up intent para 'Default Welcome Intent - search'
Mas o que é esta tal de Follow-up intent?
E se você quisesse adicionar uma estrutura para seus apps de conversação?
E se quiséssemos adicionar if, else, switch cases?
Caso for simfaça algo
Se não faça outra coisa
Os follow-up intents te permitem fazer perguntas que devem vir após a primeira estarem dentro do mesmo grupo lógico, sem ter que gerenciar os contextos de forma manual.