Guía de inicio rápido: Compila y también interactúa con agentes mediante la consola

Esta guía de inicio rápido te muestra cómo usar la consola de Dialogflow para crear un agente simple y también interactuar con este.

Configura el proyecto de GCP y la autenticación

Crea un agente

Intents

Los intents se utilizan para categorizar las intenciones de un usuario y mapear las entradas de los usuarios a las acciones y las respuestas. Puedes definir varios intents para cada agente. Para una intent básico, defines lo siguiente:

  • Ejemplos de posibles declaraciones de usuario que pueden activar una coincidencia para el intent
  • Tipos específicos de datos para extraer de la declaración
  • Respuestas

Intents predeterminados

Ve a la lista de intents en la configuración del agente de la siguiente manera:

  1. Ve a la consola de Dialogflow.
  2. Selecciona el agente que acabas de crear.
  3. Haz clic en el botón de configuración (settings) junto al nombre del agente.
  4. Si Intents no es la opción seleccionada en el menú de la barra lateral izquierda, haz clic en Intents.

En la mitad de la consola, se muestra la lista de intents predeterminados para el agente. Tu agente establece la coincidencia con el Intent alternativo predeterminado (Default Fallback Intent) cuando no comprende lo que dicen los usuarios. El Intent de bienvenida predeterminado (Default Welcome Intent) saluda a tus usuarios.

Pruébalo en el simulador

El simulador de Dialogflow se encuentra a la derecha de la consola. Con el simulador, puedes probar a tu agente mediante un mensaje escrito o de voz.

Prueba el agente ahora mediante lo siguiente:

  • Haz clic en el campo Probar ahora
  • Escribe algo
  • Presiona Entrar

Acabas de hablar con tu agente de Dialogflow. Es posible que no te haya comprendido. Dado que tu entrada no coincidió con ningún intent, el intent alternativo predeterminado coincidió y recibiste una de las respuestas predeterminadas.

Crea y entrena un nuevo intent

Para cada intent, se definen muchas frases de entrenamiento. Una frase de entrenamiento es un ejemplo de lo que un usuario podría decirle a su agente, lo que también se conoce como una declaración de usuario. Por ejemplo, un usuario podría preguntar: "¿Cuál es tu nombre?", "¿Tienes un nombre?", o simplemente "¿Nombre?". Cada una de estas declaraciones de usuario son únicas, pero tienen la misma intención: obtener el nombre de tu agente.

Crea un intent para manejar esta situación mediante los siguientes pasos:

  1. Haz clic en el botón para agregar (add) el intent situado junto a Intents en el menú de la barra lateral izquierda.
  2. Escribe el nombre (name) en el campo Nombre de intent.
  3. En la sección Frases de entrenamiento, haz clic en el campo de texto vacío. Ingresa lo siguiente y presiona Entrar después de cada entrada:

    • What is your name?
    • Do you have a name?
    • name
  4. En la sección Respuestas (Responses), haz clic en el campo de texto y escribe:

    • My name is Dialogflow!
  5. Haz clic en el botón Guardar (Save) y espera a que la ventana emergente Entrenamiento del agente (Agent Training) indique que se completó el entrenamiento.

Pruébalo en el simulador

En el simulador, escribe What's your name? y presiona Entrar.

Tu agente responde a la consulta correctamente, aunque tu consulta fue un poco diferente de las frases de entrenamiento que proporcionaste. Pudo resolverla gracias al aprendizaje automático.

Dialogflow usa frases de entrenamiento como ejemplos de un modelo de aprendizaje automático para hacer coincidir las consultas de los usuarios con los intents. El modelo compara la consulta con cada intent incluido en el agente, le da una puntuación a cada intent, y establece la coincidencia con el intent que recibe la puntuación más alta. Si la puntuación más alta es demasiado baja, el modelo establece la coincidencia con el intent alternativo.

Extrae datos con entidades

Puedes anotar tus frases de entrenamiento con entidades, que son tipos específicos de datos que deseas que Dialogflow extraiga de las declaraciones de usuario. Dialogflow extrae entidades coincidentes como parámetros desde las frases de entrenamiento.

Agrega parámetros a tus intents

Para crear un nuevo intent con parámetros, haz lo siguiente:

  1. Haz clic en el botón más (add) junto a Intents en el menú de la barra lateral izquierda.

  2. Asigna el nombre Languages al intent en la parte superior de su formulario.

  3. Agrega las siguientes frases de entrenamiento:

    • I know English
    • I speak French
    • I know how to write in German
  4. Haz clic en Guardar (Save).

