Conectores de conocimiento

Los conectores de conocimiento complementan los intents definidos. Analizan los documentos (por ejemplo, Preguntas frecuentes o artículos) a fin de encontrar respuestas automatizadas. Para configurarlos, define una o más bases de conocimiento, que son colecciones de documentos. Puedes habilitar las bases de conocimiento para tu agente, de modo que todas las solicitudes de detección de intent puedan encontrar respuestas automatizadas mediante el uso de tus bases de conocimiento. También puedes especificar una o más bases de conocimiento en tus solicitudes de detección de intent individuales.

Es común que un agente que usa conectores de conocimiento también use intents definidos. Los conectores de conocimiento ofrecen menos control y precisión de respuesta que los intents. Cuando uses tanto intents como conectores de conocimiento, debes definir tus intents para controlar solicitudes de usuario complejas que requieren una precisión y un manejo especiales, y dejar que los conectores de conocimiento controlen solicitudes simples con respuestas extraídas automáticamente de tus documentos. Cuando identificas contenido en las Preguntas frecuentes que deseas ampliar, puedes convertir las preguntas en intents definidos, lo que te da un control total.

Si deseas obtener una lista de los idiomas admitidos, consulta la columna Conectores de conocimiento en la página de idiomas.

Antes de comenzar

Antes de leer esta guía, debes hacer lo siguiente:

  1. Consulta la página sobre conceptos básicos de Dialogflow.
  2. Realiza los pasos de configuración.

Crea un agente

En los pasos de esta guía, se hacen suposiciones sobre tu agente, por lo que es mejor comenzar con un agente nuevo. Debes borrar cualquier agente existente en tu proyecto antes de crear uno nuevo. Para borrar un agente existente, haz lo siguiente:

  1. Ve a la Consola de Dialogflow.
  2. Si se te solicita, accede a la consola de Dialogflow. Consulta Descripción general de la consola de Dialogflow para obtener más información.
  3. Selecciona el agente que deseas borrar.
  4. Haz clic en el botón de Configuración que se encuentra junto al nombre del agente.
  5. Desplázate hacia la parte inferior de la pestaña de configuración General.
  6. Haz clic en Borrar este agente.
  7. Ingresa BORRAR en el campo de texto.
  8. Haz clic en Borrar.

Para crear un agente, haz lo siguiente:

  1. Ve a la Consola de Dialogflow.
  2. Si se te solicita, accede a la consola de Dialogflow. Consulta Descripción general de la consola de Dialogflow para obtener más información.
  3. Haz clic en Crear agente en el menú de la barra lateral 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).
  4. Ingresa el nombre del agente, y el idioma y la zona horaria predeterminados.
  5. Si ya creaste un proyecto, ingrésalo. Si quieres que la consola de Dialogflow cree el proyecto, selecciona Crear un proyecto de Google nuevo.
  6. Haz clic en el botón Crear.

Habilita las características Beta

Si necesitas habilitar la API Beta, haz lo siguiente:

  1. Ve a la Consola de Dialogflow.
  2. Selecciona un agente.
  3. Haz clic en el botón de configuración (settings) junto al nombre del agente.
  4. Desplázate hacia abajo en la pestaña General y asegúrate de que las funciones Beta estén habilitadas.
  5. Si realizaste cambios, haz clic en Guardar.

Crea una base de conocimiento

Una base de conocimiento contiene información sobre los documentos que Dialogflow usará cuando se busquen respuestas para las solicitudes de los usuarios. En los ejemplos a continuación se muestra cómo usar la consola de Dialogflow, la API de REST (incluida la línea de comandos) o las bibliotecas cliente para crear una base de conocimiento. Para usar la API, realiza una llamada al método create en el tipo KnowledgeBase.

IU web

Usa la consola de Dialogflow para crear una base de conocimiento mediante los siguientes pasos:

  1. Ve a la Consola de Dialogflow.
  2. Selecciona un agente.
  3. Haz clic en Conocimiento (Knowledge) en el menú de la barra lateral izquierda.
  4. Haz clic en Crear una base de conocimiento.
  5. Ingresa un nombre para la base de conocimiento.
  6. Haz clic en Guardar.

