Entrena un modelo de sugerencia de conocimiento personalizado

Agent Assist proporciona dos opciones de modelado para la sugerencia de conocimiento: un modelo de referencia (predeterminado) y un modelo personalizado. En esta guía, se explica el proceso para entrenar un modelo personalizado con un conjunto de datos, luego implementar el modelo y probar su rendimiento.

Descripción general

Agent Assist tiene dos funciones de sugerencia de conocimiento: Sugerencia de artículos (que sugiere documentos), y Agent Assist para preguntas frecuentes (que sugiere respuestas a las preguntas de los usuarios finales). Cuando implementas estas funciones, Agent Assist usa un modelo de sugerencia de referencia preentrenado de forma predeterminada. El modelo de referencia usa tecnología de recuperación de información y no requiere que completes un paso de entrenamiento de modelos explícito. La opción de modelo personalizado usa tecnología de CLN (comprensión del lenguaje natural) de estado del arte. Requiere que subas las transcripciones de tus conversaciones y completes un paso de entrenamiento de modelos explícito para compilar un modelo de CLN personalizado. En promedio, los modelos personalizados proporcionan sugerencias de mejor calidad que el modelo de referencia.

Antes de comenzar

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

  1. Habilita la API de Dialogflow en tu Google Cloud proyecto.

Crea una base de conocimiento y entrena un modelo personalizado

Para obtener sugerencias de Agent Assist, debes crear una base de conocimiento, subir tus documentos a la base de conocimiento y configurar un perfil de conversación.

En los siguientes pasos, se describen estas acciones mediante llamadas directas a la API, con la función Sugerencia de artículos como ejemplo. Si lo prefieres, puedes crear una base de conocimiento y agregarle documentos con la consola de Agent Assist.

Crear una base de conocimiento

Antes de que puedas comenzar a subir documentos, primero debes crear una base de conocimiento para colocarlos. Para crear una base de conocimiento, llama al create método en el KnowledgeBase tipo.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de GCP.
  • KNOWLEDGE_BASE_DISPLAY_NAME: Es el nombre de la base de conocimiento deseada.

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases

Cuerpo JSON de la solicitud:

