Migra a Dialogflow

Migra un agente a Dialogflow V2

Si usaste una versión anterior de Dialogflow, como Dialogflow V1 (antes conocido como API.AI), y deseas usar un agente existente con Dialogflow, debes migrar ese agente a la API de Dialogflow V2. También debes actualizar cualquier código que funcionaba con una versión anterior de Dialogflow a la última API de Dialogflow V2.

Para migrar un agente de una versión anterior de Dialogflow a la API de Dialogflow V2, deberás realizar los siguientes pasos para crear un agente nuevo y, luego, importar el agente anterior al nuevo:

  1. Ve a la consola de Dialogflow y selecciona la configuración para el agente anterior.

  2. Selecciona la pestaña Importar y exportar.

  3. Selecciona EXPORTAR COMO ARCHIVO ZIP y guarda la configuración del agente anterior en un archivo zip.

  4. Crea un agente.

    • Ve a la consola de Dialogflow.
    • Haz clic en Crear agente en el menú de la izquierda. (Si ya tienes otros agentes, haz clic en el nombre del agente, desplázate hacia la parte inferior y haz clic en Crear agente nuevo).
    • Ingresa el nombre del agente, el idioma predeterminado, la zona horaria predeterminada y el proyecto de GCP, y haz clic en el botón Crear. (Puedes cambiar la edición del agente y el plan de precios una vez creado el agente).
  5. En la consola de Dialogflow, establece la configuración para el agente nuevo.

  6. Selecciona la pestaña Importar y exportar.

  7. Selecciona IMPORTAR DESDE EL ARCHIVO ZIP y, luego, importa el archivo ZIP que creaste cuando exportaste el agente de una versión anterior.

    Para obtener más información sobre la importación y exportación de agentes, consulta la sección Importar y exportar.

  8. Si escribiste un código para la versión anterior de Dialogflow, también debes migrarlo a la versión actual. Este tema contiene información sobre cómo migrar el código a la última versión de Dialogflow desde la versión de Dialogflow V1.

Migra el código desde Dialogflow V2beta1 a V2

