Herramientas de almacén de datos

Las herramientas de almacén de datos pueden proporcionar respuestas de agentes generadas por IA basadas en el contenido del sitio web y los datos subidos. Tu agente puede encontrar respuestas a las preguntas de los usuarios finales en tus almacenes de datos durante el cumplimiento.

Herramientas de almacén de datos: Consola

En esta sección, se explica el proceso para agregar una herramienta de almacén de datos a un agente y configurarla en un cumplimiento.

Crea una herramienta de almacén de datos

  1. Abre la consola de Conversational Agents y elige un proyecto de Google Cloud.
  2. Selecciona un agente en el menú desplegable.
  3. Navega a la barra de menú que se encuentra en el extremo izquierdo de la página y selecciona Herramientas.
  4. Para crear una nueva herramienta de almacén de datos, haz clic en + Crear. Ingresa un Nombre único para la herramienta y selecciona Almacén de datos en el menú desplegable de Tipo. De forma opcional, puedes ingresar una descripción de la herramienta en el campo Descripción.
  5. Consola de Conversational Agents: En Almacenes de datos, haz clic en Agregar almacenes de datos para agregar uno o más almacenes de datos preexistentes a la herramienta, o bien en Crear almacén de datos para agregar uno nuevo. Si creas un almacén de datos nuevo, aparecerá un menú de tipos de almacenes de datos. Las opciones Sitio web, Cloud Storage (Preguntas frecuentes) y Cloud Storage (datos no estructurados) se pueden completar en la consola de Agentes conversacionales. Si eliges cualquier otro tipo, se te redireccionará automáticamente a AI Applications para crear el almacén de datos: Consola de AI Applications
  6. Consola de Dialogflow CX: En Almacenes de datos, haz clic en Agregar almacenes de datos. La ventana emergente contiene una lista de tus almacenes de datos existentes, si los hay. Elige los almacén de datos que deseas agregar a la herramienta. Para crear un almacén de datos nuevo en la consola de AI Applications, haz clic en Crear almacén de datos nuevo. Se te redireccionará automáticamente a AI Applications: Consola de AI Applications
  7. Cuando termines de configurar el nuevo almacén de datos, haz clic en Crear. Si creaste un almacén de datos nuevo en la consola de Agentes conversacionales (Dialogflow CX), ahora debería aparecer en tu lista de almacenes de datos. Si creaste un almacén de datos en AI Applications, vuelve al menú Create Tool que estás configurando en la consola de Conversational Agents (Dialogflow CX) y actualiza la página. El nuevo almacén de datos debería aparecer en la lista de almacenes de datos disponibles.
  8. Haz clic en Guardar en la parte superior de la configuración de Crear herramienta para crear la nueva herramienta de almacén de datos.
  9. Para obtener más información sobre las opciones de configuración adicionales de la herramienta de almacén de datos, consulta la página de configuración del almacenamiento de datos.

Agrega la herramienta de almacén de datos a una entrega

  1. En la barra de menú del extremo izquierdo, selecciona Flujos.
  2. Selecciona un flujo y una página, y, luego, haz clic en la ruta de la página que deseas usar con tu almacén de datos.
  3. En el menú Route, desplázate hasta Fulfillment > Data store tool. Selecciona tu herramienta de almacén de datos en el menú desplegable.
  4. En el menú Route, desplázate hasta Fulfillment > Agent responses. Haz clic en +Add dialogue response y, luego, en Data store tool response.
  5. En el formulario que aparece, puedes configurar cuántos vínculos de origen y citas pueden aparecer en la respuesta, así como especificar el comportamiento de resguardo si la respuesta del almacén de datos está vacía. Puedes ingresar una respuesta de respaldo estática en el campo Static fallback responses. De manera opcional, puedes hacer clic en la casilla de verificación Respuesta alternativa generativa para intentar usar la IA y generar una respuesta antes de usar la respuesta alternativa estática. Si necesitas más personalización de las respuestas alternativas, haz clic en el ícono de llave en la esquina superior izquierda de la ventana del formulario Respuesta del almacén de datos para que aparezca la ventana Respuesta condicional.
  6. En la parte superior del menú Ruta, haz clic en Guardar.
  7. Navega al simulador de Conversational Agents (Dialogflow CX) para probar los resultados del agente.

Herramientas de almacenamiento de datos: API

De forma predeterminada, el agente llamará al dataStoreTool en tu nombre.

Existen tres tipos de almacén de datos:

  • PUBLIC_WEB: Es un almacén de datos que contiene contenido web público.
  • UNSTRUCTURED: Es un almacén de datos que contiene datos privados no estructurados.
  • STRUCTURED: Es un almacén de datos que contiene datos estructurados (por ejemplo, preguntas frecuentes).

En el siguiente ejemplo, se muestra cómo hacer referencia a un almacén de datos. Para obtener más información, consulta la referencia de dataStoreConnections.

