Respuesta inteligente

Las respuestas inteligentes siguen una conversación entre un agente humano y un usuario final, y muestran respuestas sugeridas al agente humano. Las respuestas sugeridas se calculan con un modelo personalizado que se entrenó con tus propios datos de conversación.

En este documento, se describe el proceso para usar la API y, así, implementar la función de respuesta inteligente y obtener sugerencias a partir de ella. Si lo prefieres, puedes usar la consola de Agent Assist para subir tus datos, entrenar un modelo y probar los resultados de la Respuesta inteligente durante el tiempo de diseño. Para ver las sugerencias de Respuesta inteligente durante el tiempo de ejecución, debes llamar a la API directamente. Consulta el instructivo de Respuesta inteligente para obtener detalles sobre cómo entrenar un modelo y probar su rendimiento con la Consola de Agent Assist.

Agent Assist también proporciona datos de conversación disponibles públicamente, así como un modelo previamente entrenado y una lista de entidades permitidas. Puedes usar estos recursos para ver cómo funciona la Respuesta inteligente o probar tu integración antes de subir tus propios datos. Consulta la documentación sobre el formato de datos de conversación para obtener más información.

Antes de comenzar

Completa lo siguiente antes de comenzar con esta guía:

  1. Crea un conjunto de datos de conversación con tus propios datos de transcripción.
  2. Entrena un modelo de Respuesta inteligente con tus conjuntos de datos de conversación.

Información de identificación personal y datos de niños

Cuando envías datos a esta API, esta intenta ocultar toda la información de identificación personal (PII). Si necesitas asegurarte de que el modelo no incluya PII, debes limpiar tus datos antes de enviarlos a la API. Reemplaza las palabras ocultas por marcadores de posición, como "REDACTED_NUMBER" o "REDACTED_NAME", en lugar de simplemente quitarlas.

Además, si tus datos contienen información recopilada de niños, debes quitarlos antes de enviarlos a la API.

Entrena y, luego, implementa un modelo

Los modelos de Respuestas inteligentes de Agent Assist se entrenan con conjuntos de datos de conversaciones. Un conjunto de datos de conversación contiene tus propios datos de transcripción subidos. En esta sección, se explica el proceso para crear un conjunto de datos de conversación, subir los datos de tu conversación a él, y entrenar e implementar un modelo. También puedes realizar estas acciones con la consola de Agent Assist si prefieres no llamar a la API directamente.

Crea un conjunto de datos de conversaciones

Antes de comenzar a subir transcripciones de conversaciones, primero debes crear un conjunto de datos de conversaciones para colocarlas. Llama al método create en el recurso ConversationDataset para crear un conjunto de datos de conversación.

La respuesta contiene un ID de conjunto de datos de conversación.

Importa transcripciones de conversaciones a tu conjunto de datos de conversaciones

Sube los datos de tus conversaciones de chat a tu conjunto de datos de conversaciones para que Agent Assist pueda procesarlos. Asegúrate de que la transcripción de cada conversación esté en formato JSON y se almacene en un bucket de Cloud Storage. Un conjunto de datos de conversación debe contener al menos 30,000 conversaciones; de lo contrario, el entrenamiento de modelos fallará. Como regla general, cuantas más conversaciones tengas, mejor será la calidad de tu modelo. Te recomendamos subir al menos 3 meses de conversaciones para abarcar la mayor cantidad posible de casos de uso. La cantidad máxima de mensajes en un conjunto de datos de conversación es de 1,000,000.

Llama al método importConversationData en el recurso ConversationDataset para importar tus conversaciones.

Campos obligatorios:

  • El ID del conjunto de datos de conversación que creaste anteriormente.
  • La ruta de acceso inputConfig dirige a los datos de la transcripción de la conversación en un bucket de Cloud Storage.

La respuesta es una operación de larga duración que puedes sondear para comprobar su finalización.

Crea un modelo de conversación

Llama al método create en el recurso ConversationModel para crear un modelo de conversación. Esta acción también crea la lista de entidades permitidas del modelo.

Campos obligatorios:

  • En datasets, proporciona un solo conjunto de datos con el ID del conjunto de datos de conversación que creaste anteriormente.
  • Establece smartReplyModelMetadata en un objeto vacío o propaga el campo para anular el valor predeterminado.