Automáticamente, Dialogflow detecta parámetros en las frases de entrenamiento que se reconocen como entidades del sistema. Estas son entidades que proporciona Dialogflow para muchos tipos de datos comunes como ubicación, color y fecha.

Debajo de la sección Frases de entrenamiento (Training phrases), Dialogflow crea una fila en la tabla Acciones y parámetros (Actions & parameters):

  • Obligatorio (Required): La casilla de verificación no está marcada, por lo que este parámetro es opcional.
  • Nombre del parámetro (Parameter Name): Este parámetro se denomina automáticamente "idioma", porque el parámetro se reconoce como un idioma.
  • Entidad (Entity): Este es el tipo de entidad. Se reconoce como una entidad del sistema @sys.language.
  • Valor (Value): Este es el identificador que usas cuando haces referencia al valor de este parámetro.
  • Es lista (Is List): La casilla de verificación no está marcada, por lo que el parámetro no es una lista.

Usa datos de parámetros en una respuesta

Puedes usar el valor de un parámetro en tus respuestas. En este caso, puedes usar $language en tus respuestas, y se reemplazará con el idioma especificado en la consulta del usuario.

En la sección Respuestas (Responses), agrega la respuesta siguiente y haz clic en el botón Guardar (Save):

  • Wow! I didn't know you knew $language

Pruébalo en el simulador

En el simulador, consulta a tu agente con I know Russian.

Puedes ver que Dialogflow extrae correctamente el parámetro language con el valor "Ruso", y que "Ruso" se insertó correctamente donde se usó el valor del parámetro en la respuesta.

Crea tus propias entidades

En la mayoría de los casos, tienes datos específicos que necesitas recopilar de los usuarios que no proporcionan las entidades del sistema. Puedes crear entidades de desarrollador para manejar esto.

Para crear una entidad de desarrollador, haz lo siguiente:

  1. Haz clic en el botón para agregar la entidad (add) que está junto a Entidades (Entities) en el menú de la barra lateral izquierda.
  2. Escribe ProgrammingLanguage para el nombre de la entidad.
  3. Agrega las siguientes entradas de entidad (filas):

    Valor de referencia (Reference Value) Sinónimos (Synonyms)
    JavaScript JavaScript, js, ECMAScript
    Java Java
    Python Python, py
  4. Haz clic en Guardar (Save).

Cada entidad debe incluir lo siguiente:

  • Nombre
  • Una o más entradas de entidad
  • Valor de referencia y uno o más sinónimos para cada entrada de entidad

Dialogflow puede manejar variaciones simples, como las relativas a plurales y mayúsculas, pero tú debes agregar todos los sinónimos posibles para tus entradas. Cuanto más sinónimos agregues, mayor será la capacidad del agente para determinar tus entidades.

Usa tu nueva entidad

Agrega frases de entrenamiento al intent "Idiomas" que hacen uso de la nueva entidad:

  1. Haz clic en Intents, en el menú de la barra lateral izquierda.

  2. Haz clic en el intent "Idiomas".

  3. Agrega las siguientes frases de entrenamiento:

    • I know javascript
    • I know how to code in Java
  4. Observa que los lenguajes de programación en estas frases de entrenamiento se anotan automáticamente y se agregan a la lista de parámetros.

  5. En la sección Respuestas (Responses), agrega $ProgrammingLanguage is cool.

  6. Haz clic en Guardar (Save).

Pruébalo en el simulador

En el simulador, consulta a tu agente con I know how to code in py.

Puedes ver que Dialogflow extrajo la entidad py, la identificó como la entidad Python, y luego insertó el valor en la respuesta.

Administra el estado con contextos

Los contextos de Dialogflow son similares al contexto del lenguaje natural. Si una persona te dice "son naranjas", necesitas contexto para entender a qué se refieren. De manera similar, para que Dialogflow maneje una declaración de usuario como esa, necesita contar con un contexto a fin de que coincida correctamente con un intent.

Normalmente, Dialogflow hace coincidir un intent si sus frases de entrenamiento son muy parecidas a la declaración de usuario. Sin embargo, cuando aplicas contextos a un intent, Dialogflow solo considerará ese intent para buscar coincidencias si el contexto está activo. Mediante contextos, puedes controlar el flujo de una conversación a través de la definición de los estados de conversación requeridos para la coincidencia con un intent. También puedes llevar información de un intent coincidente al siguiente.