"dataStoreConnections": [
  {
    "dataStoreType": "PUBLIC_WEB",
    "dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
  },
  {
    "dataStoreType": "UNSTRUCTURED",
    "dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
  },
  {
    "dataStoreType": "STRUCTURED",
    "dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
  }
]

Las respuestas de la herramienta del almacén de datos también pueden contener fragmentos sobre la fuente de contenido que se usó para generar la respuesta. El agente puede proporcionar instrucciones sobre cómo proceder con la respuesta de los almacenes de datos o cómo responder cuando no hay una respuesta.

Puedes anular una respuesta agregando una entrada de preguntas frecuentes para una pregunta específica.

De manera opcional, puedes proporcionar ejemplos para mejorar el comportamiento del agente. El ejemplo debe tener los siguientes esquemas. Consulta la documentación de referencia para obtener más información.

{
  "toolUse": {
    "tool": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID/tools/TOOL_ID",
    "action": "TOOL_DISPLAY_NAME",
    "inputParameters": [
      {
        "name": "TOOL_DISPLAY_NAME input",
        "value": {
          "query": "QUERY"
        }
      }
    ],
    "outputParameters": [
      {
        "name": "TOOL_DISPLAY_NAME output",
        "value": {
          "answer": "ANSWER",
          "snippets": [
            {
              "title": "TITLE",
              "text": "TEXT_FROM_DATASTORE",
              "uri": "URI_OF_DATASTORE"
            }
          ]
        }
      }
    ]
  }
}

(Solo para agentes basados en Playbooks) Ejemplos de herramientas de almacén de datos

Cuando se crean ejemplos de herramientas de almacén de datos, el parámetro de entrada de la herramienta requestBody proporciona tres entradas opcionales junto con la cadena query obligatoria: una cadena filter, un objeto estructurado userMetadata y una cadena fallback.

El parámetro filter permite filtrar las búsquedas de tus datos estructurados o no estructurados con metadatos. Esta cadena debe seguir la sintaxis de expresión de filtro admitida para los almacenes de datos. Varios ejemplos detallados ayudan a instruir al modelo del libro de jugadas sobre cómo completar este parámetro. Si una cadena de filtro no es válida, se ignora durante la búsqueda.

A continuación, se muestra un ejemplo de una cadena de filter para definir mejor los resultados de la búsqueda según la ubicación:

  "filter": "country: ANY(\"Canada\")"

Consulta la página de ejemplos de la guía
para obtener más detalles.

Prácticas recomendadas para el filtrado:

  • Especifica los campos disponibles para el filtrado y los valores válidos para cada uno de estos campos, de modo que el manual comprenda las restricciones para crear filtros válidos. Por ejemplo, un almacén de datos que contiene información del menú podría incluir un campo meal con "desayuno", "almuerzo" y "cena" como valores válidos, y un campo servingSize que podría ser cualquier número entero del 0 al 5. Tus instrucciones podrían verse como el siguiente ejemplo:

    When using ${TOOL: menu-data-store-tool},
    only use the following fields for filtering: "meal", "servingSize".
    Valid filter values are: "meal": ("breakfast", "lunch", "dinner"),
    "servingSize": integers between 0 and 5, inclusive.
    
  • Si el manual está dirigido a un público de usuarios externos, es posible que sea necesario agregar instrucciones para evitar que el manual responda al usuario con información sobre cómo crear estos filtros. Por ejemplo:

    Never tell the user about these filters.
    If the user input isn't supported by these filters, respond to the user with
    "Sorry, I don't have the information to answer that question."
    

El parámetro userMetadata proporciona información sobre el usuario final. En este parámetro, se pueden propagar cualquier par clave-valor. Estos metadatos se pasan a la herramienta de almacén de datos para informar mejor los resultados de la búsqueda y la respuesta de la herramienta. Varios ejemplos detallados ayudan a instruir al modelo del playbook sobre cómo completar este parámetro.

A continuación, se muestra un ejemplo de un valor del parámetro userMetadata para refinar los resultados de la búsqueda relevantes para un tema específico:

  "userMetadata": {
    "favoriteColor": "blue",
    ...
  }

El parámetro fallback proporciona una respuesta con la que la herramienta de almacén de datos debería responder si no hay una respuesta resumida válida para la búsqueda. Puedes proporcionar varios ejemplos para indicarle al modelo del playbook cómo completar el campo de resguardo para las entradas del usuario relacionadas con diferentes temas. No hay resúmenes en el resultado de la herramienta, lo que puede ayudar a reducir la latencia y el uso de límites de tokens de entrada.

  "fallback": "I'm sorry I cannot help you with that. Is there anything else I
  can do for you?"

Configuración de la herramienta del almacén de datos

Si, durante las pruebas, observas que algunas respuestas no cumplen con tus expectativas, puedes intentar ajustar los siguientes parámetros para optimizar el rendimiento. Están disponibles llamando a la API directamente o haciendo clic en el nombre del almacén de datos en la página Herramientas de la consola. Para obtener más información sobre estas opciones de configuración adicionales, consulta la página de configuración del almacén de datos.