Captura de pantalla del panel izquierdo del conector de conocimiento

LÍNEA DE REST Y CMD

Realiza una llamada al método create en el tipo KnowledgeBase.

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

  • project-id: tu ID del proyecto de GCP
  • knowledge-base-display-name: el nombre que prefieras para la base de conocimiento

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2beta1/projects/project-id/knowledgeBases

Cuerpo JSON de la solicitud:

{
  "displayName": "knowledge-base-display-name"
}

Para enviar tu solicitud, expande una de estas opciones:

Agrega un documento a la base de conocimiento

Por el momento, tu base de conocimiento nueva no tiene documentos, así que vamos a agregarle un documento. Usaremos el documento de las Preguntas frecuentes de Cloud Storage para este ejemplo. Puedes usar cualquier documento de Preguntas frecuentes. El analizador de Preguntas frecuentes es capaz de administrar la mayoría de los formatos de Preguntas frecuentes. Consulta el contenido admitido a continuación para ver una descripción de las opciones de contenido admitidas.

En los ejemplos a continuación se muestra cómo usar la consola de Dialogflow, la API de REST (incluida la línea de comandos) o las bibliotecas cliente para crear un documento de conocimiento. Para usar la API, realiza una llamada al método create en el tipo Document.

IU web

Usa la consola de Dialogflow para crear un documento de conocimiento:

  1. Si no continúas desde los pasos anteriores, navega a la configuración de tu base de conocimiento:
    1. Ve a la Consola de Dialogflow.
    2. Selecciona un agente.
    3. Haz clic en Conocimiento en el menú de la barra lateral izquierda.
    4. Haz clic en el nombre de tu base de conocimiento.
  2. Haz clic en Documento nuevo o Crear el primero.
  3. Ingresa un nombre para el documento.
  4. Selecciona texto/html para Tipo de Mime.
  5. Selecciona Preguntas frecuentes para Tipo de conocimiento.
  6. Selecciona URL para Fuente de datos (Data Source).
  7. Ingresa https://cloud.google.com/storage/docs/faq en el campo URL.
  8. Haz clic en CREAR (CREATE).

Captura de pantalla del documento nuevo del conector de conocimiento

LÍNEA DE REST Y CMD

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

  • project-id: tu ID del proyecto de GCP
  • knowledge-base-id: tu ID de base de conocimiento que muestra la solicitud anterior
  • document-display-name: el nombre que prefieras para la base de conocimiento

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2beta1/projects/project-id/knowledgeBases/knowledge-base-id/documents

Cuerpo JSON de la solicitud:

{
  "displayName": "document-display-name",
  "mimeType": "text/html",
  "knowledgeTypes": "FAQ",
  "contentUri": "https://cloud.google.com/storage/docs/faq"
}

Para enviar tu solicitud, expande una de estas opciones:

Configuración para conectores de conocimiento

A fin de acceder a la configuración del conector de conocimiento, haz lo siguiente:

  1. Ve a la Consola de Dialogflow.
  2. Selecciona un agente.
  3. Haz clic en Conocimiento en el menú de la barra lateral izquierda.

Puedes habilitar una o más bases de conocimiento para tu agente. Las bases de conocimiento habilitadas se usarán para todas las solicitudes de detección de intent, a menos que se anulen mediante la especificación de bases de conocimiento específicas en una solicitud. Selecciona las bases de conocimiento en la configuración y haz clic en HABILITAR o INHABILITAR para realizar estas acciones en las bases de conocimiento seleccionadas.

También puedes establecer el valor AJUSTAR PREFERENCIAS DE RESULTADOS DE CONOCIMIENTO. Dialogflow usa este valor cuando una solicitud de detección de intent tiene coincidencias posibles de intent y base de conocimiento. Consulta Respuestas de detección de intent.