Agrega un intent de seguimiento

Los intents de seguimiento ofrecen una manera sencilla de dar forma a una conversación sin tener que crear y administrar contextos de forma manual. Estos intents especiales están anidados bajo el intent superior. Dialogflow proporciona intents de seguimiento predefinidos que están diseñados para manejar respuestas comunes del usuario, como "sí", "no", "cancelar" o "siguiente". También puedes crear intents de seguimiento personalizados.

Cuando creas un intent de seguimiento, se agrega un contexto de salida al intent superior, así como un contexto de entrada con el mismo nombre al intent secundario. Esto significa que el intent de seguimiento coincide solo cuando el intent superior coincide en el turno de conversación anterior.

Para agregar un intent de seguimiento personalizado al intent "Idiomas", haz lo siguiente:

  1. Selecciona el intent "Idiomas" que creaste en los pasos anteriores.

  2. En la sección Respuesta (Response), actualiza la respuesta de texto de la siguiente manera:

    • Wow! I didn't know you knew $language. How long have you known $language?
  3. Haz clic en Guardar (Save).

  4. Haz clic en Intents, en el menú de la barra lateral izquierda.

  5. Desplázate por el intent "Idiomas" (Languages) y haz clic en Agregar intent de seguimiento (Add follow-up intent).

  6. Haz clic en Personalizado (Custom) en la lista que aparece.

Dialogflow nombra automáticamente al intent de seguimiento "Idiomas - personalizado".

Coincidencia con intents de seguimiento

Los intents de seguimiento solo se hacen coincidir después de haberse establecido una coincidencia con el intent superior. Dado que la coincidencia del intent "Idiomas - personalizado" solo se realiza después del intent "Idiomas", puedes suponer que al usuario se le ha preguntado "¿Cuánto hace que sabes $language?". Ahora puedes agregar frases de entrenamiento para las posibles respuestas de los usuarios a esa pregunta.

  1. Haz clic en Intents, en el menú de la barra lateral izquierda.

  2. Haz clic en el intent "Idiomas - personalizado".

  3. Agrega las siguientes frases de entrenamiento:

    • 3 years
    • about 4 days
    • for 5 years

Pruébalo en el simulador

Escribe I know French en el simulador, y luego responde la pregunta "¿Cuánto hace que sabes francés?" con about 2 weeks.

A pesar de no haber respuesta para la segunda consulta ("unas 2 semanas"), podemos ver que se establece la coincidencia entre nuestra consulta y el intent correcto ("Idiomas - personalizado"), y el parámetro de duración se analiza correctamente ("2 semanas").

Intents y contextos

Inspecciona el intent "Idiomas" para ver que "Idiomas - seguimiento" aparece como un contexto de salida, precedido por el número 2. Este número es el indicador de la vida útil.

Después de que coincide el intent "Idiomas", el contexto "Idiomas - seguimiento" se activa y se adjunta a la conversación para dos turnos (vida útil de 2). Así, cuando el usuario responde a la pregunta: "¿Desde cuándo sabes $language?", el contexto "Idiomas - seguimiento" está activo.

Inspecciona el intent "Idiomas - personalizado" para ver que "Idiomas - seguimiento" aparece como un contexto de entrada, que es el mismo que el contexto de salida para el intent "Idiomas".

Los intents que poseen un contexto de entrada coincidente con un contexto de salida activo tienen prioridad cuando Dialogflow establece coincidencias con intents.

Contextos y parámetros

Los contextos almacenan los valores de los parámetros, y puedes acceder a los valores de los parámetros definidos en el intent "Idiomas" cuando su contexto de salida está activo.

En la intención "Idiomas - personalizado", solo solicitaste la duración en la que el usuario ha conocido el idioma y no el idioma al que se hace referencia. Agrega la respuesta siguiente al intent "Idiomas - personalizado" y haz clic en el botón Guardar (Save):

  • I can't believe you've known #languages-followup.language for $duration!

Pruébalo en el simulador

Escribe I know French en el simulador, y luego responde a la pregunta con 1 month. Observa que el valor del parámetro language se recupera del contexto.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Dialogflow
¿Necesitas ayuda? Visita nuestra página de asistencia.