{
  "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA",
  "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}

El segmento de ruta después de knowledgeBases contiene el ID nuevo de la base de conocimiento.

Python

Para autenticarte en Agent Assist, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

def create_knowledge_base(project_id, display_name):
    """Creates a Knowledge base.

    Args:
        project_id: The GCP project linked with the agent.
        display_name: The display name of the Knowledge base."""
    from google.cloud import dialogflow_v2beta1 as dialogflow

    client = dialogflow.KnowledgeBasesClient()
    project_path = client.common_project_path(project_id)

    knowledge_base = dialogflow.KnowledgeBase(display_name=display_name)

    response = client.create_knowledge_base(
        parent=project_path, knowledge_base=knowledge_base
    )

    print("Knowledge Base created:\n")
    print("Display Name: {}\n".format(response.display_name))
    print("Name: {}\n".format(response.name))

Crea un documento de conocimiento

Ahora puedes agregar documentos a la base de conocimiento. Para crear un documento en la base de conocimiento, llama al método create en el tipo Document. Establece KnowledgeType en ARTICLE_SUGGESTION. En este ejemplo, se usa un archivo HTML con información sobre el pedido de devolución que se subió a un bucket de Cloud Storage compartido públicamente. Cuando configuras la Sugerencia de artículos en tu propio sistema, los documentos deben tener uno de los siguientes formatos. Consulta la documentación de documentos de conocimiento para obtener más información sobre las prácticas recomendadas para documentos.

Formatos de documentos de conocimiento:

  • Un archivo almacenado en un bucket de Cloud Storage. Puedes especificar la ruta de acceso cuando llamas a la API.
  • El contenido de texto de un documento, que puedes enviar en una solicitud a la API.
  • Una URL pública.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de GCP.
  • KNOWLEDGE_BASE_ID: Es el ID de tu base de conocimiento que se muestra en la solicitud anterior.
  • DOCUMENT_DISPLAY_NAME: Es el nombre del documento de conocimiento deseado.

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents

Cuerpo JSON de la solicitud:

{
  "displayName": "DOCUMENT_DISPLAY_NAME",
  "mimeType": "text/html",
  "knowledgeTypes": "ARTICLE_SUGGESTION",
  "contentUri": "gs://agent-assist-public-examples/public_article_suggestion_example_returns.html"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA"
}

La respuesta es una operación de larga duración que puedes sondear para verificar si se completó.

Python

Para autenticarte en Agent Assist, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

def create_document(
    project_id, knowledge_base_id, display_name, mime_type, knowledge_type, content_uri
):
    """Creates a Document.

    Args:
        project_id: The GCP project linked with the agent.
        knowledge_base_id: Id of the Knowledge base.
        display_name: The display name of the Document.
        mime_type: The mime_type of the Document. e.g. text/csv, text/html,
            text/plain, text/pdf etc.
        knowledge_type: The Knowledge type of the Document. e.g. FAQ,
            EXTRACTIVE_QA.
        content_uri: Uri of the document, e.g. gs://path/mydoc.csv,
            http://mypage.com/faq.html."""
    from google.cloud import dialogflow_v2beta1 as dialogflow

    client = dialogflow.DocumentsClient()
    knowledge_base_path = dialogflow.KnowledgeBasesClient.knowledge_base_path(
        project_id, knowledge_base_id
    )

    document = dialogflow.Document(
        display_name=display_name, mime_type=mime_type, content_uri=content_uri
    )

    document.knowledge_types.append(
        getattr(dialogflow.Document.KnowledgeType, knowledge_type)
    )

    response = client.create_document(parent=knowledge_base_path, document=document)
    print("Waiting for results...")
    document = response.result(timeout=120)
    print("Created Document:")
    print(" - Display Name: {}".format(document.display_name))
    print(" - Knowledge ID: {}".format(document.name))
    print(" - MIME Type: {}".format(document.mime_type))
    print(" - Knowledge Types:")
    for knowledge_type in document.knowledge_types:
        print("    - {}".format(KNOWLEDGE_TYPES[knowledge_type]))
    print(" - Source: {}\n".format(document.content_uri))

Crea e implementa un nuevo modelo personalizado

  1. Navega a la IU de Agent Assist y haz clic en la opción de menú Modelos en el margen izquierdo de la página.

  2. En el menú Modelos , se muestran todos tus modelos. Para crear un modelo nuevo, haz clic en el botón +Crear nuevo en la parte superior derecha.

  3. En Tipo de modelo , selecciona Sugerencia de artículos. Ingresa un nombre único para tu modelo nuevo en el campo Nombre. Por último, selecciona los nombres de las bases de conocimiento que deseas usar para entrenar tu modelo. Cuando haces clic en este campo, aparece un menú que contiene una lista de todos los conjuntos de datos que ya creaste.

  4. Un modelo de sugerencia de conocimiento se entrena con conjuntos de datos de conversación, al igual que un modelo de Respuesta inteligente. En lugar de mostrar sugerencias de palabras a los agentes como la función Respuesta inteligente, los modelos de sugerencia de conocimiento mostrarán artículos o respuestas a preguntas frecuentes.

    Selecciona la cantidad de conjuntos de datos de conversación que deseas usar para entrenar tu modelo. Haz clic en Crear para crear tu modelo nuevo.

  5. El modelo nuevo ahora aparece en tu lista de modelos en la página Modelos. El estado del modelo nuevo aparecerá como Pendiente y, luego, Creando hasta que se entrene el modelo. El entrenamiento tarda un día o más, según tus recursos de procesamiento. Para implementar el modelo entrenado, haz clic en el ícono compuesto por 3 puntos verticales que está asociado con tu modelo en el extremo derecho de la página y haz clic en Implementar.

Prueba tu modelo personalizado de asistente de conocimiento con el simulador de Agent Assist

El simulador de Agent Assist te permite obtener una vista previa del rendimiento de tu modelo antes de implementarlo. El simulador se puede usar con cualquier función de Agent Assist. En los siguientes pasos, se explica el proceso para probar tu modelo personalizado de Knowledge Assist con el simulador.

  1. Antes de que puedas ejecutar el simulador, debes crear uno o más perfiles de conversación. Un perfil de conversación representa un modelo de asistente de conocimiento entrenado e implementado. A diferencia de los modelos de Respuesta inteligente, los modelos de Knowledge Assist no tienen una lista de entidades permitidas asociada.

    Para crear un perfil de conversación, haz clic en Perfiles de conversación en el menú principal en el lado izquierdo de la página.

  2. Aparecerá una lista de tus perfiles de conversación existentes. Si deseas usar un perfil preexistente, puedes ir al paso 4 más adelante. De lo contrario, crea un perfil de conversación nuevo haciendo clic en el botón +Crear nuevo en el lado derecho de la página.

  3. En el menú que aparece, ingresa un nombre único para tu perfil de conversación en el cuadro Nombre visible. Selecciona Artículos o Preguntas frecuentes (según el tipo de modelo que entrenaste) en el cuadro Tipo de sugerencia. También se te pedirá que ingreses los valores de Umbral de confianza y Sugerencias máximas. Las sugerencias máximas son la cantidad de artículos de respuesta o respuestas a preguntas frecuentes que se muestran, y el umbral de confianza se refiere al nivel de confianza del modelo de que cada respuesta es pertinente para la solicitud del agente. Un valor de confianza más alto aumenta la probabilidad de que se muestren respuestas pertinentes, pero puede generar menos respuestas o ninguna si ninguna opción disponible cumple con el valor de umbral alto. Para obtener una mayor exactitud y una menor cobertura, recomendamos un umbral de confianza de 0.8; para obtener una menor exactitud y una mayor cobertura, recomendamos un umbral de confianza de 0.2.

    Elige tu método de recuperación (en línea o Pub/Sub), si deseas habilitar el análisis de sentimiento y si deseas usar un agente virtual de Dialogflow. Haz clic en el botón Crear para crear el perfil de conversación.

  4. Tu perfil de conversación ahora aparece en la lista de perfiles en la página principal Perfiles de conversación. Para usar el simulador, haz clic en los tres puntos verticales en el extremo derecho del nombre del perfil de conversación que deseas probar y haz clic en Usar simulador.

  5. La ventana que aparece te proporciona cuadros de entrada para las respuestas del cliente y del agente. Puedes usar estos cuadros para probar las funciones de Agent Assist que seleccionaste cuando configuraste el perfil de conversación. Para cambiar la combinación de funciones que se están probando, haz clic en el botón Opciones en la parte superior derecha y elige tus funciones en el menú Configurar vista que aparece.

  6. Haz clic en el botón Listo en la parte superior derecha para volver a la página principal de perfiles de conversación.