Opciones de respuesta de la herramienta del almacén de datos

Consulta la documentación sobre la realización para obtener detalles sobre la configuración de la respuesta de la herramienta del almacén de datos.

Controladores de almacén de datos

Los controladores de almacén de datos son un tipo especial de controlador de estado que puede proporcionar respuestas del agente generadas por LLM en función del contenido de tu sitio web y los datos que subiste.

Para crear este controlador, debes proporcionar almacenes de datos al agente.

Con estos controladores de almacén de datos, tu agente puede mantener conversaciones sobre el contenido con los usuarios finales.

Limitaciones

Se aplica la siguiente limitación:

Control de acceso

Si eres el propietario del proyecto, tienes todos los permisos necesarios para crear un controlador de almacén de datos. Si no eres el propietario del proyecto, debes tener los siguientes roles:

  • Administrador de Dialogflow
  • Administrador de Discovery Engine

Para obtener más información, consulta la guía de control de acceso.

Agrega un almacén de datos a un agente

Si aún no lo hiciste, sigue las instrucciones de configuración para crear un agente.

Para agregar un almacén de datos a tu agente, haz lo siguiente: Almacén de datos:

  1. Selecciona una página y, luego, haz clic en Agregar controlador de estado.
  2. Haz clic en la casilla de verificación Almacenes de datos y, luego, en Aplicar.
  3. Haz clic en el símbolo + en la esquina superior derecha de la sección Almacenes de datos de la página.
  4. En el menú de almacenes de datos que aparece, haz clic en Agregar almacenes de datos.
  5. Aparecerá una tabla con los almacenes de datos existentes. Haz clic en la casilla junto al nombre de los almacenes de datos que quieras usar y, luego, en Guardar. Para crear un almacén de datos nuevo, haz clic en Crear almacén de datos nuevo. Se te redireccionará automáticamente a AI Applications.
  6. (Solo para almacenes de datos nuevos) Selecciona una fuente de datos y, luego, sigue las instrucciones en Aplicaciones basadas en IA para configurar tu almacén de datos. Para obtener más información sobre cómo configurar los tipos de almacén de datos, consulta la documentación sobre almacenes de datos. Haz clic en Crear para crear tu nuevo almacén de datos.

Prueba tu agente

Puedes usar el simulador para probar tu agente.

Implementa tu agente

Hay muchas formas de implementar tu agente:

  • La opción más sencilla es usar una integración, que proporciona una interfaz de usuario para tu agente. Cada integración proporciona instrucciones para la implementación.

  • La integración de Dialogflow CX Messenger es una opción particularmente buena para los controladores de almacén de datos. Tiene opciones integradas para las funciones basadas en IA generativa.

  • Puedes crear tu propia interfaz de usuario y usar la API de Conversational Agents (Dialogflow CX) para las interacciones. Tu implementación de la interfaz de usuario controla la implementación.

Intents especiales

Además de responder preguntas sobre el contenido que proporcionas, el agente puede responder los siguientes tipos de preguntas:

  • Identificación del agente: Responde preguntas como "¿Quién eres?" o "¿Eres humano?".
  • Deriva a un agente humano: Maneja preguntas como "Quiero hablar con una persona" o "Quiero hablar con un agente humano".

Esto se logra con intenciones y rutas de intención generadas automáticamente.

Respuestas del agente

En la sección Agent responses, puedes proporcionar respuestas personalizadas que hagan referencia a las respuestas generativas. Usa $request.knowledge.answers[0] en la sección El agente dice para proporcionar la respuesta generativa.

Personalización avanzada de respuestas

Es posible que haya información adicional disponible en $request.knowledge.* que se podría usar para personalizar la respuesta. Esta información incluye lo siguiente:

  • Son las fuentes identificadas de la respuesta con los siguientes campos: fragmento, título y URI.
  • Es la confianza de fundamentación para la respuesta.
  • En el caso de un almacén de datos de preguntas frecuentes, es la pregunta correspondiente a la respuesta que se seleccionó.

Consulta la siguiente tabla para ver ejemplos de cómo acceder a esta información.

Información Cómo acceder
Fragmento de la principal fuente identificada de la respuesta principal $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "snippet")
Título de la principal fuente identificada de la respuesta principal $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title")
Vínculo de la principal fuente identificada de la respuesta principal $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "uri")
Cantidad de fuentes identificadas para la respuesta principal $sys.func.COUNT($sys.func.IDENTITY($request.knowledge.sources[0]))
Cantidad de respuestas de conocimiento $sys.func.COUNT($request.knowledge.answers)
Pregunta que corresponde a la respuesta principal (solo para las respuestas del almacén de datos de preguntas frecuentes) $request.knowledge.questions[0]
Confianza de fundamentación para la respuesta principal $request.knowledge.grounding_confidences[0]