La respuesta es una operación de larga duración que puedes sondear para comprobar su finalización. Una vez completada, el ID del modelo y el ID de la lista de entidades permitidas se incluirán en los metadatos de la operación.

  • ID del modelo: name
  • ID de la lista de entidades permitidas: smart_reply_model_metadata.associated_allowlist_info.document

Implementa el modelo de conversación

Llama al método deploy en el recurso ConversationModel para implementar el modelo de conversación.

Campo obligatorio:

  • Usa conversationModels: Ingresa el ID del modelo de conversación que creaste anteriormente.

Administra una lista de apps permitidas

Cada modelo tiene una lista de entidades permitidas asociada, que se crea automáticamente cuando creas un modelo de conversación. La lista de entidades permitidas contiene todas las respuestas, generadas a partir de tus conjuntos de datos de conversación, que se pueden mostrar a un agente humano durante el tiempo de ejecución. En esta sección, se describe la creación y administración de la lista de entidades permitidas. También puedes realizar estas acciones con la consola de Agent Assist si prefieres no llamar a la API directamente.

Exporta el contenido de la lista de entidades permitidas a un archivo CSV.

La creación de modelos crea automáticamente una lista de entidades permitidas asociada con el nuevo modelo. La lista de entidades permitidas es un recurso de documento con un ID único. El ID se muestra en smart_reply_model_metadata.associated_allowlist_info.document cuando se crea un modelo. Para revisar y realizar cambios en los mensajes de la lista de entidades permitidas, debes exportarlos a un bucket de Cloud Storage.

Llama al método export en el recurso Document para exportar el documento a un archivo CSV en un bucket de Cloud Storage. El campo smart_messaging_partial_update es opcional, pero afecta la forma en que podrás actualizar esta lista de entidades permitidas en el futuro. Si se establece en true, el archivo CSV exportado incluirá una columna que contiene un ID único para cada mensaje. Puedes usar el ID de mensaje para actualizar solo los mensajes especificados en lugar de todo el documento. Si smart_messaging_partial_update se establece en false o no se establece, la columna adicional no aparecerá en el archivo, y cualquier actualización de la lista de entidades permitidas requerirá una actualización de todo el documento.

Campo obligatorio:

  • La ruta de acceso gcsDestination se dirige a tu bucket de Cloud Storage.

La respuesta es una operación de larga duración que puedes sondear para comprobar su finalización. Luego, el archivo CSV que proporcionaste en la solicitud se completa con respuestas candidatas.

Revisa la lista de apps permitidas

La lista de entidades permitidas generada contiene respuestas que la Respuesta inteligente generó automáticamente según los datos de tu conversación. Ahora puedes revisar y actualizar esas respuestas según sea necesario. Descarga el archivo CSV de tu bucket de Cloud Storage, edítalo según tus necesidades y vuelve a subirlo al bucket de Cloud Storage. Solo se pueden mostrar respuestas de la lista de entidades permitidas a los agentes humanos.

Si editas alguna respuesta, te recomendamos que solo corrijas la ortografía y la gramática, y que no cambies el significado del mensaje. Cuanto más se desvíe el texto editado del significado del modelo, menos probabilidades habrá de que aparezca ese mensaje.

También puedes crear mensajes nuevos si es necesario. Al igual que los mensajes editados, es menos probable que los mensajes creados aparezcan durante el tiempo de ejecución.

Actualiza la lista de entidades permitidas

Una vez que hayas terminado de actualizar el archivo CSV, puedes usarlo para actualizar el recurso Document. Puedes actualizar toda la lista de entidades permitidas o solo los mensajes especificados. Para actualizar solo los mensajes especificados, debes haber configurado smart_messaging_partial_update en true cuando exportaste la lista de entidades permitidas. Si ya lo hiciste, usa la columna generada automáticamente en el archivo CSV exportado para indicar los mensajes que se actualizarán.

Llama al método reload en el recurso Document para actualizar la lista de entidades permitidas. Para actualizar solo los mensajes especificados, establece smart_messaging_partial_update en true en ReloadDocumentRequest. Para actualizar toda la lista de entidades permitidas, deja smart_messaging_partial_update sin configurar o configúralo como false.

