Respuesta inteligente

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 mediante un modelo personalizado que se ha entrenado con tus propios datos de conversaciones.

En este documento se explica cómo usar la API para implementar Respuesta inteligente y obtener sugerencias de esta función. Si lo prefieres, puedes usar la consola de Asistente 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 tutorial de Respuesta inteligente para obtener información detallada 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 preentrenado y una lista de permitidos. Puede usar estos recursos para ver cómo funciona Respuesta inteligente o probar su integración antes de subir sus propios datos. Para obtener más información, consulta la documentación sobre el formato de los datos de conversación.

Antes de empezar

Antes de empezar a leer esta guía, haz lo siguiente:

  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ía datos a esta API, la API intenta ocultar toda la información personal identificable (IPI). Si necesitas asegurarte de que el modelo no incluya IIP, debes anonimizar tus datos antes de enviarlos a la API. Sustituye las palabras censuradas por marcadores de posición, como `REDACTED_NUMBER` o `REDACTED_NAME`, en lugar de eliminarlas.

Además, si tus datos contienen información recogida de niños, debes eliminarla antes de enviarla a la API.

Entrenar y desplegar un modelo

Los modelos de Respuesta inteligente de Agent Assist se entrenan con conjuntos de datos de conversaciones. Un conjunto de datos de conversaciones contiene los datos de transcripciones que has subido. En esta sección se explica el proceso para crear un conjunto de datos de conversaciones, subir tus datos de conversaciones a él, y entrenar y desplegar un modelo. También puedes realizar estas acciones con la consola de Asistente si prefieres no llamar a la API directamente.

Crear un conjunto de datos de conversación

Antes de empezar a subir transcripciones de conversaciones, debes crear un conjunto de datos de conversaciones en el que colocarlas. 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.

Importar 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 segmento de Cloud Storage. Un conjunto de datos de conversaciones debe contener al menos 30.000 conversaciones. De lo contrario, no se podrá entrenar el modelo. Por lo general, cuantas más conversaciones tengas, mejor será la calidad de tu modelo. Te recomendamos que subas conversaciones de al menos 3 meses para cubrir el mayor número de casos prácticos posible. El número máximo 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:

  • El ID del conjunto de datos de conversaciones que has creado anteriormente.
  • La ruta inputConfig lleva a los datos de la transcripción de la conversación en un segmento de Cloud Storage.

La respuesta es una operación de larga duración que puedes sondear para comprobar si se ha completado.

Crear 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 permitidos del modelo.

Campos obligatorios:

  • En datasets, proporcione un único conjunto de datos con el ID del conjunto de datos de conversaciones que ha creado anteriormente.
  • Asigna a smartReplyModelMetadata un objeto vacío o rellena el campo para anular el valor predeterminado.

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

  • ID de modelo: name
  • ID de lista de permitidos: smart_reply_model_metadata.associated_allowlist_info.document

Desplegar el modelo de conversación

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

Campo obligatorio:

  • Usa conversationModels: introduce el ID del modelo de conversación que has creado anteriormente.

Gestionar una lista de permitidas

Cada modelo tiene una lista de permitidos asociada, que se crea automáticamente cuando creas un modelo de conversación. La lista de permitidas contiene todas las respuestas generadas a partir de tus conjuntos de datos de conversaciones que se pueden mostrar a un agente humano en tiempo de ejecución. En esta sección se describe cómo crear y gestionar listas de permitidos. También puedes realizar estas acciones con la consola de Asistente con agente si prefieres no llamar a la API directamente.

Exportar el contenido de la lista de permitidos a un archivo CSV

Al crear un modelo, se crea automáticamente una lista de permitidos asociada al nuevo modelo. La lista de permitidos 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 y modificar los mensajes de la lista de permitidos, debes exportarla a un segmento de Cloud Storage.

Llama al método export en el recurso Document para exportar el documento a un archivo CSV en un segmento de Cloud Storage. El campo smart_messaging_partial_update es opcional, pero afecta a la forma en que podrás actualizar esta lista de permitidos en el futuro. Si se le asigna el valor true, el archivo CSV exportado incluirá una columna que contiene un ID único para cada mensaje. Puede usar el ID de mensaje para actualizar solo los mensajes especificados en lugar de todo el documento. Si smart_messaging_partial_update tiene el valor false o no se ha definido, la columna adicional no aparecerá en el archivo y, para actualizar la lista de permitidos, habrá que actualizar todo el documento.

