Migración del proyecto de Dialogflow a Actions Builder

Como desarrollador de Dialogflow, te recomendamos que migres tus acciones existentes a Actions Builder. Usar el nuevo método en la consola para desarrollar acciones tiene una serie de beneficios, y es fácil migrar tu proyecto de Dialogflow existente. En esta página, se describe cómo usar la herramienta de migración Dialogflow/Actions Builder.

Antes de trabajar en esta guía, revisa la descripción general de la migración de Dialogflow a Actions Builder, que abarca conceptos y diferencias importantes entre Dialogflow y Actions Builder.

Qué hace la herramienta de migración

La herramienta de migración de Dialogflow a Actions Builder convierte elementos específicos de Dialogflow, como intents y entidades, para trabajar con Action Builder.

La herramienta de migración migra automáticamente los siguientes elementos de Dialogflow a Actions Builder:

  • El intent de bienvenida predeterminado de Dialogflow, que se migra como la invocación principal.
  • Todas las frases y entidades de entrenamiento para cada idioma compatible con tu acción.
  • Intents sin contexto de entrada, que se migran como intents globales.
  • Intents con un contexto de entrada, que se migran como escenas y como intents.
  • Los intents con un contexto de entrada y relleno de ranuras generan dos escenas y un intent para controlar la transición a la escena con relleno de ranuras.
  • Los intents que usan eventos de bienvenida, contenido multimedia y resguardo de Dialogflow generan el controlador de Actions Builder relacionado y un intent con frases de entrenamiento.
  • Los intents que usan entidades de sistema de números y fechas de Dialogflow dan como resultado los tipos de sistema relacionados de Actions Builder.

La herramienta de migración no controla los siguientes elementos de Dialogflow:

  • Intents con varios contextos de entrada Las escenas deben crearse manualmente.
  • Intents que usan eventos personalizados en Dialogflow
  • Entidades del sistema de Dialogflow que no son fecha ni número. Estas entidades se crean como tipos nuevos, pero debes agregar sinónimos de forma manual.
  • Código fuente de entrega de Dialogflow. Este código no se migra a Builder debido a diferencias en las versiones de la API.

Accede a la herramienta de migración

Para acceder a la herramienta de migración, abre un proyecto de Dialogflow en la Consola de Actions y navega a Develop > Actions.

Si tienes dudas sobre el proyecto usado en la Consola de Actions, ve a la consola de Dialogflow y sigue estos pasos:

  1. Abre el proyecto que deseas migrar y haz clic en el ícono Configuración.
  2. En General > ID del proyecto, haz clic en el vínculo Action on Google. Este paso te lleva a la Consola de Actions del proyecto específico.
  3. Navega a Develop > Actions y haz clic en Preview migration.

Navega por las diapositivas informativas y haz clic en Iniciar migración para ver el panel de migración.

Panel de migración

El panel de migración muestra las opciones de migración, así como información relacionada con los elementos que se migrarán.

Opciones de migración

La herramienta de migración ofrece dos opciones para migrar tu proyecto de Dialogflow a Actions Builder:

  • Migrar como proyecto nuevo (recomendado)
    • Mantiene intacto tu proyecto existente de Dialogflow y migra una copia a un proyecto nuevo.
    • El nombre visible y la información del directorio permanecen asociados al proyecto de producción existente. Consulta el proceso recomendado para reemplazar el proyecto activo por el proyecto migrado.
  • Migrar este proyecto
    • Reemplaza el proyecto de Dialogflow existente, y conserva el nombre visible existente y la Información del directorio del Asistente que definiste para tu proyecto.

Informe de migración

Puedes expandir cada sección del informe de migración para mostrar detalles específicos del proyecto relacionados con la siguiente información:

  • Qué se migrará por completo.
  • Qué se migrará, pero requerirá una configuración adicional posterior a la migración.
  • Qué no se migrará y deberá agregarse de forma manual (si es necesario).
  • Las funciones que usa tu proyecto de Dialogflow y que no estarán disponibles en Actions Builder.

