Los intents tienen un controlador de respuestas integrado que puede devolver respuestas después de que se haya encontrado una coincidencia con el intent. Esta función solo admite respuestas estáticas, pero puedes usar referencias de parámetros en estas respuestas para que sean algo dinámicas. Esto es útil para resumir la información proporcionada por el usuario final. Por ejemplo, la respuesta de tu intención podría ser la siguiente: "De acuerdo, te he reservado una habitación para el $date".
En algunos casos, no necesitas nada más. En los casos en los que tu código necesite realizar alguna acción o crear una respuesta más dinámica, debes usar una de las opciones de respuesta dinámica que se indican a continuación. Los agentes suelen usar una combinación de respuestas estáticas y dinámicas.
Se pueden proporcionar varios tipos de respuestas. El tipo de respuesta básico es una respuesta de texto. Hay otros tipos de respuestas disponibles (imagen, audio, voz sintetizada, etc.), algunas de las cuales son específicas de la plataforma.
Si defines más de una variación de respuesta para una intención, tu agente seleccionará una respuesta al azar. Deberías añadir varias variaciones de respuesta para que tu agente sea más conversacional.
Cuando crees un agente, debes proporcionar datos de respuesta para cada intención. Cuando usas la API o el cumplimiento para interactuar con Dialogflow, técnicamente no es necesario que proporciones datos de respuesta, ya que ambos métodos pueden generar cualquier respuesta de forma dinámica. Sin embargo, si quieres usar el simulador para hacer pruebas o definir intenciones que tengan una respuesta sencilla, debes proporcionar datos de respuesta.
Por lo general, las respuestas de intención deben pedir al usuario final que proporcione una expresión que coincida con otra intención. Sus 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 "¿Dónde naciste?".
Dónde encontrar estos datos
Cuando se crea un agente, lo más habitual es usar la consola de Dialogflow ES (consulta la documentación o abre la consola). Las instrucciones que se indican a continuación se centran en el uso de la consola. Para acceder a los datos de respuesta de intent, siga estos pasos:
- Ve a la consola de Dialogflow ES.
- Selecciona un agente.
- Selecciona Intenciones en el menú de la barra lateral de la izquierda.
- Selecciona una intención.
- Desplázate hacia abajo hasta la sección Respuestas.
Si vas a crear un agente con la API en lugar de con la consola, consulta la referencia de intents. Los nombres de los campos de la API son similares a los nombres de los campos de la consola. Las instrucciones que se indican a continuación destacan las diferencias importantes entre la consola y la API.
Plataformas de respuesta
Cada respuesta se define para la plataforma Default (PLATFORM_UNSPECIFIED
en la API) o para una plataforma de integración específica.
Si no utilizas ninguna 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.
Crear respuestas predefinidas
Para crear respuestas predefinidas, sigue estos pasos:
- Selecciona Predeterminado o una plataforma específica.
- Si el tipo de respuesta que quieres (por ejemplo, Respuesta de texto) no aparece en la lista, haz clic en Añadir respuestas y selecciona el tipo de respuesta.
- Introduce la información necesaria para la respuesta.
- Haz clic en Guardar.
Respuestas dinámicas con la función de completar
Con la función de respuesta, puedes crear respuestas dinámicas. Consulta más información en los documentos de cumplimiento.
Respuestas dinámicas con la API
Con 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 un formato de escape en tu respuesta.
Para usar el símbolo del dólar $
o el símbolo de número #
en una respuesta, añade llaves {}
alrededor del contenido que siga inmediatamente al símbolo.
Por ejemplo:
${100}
se resuelve en$100
${$number}
se resuelve en$100
, donde$number
es una referencia de parámetro con el valor 100.#{hello}
se resuelve en#hello
Para usar llaves {}
en una respuesta, usa llaves dobles.
Por ejemplo:
{{hello}}
se resuelve en{hello}
Gestionar valores de parámetros vacíos
Si tu intención tiene un parámetro que puede resolverse en un valor vacío, debes proporcionar al menos una variante de respuesta que no use ese parámetro.
Por ejemplo, si tu intención tiene dos parámetros (p1
y p2
) y uno o ambos pueden estar vacíos, debes proporcionar al menos cuatro variantes de respuesta:
- Entendido. Has dicho $p1 y $p2.
- Entendido. Has dicho $p1.
- Entendido. Has dicho $p2.
- Entendido.