Integraciones y respuestas enriquecidas

Puedes usar conectores de conocimiento con Integraciones y respuestas enriquecidas:

  1. Si no continúas desde los pasos anteriores, navega a la configuración de tu base de conocimiento:
    1. Ve a la Consola de Dialogflow.
    2. Selecciona un agente.
    3. Haz clic en Conocimiento en el menú de la barra lateral izquierda.
    4. Haz clic en el nombre de tu base de conocimiento.
  2. Desplázate hacia abajo hasta la sección Respuestas y agrégalas de la forma que prefieras:
    1. Cuando definas la primera respuesta para el intent, usa $Knowledge.Question[1] y $Knowledge.Answer[1] en el sitio en que quieras que se proporcionen la pregunta y la respuesta.
    2. El índice para $Knowledge.Question y $Knowledge.Answer comienza en 1, así que aumenta este índice cuando agregues más respuestas.
  3. Haz clic en GUARDAR una vez que hayas terminado de editar.

Cuando definas respuestas, debes considerar estos puntos:

  • Si el número de respuestas definidas es mayor que el número N de coincidencias de respuestas del conector de conocimiento, solo se mostrarán N respuestas.
  • Dado que la precisión podría ser inferior a si se asociaran los intents definidos de forma explícita, recomendamos que muestres tres o más respuestas a tus usuarios cuando sea posible.

Ejemplo:

Captura de pantalla de la integración del conector de conocimiento

Detecta el intent con la base de conocimiento

Cuando realizas una solicitud de detección de intent, puedes especificar una o más bases de conocimiento para una respuesta posible.

En los ejemplos a continuación, se muestra cómo usar la consola de Dialogflow, la API de REST (incluida la línea de comandos) o las bibliotecas cliente para detectar intents. Para usar la API, realiza una llamada al método detectIntent en el tipo Sessions.

IU web

Puedes interactuar con el agente y recibir respuestas del conector de conocimiento a través del simulador de Dialogflow:

  1. Sigue los pasos anteriores para habilitar una base de conocimiento.
  2. Sigue los pasos anteriores para definir respuestas.
  3. Escribe “¿Cómo me registro?” en el simulador.

LÍNEA DE REST Y CMD

Realiza una llamada al método detectIntent en el tipo Sessions y especifica la base de conocimiento en el campo queryParams.

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

  • project-id: tu ID del proyecto de GCP
  • knowledge-base-id: tu ID de la base de conocimiento

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2beta1/projects/project-id/agent/sessions/123456789:detectIntent

Cuerpo JSON de la solicitud:

{
 "queryInput": {
   "text": {
     "text": "How do I sign up?",
     "languageCode": "en-US"
   }
 },
 "queryParams": {
   "knowledgeBaseNames": ["projects/project-id/knowledgeBases/knowledge-base-id"]
 }
}

Para enviar tu solicitud, expande una de estas opciones:

Respuestas de detección de intent

La respuesta para el método Sessions tipo detectIntent es un DetectIntentResponse. Varios factores afectan cómo se propagan los campos de respuesta.

Si un intent definido y una base de conocimiento son coincidencias posibles, la confianza de la coincidencia de cada uno y las preferencias de resultados de conocimiento (consulta la sección Configuración para conectores de conocimiento) se usan a fin de determinar qué coincidencia es la seleccionada. La coincidencia seleccionada se propaga en el campo DetectIntentResponse.queryResult, y otras coincidencias potenciales se propagan en el campo DetectIntentResponse.alternativeQueryResults. Ambos campos contienen mensajes QueryResult.

Si una base de conocimiento proporciona una coincidencia posible, sucede lo siguiente:

  • QueryResult.knowledgeAnswers se propaga con una lista de posibles respuestas de conocimiento ordenadas de mayor a menor confianza de la coincidencia.
  • Si se definieron respuestas enriquecidas para la base de conocimiento, QueryResult.fulfillmentMessages se propaga con mensajes de respuesta enriquecida.

