Respuesta inteligente

La función de Respuesta inteligente sigue una conversación entre un agente humano y un usuario final, y muestra respuestas sugeridas al agente humano. Las respuestas sugeridas se calculan con un modelo personalizado que se entrenó con tus propios datos de conversaciones.

En este documento, se describe el proceso para usar la API y, así, implementar la función de Respuesta inteligente y obtener sugerencias de ella. Si lo prefieres, puedes usar la consola de Agent Assist para subir tus datos, entrenar un modelo y probar los resultados de 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 conversaciones 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

Antes de comenzar con esta guía, completa los siguientes pasos:

  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 conversaciones.

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 censuradas por marcadores de posición, como "REDACTED_NUMBER" o "REDACTED_NAME", en lugar de quitarlas.

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

Entrena e implementa un modelo

Los modelos de Respuesta inteligente de Asistente de agente se entrenan con conjuntos de datos de conversaciones. Un conjunto de datos de conversación contiene los datos de transcripción que subiste. En esta sección, se explica el proceso para crear un conjunto de datos de conversación, subir tus datos de 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 almacenarlas. Llama al método create en el recurso ConversationDataset para crear un conjunto de datos de conversaciones.

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 los pueda procesar. 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 conversaciones debe contener al menos 30,000 conversaciones. De lo contrario, fallará el entrenamiento de modelos. Como regla general, cuantas más conversaciones tengas, mejor será la calidad del modelo. Te recomendamos que subas 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 conversaciones es de 1,000,000.

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

Campos obligatorios:

  • Es el ID del conjunto de datos de conversación que creaste anteriormente.
  • La ruta de acceso inputConfig lleva 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 si se completó.

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 completa el campo para anular el valor predeterminado.

La respuesta es una operación de larga duración que puedes sondear para comprobar si se completó. 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 entidades 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 la administración de listas 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 del modelo genera automáticamente una lista de entidades permitidas asociada al nuevo modelo. La lista de entidades permitidas es un recurso Document con un ID único. El ID se devuelve en smart_reply_model_metadata.associated_allowlist_info.document cuando se crea un modelo. Para revisar los mensajes de la lista de entidades permitidas y realizar cambios en ellos, 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 configura como true, el archivo CSV exportado incluirá una columna que contiene un ID único para cada mensaje. Puedes usar el ID del 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 va a tu bucket de Cloud Storage.

La respuesta es una operación de larga duración que puedes sondear para comprobar si se completó. Luego, el archivo CSV que proporcionaste en la solicitud se completará con candidatos de respuesta.

Revisa la lista de entidades permitidas

La lista de entidades permitidas generada contiene respuestas que se generaron automáticamente con la función de Respuesta inteligente en función de 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 las respuestas de la lista de entidades permitidas se pueden mostrar a los agentes humanos.

Si editas alguna respuesta, te recomendamos que solo lo hagas para corregir 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 probable será que se muestre el 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

Después de terminar de actualizar el archivo CSV, puedes usarlo para actualizar el recurso Document. Puedes optar por actualizar toda la lista de entidades permitidas o solo los mensajes especificados. Para actualizar solo los mensajes especificados, debes haber establecido 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 deben actualizar.

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 establécelo en false.

Campos obligatorios:

  • gcsSource es la ruta 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"
   }
}

Evalúa 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 Respuesta inteligente entrenado y su lista de entidades permitidas asociada se compararán con los mensajes reales de los agentes 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 datos de tráfico de conversaciones de 1 mes, puedes usar datos de conversaciones de 3 semanas para crear un conjunto de datos de conversaciones y los datos de la semana restante 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 del conjunto de datos de conversación.

Para crear una evaluación del modelo nueva, llama al método CreateConversationModelEvaluation en un recurso ConversationModel. Este método devuelve una operación de larga duración. Puedes sondear la operación para verificar su estado, que devolverá 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: Es la lista de entidades permitidas asociada con el modelo de respuestas inteligentes que se probará.

Se devuelve 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 están incluidos en la lista de entidades permitidas.
  • recall: Es el porcentaje de mensajes del agente en el conjunto de datos de prueba que se incluyen en la lista de entidades permitidas y aparecen en las 3 principales sugerencias 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 la base de conocimiento, el ID del documento, el ID del proyecto y el ID del modelo.

A continuación, se muestra 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 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 Respuesta inteligente generativa para obtener instrucciones sobre cómo configurar un perfil de conversación, controlar conversaciones en el tiempo de ejecución, probar tus resultados y enviar comentarios a Agent Assist.