Campo obligatorio:

  • La ruta gcsDestination lleva a tu segmento de Cloud Storage.

La respuesta es una operación de larga duración que puedes sondear para comprobar si se ha completado. Después, el archivo CSV que has proporcionado en la solicitud se rellena con las respuestas candidatas.

Revisar la lista de permitidos

La lista de permitidos generada contiene respuestas que se han generado automáticamente con Respuesta inteligente a partir de los datos de tus conversaciones. Ahora puedes revisar y actualizar esas respuestas según sea necesario. Descarga el archivo CSV de tu segmento de Cloud Storage, edítalo para adaptarlo a tus necesidades y vuelve a subirlo al segmento de Cloud Storage. Solo se pueden mostrar a los agentes humanos las respuestas que estén en la lista de permitidos.

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 probable será que se muestre el mensaje.

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

Actualizar la lista de permitidos

Una vez que hayas terminado de actualizar el archivo CSV, podrás usarlo para actualizar el recurso Document. Puedes actualizar toda la lista de permitidas o solo los mensajes especificados. Para actualizar solo los mensajes especificados, debes haber definido smart_messaging_partial_update como true cuando exportaste la lista de permitidos. Si ya lo has hecho, usa la columna generada automáticamente en el archivo CSV exportado para indicar los mensajes que se van a actualizar.

Llama al método reload en el recurso Document para actualizar la lista de permitidos. Para actualizar solo los mensajes especificados, asigna el valor true a smart_messaging_partial_update en ReloadDocumentRequest. Para actualizar toda la lista de permitidas, deja smart_messaging_partial_update sin definir o asigna el valor false.

Campos obligatorios:

  • gcsSource es la ruta de Cloud Storage al archivo CSV.
  • En name, usa el nombre de recurso de la lista de permitidos 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"
   }
}

Evaluar el rendimiento de un modelo entrenado

Puedes probar el rendimiento de un modelo después de desplegarlo y crear una lista de permitidos 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 permitidos 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 formado por datos de conversaciones reales, pero no debe contener ninguno de los datos del conjunto de datos de conversaciones que hayas usado para entrenar el modelo. Por ejemplo, si tienes datos de tráfico de conversaciones de un mes, puedes usar los datos de las conversaciones de tres 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 1000 conversaciones, pero, por lo general, las métricas de evaluación serán más fiables si el conjunto de datos de prueba incluye más conversaciones. El formato del conjunto de datos de prueba es el mismo que el del conjunto de datos de conversaciones.

Para crear una evaluación de modelo, 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 comprobar su estado, que devolverá uno de los siguientes valores: INITIALIZING, RUNNING, SUCCEEDED, CANCELLED o FAILED.

Campos obligatorios:

  • InputDataset: el conjunto de datos de prueba que se usará para probar el rendimiento del modelo.
  • allowlist_document: lista de permitidos asociada al modelo de Respuesta inteligente que se va a probar.

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

  • allowlist_coverage: porcentaje de mensajes de agentes del conjunto de datos de prueba que están cubiertos por la lista de permitidos.
  • recall: porcentaje de mensajes del agente en el conjunto de datos de prueba que se incluyen en la lista de permitidos y aparecen en las tres primeras sugerencias que ofrece el modelo de Respuesta inteligente.

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. Con los pasos que se indican a continuación, se crea un ConversationProfile con un objeto HumanAgentAssistantConfig. También puedes realizar estas acciones con la consola de Asistente con agente si prefieres no llamar a la API directamente.

Crear un perfil de conversación

Para crear un perfil de conversación, llama al método create del recurso ConversationProfile. Proporciona el ID de la base de conocimientos, 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 definas el valor SuggestionFeatureConfig.enable_inline_suggestion. Si este valor es true, las llamadas posteriores a AnalyzeContent darán como resultado respuestas con una lista de sugerencias.

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

Consulta Respuesta inteligente generativa para obtener instrucciones sobre cómo configurar un perfil de conversación, gestionar conversaciones en tiempo de ejecución, probar los resultados y enviar comentarios a Asistente para agentes.