Cuando se realiza un solicitud de detección de intent, es posible que falle la consulta de conocimiento. Cuando esto suceda, se seleccionarán los intents definidos, por lo que la solicitud de detección de intent general no fallará. Puedes encontrar información sobre el error de consulta de conocimiento en el campo DetectIntentResponse.alternativeQueryResults[i].diagnosticInfo.

Contenido admitido

En la siguiente tabla, se muestran los tipos de MIME admitidos por Tipo de conocimiento y Fuente.

Fuente\Tipo de conocimiento Archivo subido (Document.content) (NO recomendado) Archivo subido (Document.raw_content) (Recomendado) Archivo de Cloud Storage (Document.contentUri) Archivo de URL pública (Document.contentUri)
Preguntas frecuentes texto/csv texto/csv texto/csv texto/html
Artículo de base de conocimiento texto/sin formato, texto/html texto/sin formato, texto/html, aplicación/pdf texto/sin formato, texto/html, aplicación/pdf No aplica

El contenido del documento tiene las siguientes limitaciones, prácticas recomendadas y problemas conocidos:

General:

  • Para que los archivos de las URL públicas existan en el índice de búsqueda, el indexador de Búsqueda de Google debe haberlos rastreado. Puedes verificar esto con Google Search Console.
  • Los archivos CSV deben usar comas como delimitadores.
  • Actualmente, admitimos el uso de los artículos de base de conocimiento o de Preguntas frecuentes en tu agente, pero no ambos. Las puntuaciones de confianza todavía no están calibradas entre los artículos de base de conocimiento y de Preguntas frecuentes, por lo que si usas ambos artículos, es posible que no siempre el mejor resultado sea el más alto.
  • Dialogflow quita las etiquetas HTML del contenido cuando se crean respuestas. Debido a esto, es mejor evitar etiquetas HTML y usar texto sin formato cuando sea posible.
  • Las respuestas del Asistente de Google tienen un límite de 640 caracteres por cuadro de chat, por lo que las respuestas largas se truncan cuando se integran en el Asistente de Google.
  • El tamaño máximo del documento depende de tu edición y plan de precios:
    • Estándar: 50 MB
    • Essentials: 50 MB
    • Plus: ilimitado
  • Cuando usas archivos de Cloud Storage, debes usar URI públicos o privados a los que tu cuenta de servicio o usuario tenga acceso.

Específico de las Preguntas frecuentes:

  • El CSV debe tener preguntas en la primera columna y respuestas en la segunda, sin encabezado.
  • Usa CSV cuando sea posible, porque el CSV se analiza con mayor precisión.
  • El contenido HTML público con un único par de QA no es compatible.
  • La cantidad de pares de QA en un documento no debe ser superior a 2,000.
  • Las preguntas duplicadas con diferentes respuestas no son compatibles.

Específico del artículo de base de conocimiento:

  • Por el momento, el artículo de base de conocimiento es experimental. Se basa en tecnologías similares que se probaron en productos de Google, como la búsqueda y el asistente. Envíanos tus comentarios sobre qué tan bien funciona para Dialogflow.
  • El contenido con texto denso funciona mejor. Evita el contenido con muchos párrafos de una sola oración.
  • Las tablas y listas no son compatibles.
  • La cantidad de párrafos en un documento no debe ser superior a 2,000.
  • Si un artículo es largo (> 1,000 palabras), intenta dividirlo en varios artículos más pequeños. Si el artículo abarca varios temas, puede dividirse en artículos más breves que cubran los subtemas. Si el artículo solo abarca un problema, enfoca el artículo en la descripción del problema y mantén breve la resolución del problema.
  • Lo ideal es que solo se proporcione el contenido principal de un artículo (descripción y resolución del problema). El contenido adicional como el nombre del autor, el historial de modificaciones, los vínculos relacionados y los anuncios no es importante.
  • Intenta incluir una descripción de los problemas que el artículo intenta solucionar o consultas de muestra que el artículo intenta responder.
¿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.