También puedes descargar el informe de migración, al que puedes consultar cuando realices cambios posteriores a la migración en tu proyecto.

Configuración posterior a la migración

Si bien la herramienta de migración ayuda a mover partes importantes de tu proyecto de Dialogflow a Actions Builder, se necesita desarrollo adicional para configurar transiciones, instrucciones y webhooks que no se migraron.

Actualiza tu flujo conversacional para usar escenas

Si bien la herramienta de migración genera escenas basadas en intents de Dialogflow que tienen un contexto de entrada, esta no es una relación de uno a uno. Es posible que algunas de las escenas migradas no tengan sentido en Actions Builder con el nuevo modelo de conversación.

Es posible que debas repensar el flujo conversacional evaluando las escenas necesarias. Según la complejidad de tu Acción, es posible que sea más fácil borrar algunas de las escenas generadas si ya no se ajustan a tu flujo de conversación.

Revisa y actualiza intents globales

Los intents de Dialogflow sin contexto de entrada se migran a Actions Builder como intents globales. Los intents globales están activos durante una conversación, lo que significa que pueden coincidir en cualquier momento.

Los intents globales también se pueden usar para incluir vínculos directos de los usuarios en flujos específicos cuando invocan tu Acción. Es importante validar si los intents globales generados deben estar activos y ser accesibles para los usuarios en el alcance global. Para cambiar los intents globales a intents normales, haz clic en el intent y cambia la opción de control del intent global a NO.

Cómo consolidar intents con frases de entrenamiento similares

Si algunos de tus intents comparten frases de entrenamiento muy similares, debes consolidar los intents en un único intent genérico. Hacerlo aumenta la precisión de las coincidencias de intents.

Por ejemplo, el Intent A tiene las siguientes frases de entrenamiento:

  • “De acuerdo, quiero asegurarme de que esté listo”
  • “Está bien, esto está listo”.
  • "Hagámoslo"

El intent B tiene las siguientes frases de entrenamiento:

  • “De acuerdo, quiero asegurarme de que esté listo”
  • “De acuerdo, creo que estoy listo”.

Dado que las frases de entrenamiento entre los dos intents son similares, consolida el Intent A y el Intent B en un intent más genérico (Intent C) y borra los originales. Usa el Intent C en las escenas que hacen referencia al Intent A o al Intent B.

El Intent C tiene las siguientes frases de entrenamiento:

  • “De acuerdo, quiero asegurarme de que esté listo”
  • “Está bien, esto está listo”.
  • "Hagámoslo"
  • “De acuerdo, creo que estoy listo”.

Actualiza el control de eventos

Para los intents que usan ciertos eventos (fallback, media y welcome) en Dialogflow, la herramienta de migración crea un intent del sistema relacionado para ese evento. Si el mismo intent de Dialogflow tiene frases de entrenamiento, se crea un intent adicional con las mismas frases de entrenamiento.

Para completar la configuración de eventos en Actions Builder, debes agregar controladores de webhook y transiciones, según sea necesario.

Cómo agregar intents del sistema para controlar intents de resguardo

En Dialogflow, los intents de resguardo controlan casos en los que un intent no reconoce la entrada de un usuario. Actions Builder usa los intents del sistema NO_MATCH y NO_INPOUT para dar cuenta de estos casos.

Los intents del sistema NO_MATCH y NO_INPUT se pueden agregar a una escena hasta tres veces. Por ejemplo, agregar tres intents NO_MATCH a una escena significa que puedes responder de manera progresiva con más detalles sobre lo que busca tu acción en la respuesta del usuario.

Es importante agregar intents del sistema en los que tu proyecto de Dialogflow haya utilizado intents de resguardo. Algunos ejemplos de intents del sistema de Actions Builder que se usan con frecuencia son NO_MATCH y NO_INPUT. Para obtener más información sobre estos intents del sistema, consulta los intents del sistema.

Actualiza tu estrategia de entrega

