Los intents tienen un controlador de respuestas integrado que puede mostrar respuestas después de la coincidencia del intent. Esta característica solo admite respuestas estáticas, aunque puedes usar referencias del parámetro en estas respuestas para volverlas dinámicas en algún sentido. Esto es útil para resumir la información proporcionada por el usuario final. Por ejemplo, la respuesta de tu intent podría ser: “De acuerdo, reservé una habitación para ti el $date”.
En algunos casos, esto es todo lo que necesitas. En los casos en los que tu código necesite realizar alguna acción o compilar una respuesta más dinámica, debes usar una de las opciones de respuesta dinámica que se indican a continuación. Por lo general, los agentes usan una combinación de respuestas estáticas y dinámicas.
Se pueden proporcionar varios tipos de respuesta. El tipo de respuesta básico es una respuesta de texto. Hay otros tipos de respuesta disponibles (imagen, audio, voz sintetizada y demás) y algunas de ellas son específicas de una plataforma.
Si defines más de una variación de respuesta para un intent, tu agente seleccionará una respuesta al azar. Debes agregar muchas variaciones de respuesta para que tu agente pueda realizar una mejor conversación.
Cuando compilas un agente, debes proporcionar datos de respuesta para cada intent. Cuando usas la API o la entrega para interactuar con Dialogflow, puede que, en realidad, no necesites proporcionar datos de respuesta, ya que ambos métodos pueden generar cualquier respuesta de forma dinámica. Sin embargo, si deseas usar el simulador para probar o definir intents con una respuesta simple, debes proporcionar datos de respuesta.
Como regla general, las respuestas de tus intents deben solicitar que el usuario final proporcione una expresión que coincida con otro intent. Tus respuestas también deben guiar al usuario final para que proporcione datos específicos. Por ejemplo, una pregunta como “¿En qué ciudad naciste?” es mejor que una pregunta más abierta como “¿En dónde naciste?”.
Dónde encontrar estos datos
Cuando compilas un agente, es más común usar la consola de Dialogflow ES (consulta la documentación, abre consola). En las instrucciones que se detallan a continuación, nos enfocaremos en el uso de la consola. Para acceder a los datos de respuesta del intent, sigue estos pasos:
- Ve a la consola de Dialogflow ES.
- Selecciona un agente.
- En el menú de la barra lateral izquierda, selecciona Intents.
- Selecciona un intent.
- Desplázate hacia abajo hasta la sección Respuestas.
Si compilas un agente con la API en lugar de la consola, consulta la referencia de los intents. Los nombres de los campos de la API son similares a los de la consola. En las instrucciones que se detallan continuación, se resaltan las diferencias importantes entre la consola y la API.
Plataformas de respuesta
Cada respuesta se define para la plataforma predeterminada (denominada PLATFORM_UNSPECIFIED
en la API) o para la plataforma de una integración específica.
Si no usas una integración, todas tus respuestas pueden usar la plataforma predeterminada.
Si usas integraciones, cada una puede tener una respuesta única o se puede configurar para que use la respuesta predeterminada.
Para obtener más información sobre las respuestas específicas de la plataforma, consulta Mensajes de respuesta enriquecida.
Crea respuestas integradas
Para crear respuestas integradas, sigue estos pasos:
- Selecciona Predeterminada o una plataforma específica.
- Si el tipo de respuesta deseado (por ejemplo, Respuesta de texto) no está en la lista, haz clic en Agregar respuestas y selecciona el tipo de respuesta.
- Ingresa la información necesaria para la respuesta.
- Haz clic en Guardar.
Respuestas dinámicas con entrega
Mediante la entrega, puedes crear respuestas dinámicas. Consulta los documentos de entrega para obtener más información.
Respuestas dinámicas con la API
Mediante la API, puedes crear respuestas dinámicas. Consulta la descripción general de la API para obtener más información.
Caracteres especiales
Algunos caracteres especiales requieren que se realicen escapes en tu respuesta.
Para usar el signo de dólar $
o el signo de número #
en una respuesta, agrega llaves {}
alrededor del contenido que sigue inmediatamente al signo.
Por ejemplo:
${100}
se resuelve como$100
${$number}
se resuelve como$100
, en el que$number
es una referencia del parámetro con un valor de 100#{hello}
se resuelve como#hello
Para usar llaves {}
en una respuesta, usa llaves dobles.
Por ejemplo:
{{hello}}
se resuelve como{hello}
Controla valores del parámetro vacíos
Si tu intent tiene un parámetro que se puede resolver como un valor vacío, debes proporcionar al menos una variante de respuesta que no use ese parámetro.
Por ejemplo, si tu intent tiene 2 parámetros (p1
y p2
) y uno de ellos, o ambos, puede estar vacío, debes proporcionar al menos cuatro variantes de respuesta:
- Entendido. Dijiste $p1 y $p2.
- Entendido. Dijiste $p1.
- Entendido. Dijiste $p2.
- Entendido.