Campos obligatorios:

  • gcsSource es la ruta de acceso de Cloud Storage al archivo CSV.
  • Para name, usa el nombre del recurso de la lista de entidades permitidas que se generó cuando creaste un modelo de conversación.

Solicitud de ejemplo:

{
  "name":"projects/project-id/knowledgeBases/knowledge-base-id/documents/allowlist-id",
  "gcsSource" {
      "uri": "gs://revised_smart_reply_allowlist_path"
   }
}

Cómo evaluar el rendimiento de un modelo entrenado

Puedes probar el rendimiento de un modelo después de implementarlo y crear una lista de entidades permitidas para él. También debes proporcionar un conjunto de datos de prueba. Las respuestas generadas por el modelo de Smart Reply entrenado y su lista de entidades permitidas asociadas se compararán con los mensajes reales del agente en el conjunto de datos de prueba. El conjunto de datos de prueba debe estar compuesto por datos de conversaciones del mundo real, pero no debe contener ninguno de los datos del conjunto de datos de conversaciones que usaste para entrenar el modelo. Por ejemplo, si tienes 1 mes de tráfico de conversación, puedes usar 3 semanas de datos de conversación para crear un conjunto de datos de conversación y los datos restantes de 1 semana para crear el conjunto de datos de prueba. Un conjunto de datos de prueba debe contener un mínimo de 1,000 conversaciones, pero, como regla general, las métricas de evaluación serán más confiables con más conversaciones en el conjunto de datos de prueba. El formato del conjunto de datos de prueba es el mismo que el formato del conjunto de datos de conversación.

Para crear una nueva evaluación de modelos, llama al método CreateConversationModelEvaluation en un recurso ConversationModel. Este método muestra una operación de larga duración. Puedes sondear la operación para verificar su estado, que mostrará uno de los siguientes valores: INITIALIZING, RUNNING, SUCCEEDED, CANCELLED o FAILED.

Campos obligatorios:

  • InputDataset: Es el conjunto de datos de prueba que se usará para probar el rendimiento del modelo.
  • allowlist_document: La lista de entidades permitidas asociada con el modelo de respuestas inteligentes que se probará.

Se muestra un recurso ConversationModelEvaluation cuando se completa la operación de larga duración. Se incluyen dos métricas:

  • allowlist_coverage: Es el porcentaje de mensajes del agente en el conjunto de datos de prueba que cubre la lista de entidades permitidas.
  • recall: Es el porcentaje de mensajes del agente en el conjunto de datos de prueba que se encuentran en la lista de entidades permitidas y aparecen en las 3 sugerencias principales que muestra el modelo de respuesta inteligente.

Cómo configurar un perfil de conversación

Un perfil de conversación configura un conjunto de parámetros que controlan las sugerencias que se le hacen a un agente durante una conversación. En los siguientes pasos, se crea un objeto ConversationProfile con un objeto HumanAgentAssistantConfig. También puedes realizar estas acciones con la consola de Agent Assist si prefieres no llamar a la API directamente.

Crea un perfil de conversación

Para crear un perfil de conversación, llama al método create en el recurso ConversationProfile. Proporciona el ID de tu base de conocimiento, el ID del documento, el ID del proyecto y el ID del modelo.

El siguiente es un ejemplo de JSON:
{
  "displayName":"smart_reply_assist",
  "humanAgentAssistantConfig":{
    "humanAgentSuggestionConfig":{
      "featureConfigs":[
        {
          "suggestionFeature": { "type":"SMART_REPLY" },
          "queryConfig": {
            "documentQuerySource":{
              "documents": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents/DOCUMENT_ID"]
              },
                "maxResults": 3
              },
            }
          },
          "conversationModelConfig":{
            "model": "projects/PROJECT_ID/conversationModels/MODEL_ID"
          }
        }
      ]
    }
  }
}

Te recomendamos que establezcas el valor de SuggestionFeatureConfig.enable_inline_suggestion. Si este valor es verdadero, las llamadas posteriores a AnalyzeContent generarán respuestas con una lista de sugerencias.

La respuesta contiene el ID de tu nuevo perfil de conversación.

Consulta respuestas inteligentes generativas para obtener instrucciones sobre cómo configurar un perfil de conversación, controlar conversaciones durante el tiempo de ejecución, probar los resultados y enviar comentarios a Agent Assist.