Mover tu código de entrega de Dialogflow a Actions Builder es una de las partes más grandes del proceso de migración. Si bien los conceptos de llamadas de webhook y entregas generales siguen siendo los mismos, Actions Builder proporciona opciones para reutilizar funciones y agrega más oportunidades de activación de webhooks.

Con esto en mente, te recomendamos revisar la entrega de tu proyecto para aprovechar las funciones de Actions Builder:

  • Los nombres de los controladores de webhook personalizados significan que puedes llamar a la misma función de webhook desde varias partes de diferentes escenas.
  • Las llamadas de webhook se pueden realizar según la entrada de una escena, la validación condicional, el relleno de ranuras y la coincidencia de intents. Un control más detallado de cuándo y dónde se realizan las llamadas de webhook, lo que permite obtener soluciones de entrega más creativas

Cuando actualices tu código de entrega, considera cuándo y dónde deberías activar las llamadas de webhook. Puedes habilitar webhooks en más de una parte de una escena mediante la opción Llamar a tu webhook. Para obtener más información sobre cómo habilitar webhooks, consulta la sección de webhooks de la guía Migración de entregas.

Ejemplos de migración

Los proyectos migrados de Dialogflow a Actions Builder tienen estructuras significativamente diferentes debido a las diferencias en el modelo de conversación que usa cada herramienta. El uso de escenas, instrucciones y transiciones en Actions Builder, además de funciones como controladores de webhook reutilizables, hacen que el código de un proyecto migrado sea muy diferente del original.

La comparación de los proyectos migrados puede ayudarte a comprender el tipo y el alcance de los cambios necesarios cuando se migra de Dialogflow a Actions Builder. Puedes revisar los siguientes proyectos de muestra migrados para comparar las implementaciones:

Proyecto de muestra Código de Dialogflow Código de Actions Builder
Datos sobre Google código del proyecto código del proyecto
Transacciones código del proyecto código del proyecto
Vinculación de las cuentas código del proyecto código del proyecto

En esta sección, se describe el proceso de migración recomendado y puedes conservar tu nombre visible actual (de invocación), la información del directorio y las estadísticas históricas.

Este proceso implica trabajar con dos proyectos diferentes de Actions Builder, que se migran desde el mismo proyecto de Dialogflow. Para mayor claridad, estos proyectos se conocen de la siguiente manera:

  • experimental: este proyecto se usa para configurar y probar tu migración.
  • original: Este proyecto está activo y disponible para los usuarios.

Para migrar tu proyecto, haz lo siguiente:

  1. Crea una copia de seguridad de tu proyecto de Dialogflow con la función de exportación de Dialogflow.
  2. Ve a la Consola de Actions y abre el proyecto que deseas migrar.
  3. Navega a Develop > Actions y haz clic en Preview migration.
  4. Haz clic en las diapositivas informativas y, luego, en Iniciar migración.
  5. Elige Migrar como proyecto nuevo.
  6. Revisa el informe de migración y, de manera opcional, descárgalo para consultarlo en el futuro.
  7. Haz clic en Migrar.
  8. Ingresa un nombre para tu proyecto "experimental" y haz clic en Crear proyecto. Toma nota del ID del proyecto.
  9. Completa la configuración posterior a la migración necesaria y verifica que tu Acción funcione según lo previsto.
  10. Usa la CLI de gactions para extraer el borrador de tu proyecto "experimental".

    gactions pull --project-id experimental-project-id

  11. Vuelve a abrir tu proyecto “original” de Dialogflow en la Consola de Actions.

  12. Navega a Develop > Actions y haz clic en Preview migration.

  13. Elige Migrar este proyecto.

  14. Haz clic en Migrar.

  15. Haz clic en el ícono de Más > Configuración del proyecto y anota el ID del proyecto.

  16. En tu sistema local, abre el archivo settings.yaml del proyecto "experimental" que extrajiste y reemplaza projectId por el ID del proyecto "original".

  17. Usa la CLI de gactions para enviar el borrador del proyecto guardado localmente.

    gactions push

  18. Sigue los pasos para publicar a través de los canales alfa o beta, o publica tu acción en producción.