Se recomienda que los usuarios de la API V2beta1 migren a la API V2.

  • Si usas REST o RPC, actualiza el extremo dedialogflow.googleapis.com/v2beta1/... a dialogflow.googleapis.com/v2/...
  • Si usas una biblioteca cliente, debes actualizarla:
    • Lenguajes dinámicos (Python, Node.js y Ruby): actualiza el paquete, y el código usará de forma automática la última versión estable.
    • Lenguajes estáticos (Java, C#, PHP y Go): instala el paquete nuevo y actualiza todas las declaraciones de importación a la referencia “v2” en lugar de “v2beta1”.
  • El campo que controla si el aprendizaje automático (AA) está habilitado para un Intent cambió. Se quitó el campo mlEnabled y se lo reemplazó por el campo mlDisabled; además, el AA está habilitado de forma predeterminada.
    Versión REST RPC Valor predeterminado Comportamiento predeterminado
    V2beta1 mlEnabled ml_enabled Antes de la semana del 23 de abril de 2018: falso. Después de la semana del 23 de abril de 2018: verdadero. El AA no está habilitado desde la actualización de V2beta1, que se realizó en noviembre de 2017. Durante la semana del 23 de abril de 2018, este comportamiento predeterminado cambió y el AA se habilitó de manera predeterminada. Para controlar este comportamiento de manera explícita, usa el campo mlDisabled nuevo.
    V2 mlDisabled ml_disabled falso El AA está habilitado.

Migra el código de Dialogflow V1 a V2

La API de Dialogflow V2 reemplaza a la API de tipo REST de Dialogflow V1. Después de migrar el agente a Dialogflow, deberás actualizar el código que llama a la API de tipo REST de Dialogflow V1. En las tablas que se muestran a continuación, podrás ver qué API reemplazan a las API de Dialogflow V1 y qué API de Dialogflow V1 ya no se admiten.

/query

Dialogflow V1 API de Dialogflow V2
/query detectIntent

Solicitud

Dialogflow V1 API de Dialogflow V2
JSON de la solicitud Cuerpo de la solicitud
Campos
Dialogflow V1 API de Dialogflow V2
event (e) queryInput.event
event.name queryInput.event.name
event.data queryInput.event.parameters
v No aplicable
sessionId session (parámetro de ruta)
lang queryInput.text.languageCode (para consultas de texto), queryInput.audioConfig.languageCode (para consultas de audio), queryInput.event.languageCode
contexts queryParams.contexts
contexts.name queryParams.contexts.name
contexts.parameters queryParams.contexts.parameters
contexts.lifespan queryParams.contexts.lifespanCount
resetContexts queryParams.resetContexts
entities queryParams.sessionEntityTypes
timezone queryParams.timeZone
location queryParams.geoLocation
location.latitude queryParams.geoLocation.latitude
location.longitude queryParams.geoLocation.longitude
originalRequest queryParams.payload

Respuesta

Dialogflow V1 API de Dialogflow V2
JSON de la respuesta Cuerpo de la respuesta
Campos
Dialogflow V1 API de Dialogflow V2
id responseId
timestamp No aplicable
lang languageCode
result queryResult
result.source queryResult.webhookSource
result.resolvedQuery queryResult.queryText
result.action queryResult.action
result.actionIncomplete queryResult.allRequiredParamsPresent
result.parameters queryResult.parameters
result.contexts queryResult.outputContexts
result.contexts.name queryResult.outputContexts.name
result.contexts.parameters queryResult.outputContexts.parameters
result.contexts.lifespan queryResult.outputContexts.lifespanCount
result.fulfillment No aplicable
result.fulfillment.speech queryResult.fulfillmentText
result.fulfillment.messages queryResult.fulfillmentMessages
result.score queryResult.intentDetectionConfidence
result.metadata queryResult.intent
result.metadata.intentId queryResult.intent.name
result.metadata.webhookUsed queryResult.intent.webhookState
result.metadata.webhookForSlotFillingUsed queryResult.intent.webhookState
result.metadata.webhookResponseTime queryResult.diagnosticInfo
result.metadata.intentName queryResult.intent.displayName
status Status, queryResult.webhookState
sessionId No aplicable

/entities

Dialogflow V1 API de Dialogflow V2
/entities entityTypes

Objeto de entidad

Dialogflow V1 API de Dialogflow V2
Entity EntityType
Campos
Dialogflow V1 API de Dialogflow V2
id name
name displayName
entries entities
entries.value entities.value
entries.synonyms entities.synonyms
isEnum kind
automatedExpansion autoExpansionMode

/userEntities

Dialogflow V1 API de Dialogflow V2
/userEntities sessions.entityTypes

Objeto de entidad de usuario

Dialogflow V1 API de Dialogflow V2
Entidad de usuario SessionEntityType
Campos
Dialogflow V1 API de Dialogflow V2
sessionId ID de sesión (parámetro de ruta)
name name
extend entityOverrideMode
entries entities

/intents

Dialogflow V1 API de Dialogflow V2
/intents intents

Objeto de intent

Dialogflow V1 API de Dialogflow V2
Intent Intent
Campos
Dialogflow V1 API de Dialogflow V2
id name
name displayName
auto mlDisabled
contexts inputContextNames
templates No aplicable
userSays trainingPhrases
userSays.id trainingPhrases.name
userSays.data trainingPhrases.parts
userSays.data.text trainingPhrases.parts.text
userSays.data.meta trainingPhrases.parts.entityType
userSays.data.alias trainingPhrases.parts.alias
userSays.data.userDefined trainingPhrases.parts.userDefined
userSays.isTemplate trainingPhrases.type
userSays.count trainingPhrases.timesAddedCount
responses No aplicable
responses.action action
responses.resetContexts resetContexts
responses.affectedContexts outputContexts
responses.affectedContexts.name outputContexts.name
responses.affectedContexts.lifespan outputContexts.lifespanCount
responses.parameters parameters
responses.parameters.name parameters.displayName
responses.parameters.value parameters.value
responses.parameters.defaultValue parameters.defaultValue
responses.parameters.required parameters.mandatory
responses.parameters.dataType parameters.entityTypeDisplayName
responses.parameters.prompts parameters.prompts
responses.parameters.isList parameters.isList
responses.messages messages
responses.defaultResponsePlatforms defaultResponsePlatforms
priority priority
webhookUsed webhookState
webhookForSlotFilling webhookState
fallbackIntent isFallback
cortanaCommand No aplicable
events events
events.name No aplicable

Objetos de mensaje

Objeto de mensaje de texto
Dialogflow V1 API de Dialogflow V2
Text Text
Campos
Dialogflow V1 API de Dialogflow V2
type No aplicable
speech text
Objeto de mensaje de imagen
Dialogflow V1 API de Dialogflow V2
Image Image
Campos
Dialogflow V1 API de Dialogflow V2
type No aplicable
imageUrl imageUri
Objeto de mensaje de tarjeta
Dialogflow V1 API de Dialogflow V2
Card Card
Campos
Dialogflow V1 API de Dialogflow V2
type No aplicable
title title
subtitle subtitle
buttons buttons
buttons.text buttons.text
buttons.postback buttons.postback
Objeto de mensaje de respuestas rápidas
Dialogflow V1 API de Dialogflow V2
Respuestas rápidas QuickReplies
Campos
Dialogflow V1 API de Dialogflow V2
type No aplicable
title title
replies quickReplies
Objetos de mensaje con carga útil personalizada

Las cargas útiles personalizadas se usan para enviar las respuestas específicas de la plataforma a Actions on Google y otras integraciones cuando se requieren respuestas avanzadas de webhook. Existen varios campos que aceptan y describen las cargas útiles personalizadas, y cada uno se describe a continuación para cada versión. Para V2, se puede usar el campo WebhookResponse.payload o el Intent.Message.payload.

Dialogflow V1 API de Dialogflow V2
Objeto de mensaje predeterminado payload
Integración de un clic
Actions on Google
WebhookResponse.payload
Intent.Message.payload
Intent.Message.Platform

/contexts

Dialogflow V1 API de Dialogflow V2
/contexts sessions.contexts

Objeto de contexto

Dialogflow V1 API de Dialogflow V2
Context Context
Campos
Dialogflow V1 API de Dialogflow V2
name name
lifespan lifespanCount
parameters parameters
¿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.