Herramientas de almacén de datos

Las herramientas de almacenamiento de datos pueden proporcionar respuestas de agentes generadas por IA basadas en el contenido de sitios web y en 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 almacenamiento de datos: consola

En esta sección se explica cómo añadir una herramienta de almacén de datos a un agente y configurarla en un fulfillment.

Crear una herramienta de almacén de datos

  1. Abre la consola de agentes conversacionales y elige un proyecto. Google Cloud
  2. Selecciona un agente en el menú desplegable.
  3. Ve a la barra de menú situada en el extremo izquierdo de la página y selecciona Herramientas.
  4. Para crear una herramienta de almacén de datos, haz clic en + Crear. Escribe un nombre único para la herramienta y selecciona Almacén de datos en el menú desplegable de Tipo. También puedes introducir una descripción de la herramienta en el campo Descripción.
  5. Consola Agentes conversacionales: en Almacenes de datos, haga clic en Añadir almacenes de datos para añadir uno o varios almacenes de datos preexistentes a la herramienta o en Crear almacén de datos para añadir uno nuevo. Si creas un almacén de datos, aparecerá un menú de tipos de almacén de datos. Las opciones Sitio web, Cloud Storage (preguntas frecuentes) y Cloud Storage (datos sin estructurar) se pueden completar en la consola de agentes conversacionales. Si eliges otro tipo, se te redirigirá automáticamente a Aplicaciones de IA para crear el almacén de datos: Consola Aplicaciones de IA
  6. Consola de Dialogflow CX: en Almacenes de datos, haga clic en Añadir almacenes de datos. En la ventana emergente se muestra una lista de los almacenes de datos que ya tienes, si es el caso. Elige los almacenes de datos que quieras añadir a la herramienta. Para crear un almacén de datos en la consola de aplicaciones de IA, haz clic en Crear almacén de datos. Se te redirigirá automáticamente a Aplicaciones de IA: Consola Aplicaciones de IA
  7. Cuando hayas terminado de configurar el nuevo almacén de datos, haz clic en Crear. Si has creado un nuevo almacén de datos en la consola Conversational Agents (Dialogflow CX), ahora debería aparecer en tu lista de almacenes de datos. Si has creado un almacén de datos en AI Applications, vuelve al menú Crear herramienta que estás configurando en la consola Conversational Agents (Dialogflow CX) y actualiza la página. El nuevo almacén de datos debería aparecer ahora en la lista de almacenes de datos disponibles.
  8. En la parte superior de la configuración de Crear herramienta, haz clic en Guardar para crear la nueva herramienta de almacenamiento de datos.
  9. Para obtener más información sobre las opciones de configuración adicionales de la herramienta de almacenamiento de datos, consulta la página de configuración de almacenamiento de datos.

Añadir la herramienta de almacén de datos a un cumplimiento

  1. En la barra de menú de la parte superior izquierda, selecciona Flujos.
  2. Selecciona un flujo y una página, y haz clic en la Ruta de la página que quieras usar con tu almacén de datos.
  3. En el menú Ruta, desplázate hasta Cumplimiento > Herramienta de almacenamiento de datos. Seleccione su herramienta de almacenamiento de datos en el menú desplegable.
  4. En el menú Ruta, desplázate hasta Cumplimiento > Respuestas del agente. Haz clic en + Añadir respuesta de diálogo y, a continuación, en Respuesta de herramienta de almacenamiento de datos.
  5. En el formulario que aparece, puedes configurar cuántos enlaces de origen y citas pueden aparecer en la respuesta, así como especificar el comportamiento alternativo si la respuesta del almacén de datos está vacía. Puedes introducir una respuesta alternativa estática en el campo Respuestas alternativas estáticas. También puedes marcar la casilla Respuesta alternativa generativa para intentar usar la IA y generar una respuesta antes de usar la respuesta alternativa estática. Si necesitas personalizar más las respuestas alternativas, haz clic en el icono de llave inglesa, situado en la esquina superior izquierda de la ventana del formulario Respuesta del almacén de datos, para abrir la ventana Respuesta condicional.
  6. En la parte superior del menú Ruta, haz clic en Guardar.
  7. Ve 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.

Hay tres tipos de almacenes de datos:

  • PUBLIC_WEB: un almacén de datos que contiene contenido web público.
  • UNSTRUCTURED: almacén de datos que contiene datos privados no estructurados.
  • STRUCTURED: 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 de almacén de datos también pueden contener fragmentos sobre la fuente de contenido que se ha usado 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 haya ninguna.

Puedes sobrescribir una respuesta añadiendo una entrada de preguntas frecuentes para una pregunta específica.

Si quiere, puede proporcionar ejemplos para mejorar el comportamiento del agente. El ejemplo debe tener los siguientes esquemas. Para obtener más información, consulta la documentación de referencia.

{
  "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 agentes basados en Playbooks) Ejemplos de herramientas de almacén de datos

Al crear 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 consultas de búsqueda de tus datos estructurados o no estructurados con metadatos. Esta cadena debe seguir la sintaxis de expresiones de filtro admitida para los almacenes de datos. Varios ejemplos detallados ayudan a indicar al modelo de playbook cómo rellenar este parámetro. Si una cadena de filtro no es válida, se ignora durante la consulta de búsqueda.

A continuación se muestra un ejemplo de cadena filter para acotar los resultados de búsqueda por ubicación:

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

Consulta más detalles en la página de ejemplos del manual de procedimientos
.

Prácticas recomendadas para filtrar:

  • Especifique los campos disponibles para filtrar y los valores válidos de cada uno de ellos para que el manual comprenda las restricciones a la hora de crear filtros válidos. Por ejemplo, un almacén de datos que contenga información sobre menús podría incluir un campo meal con los valores válidos "desayuno", "almuerzo" y "cena", y un campo servingSize que podría ser cualquier número entero del 0 al 5. Tus instrucciones podrían tener un aspecto similar al 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 la guía es para una audiencia de usuarios externos, puede que sea necesario añadir instrucciones para evitar que 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 rellenar pares clave-valor. Estos metadatos se transfieren a la herramienta de almacén de datos para mejorar los resultados de búsqueda y la respuesta de la herramienta. Varios ejemplos detallados ayudan al modelo de la guía a rellenar este parámetro.

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

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

El parámetro fallback proporciona una respuesta que la herramienta de almacenamiento de datos debe dar si no hay ninguna respuesta resumida válida para la consulta. Puedes proporcionar varios ejemplos para indicar al modelo de manual cómo rellenar el campo de reserva para las entradas de usuario relacionadas con diferentes temas. No hay fragmentos 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 de almacén de datos

Si durante las pruebas detectas que algunas respuestas no cumplen tus expectativas, puedes probar a ajustar los siguientes parámetros para optimizar el rendimiento. Se puede acceder a ellos llamando directamente a la API 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 de almacén de datos

Para obtener más información sobre cómo configurar la respuesta de la herramienta de almacenamiento de datos, consulta la documentación sobre la gestión de pedidos.

Gestores de almacenes de datos

Los controladores de almacén de datos son un tipo especial de controlador de estado que puede proporcionar respuestas de agentes generadas por LLMs basadas en el contenido de tu sitio web y en los datos que hayas subido.

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 tus usuarios finales.

Limitaciones

Se aplican las siguientes limitaciones:

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.

Añadir un almacén de datos a un agente

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

Para añadir un almacén de datos a tu agente, sigue estos pasos: Almacén de datos:

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

Probar tu agente

Puedes usar el simulador para probar tu agente.

Desplegar 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 especialmente adecuada para los controladores de almacén de datos. Tiene opciones integradas para las funciones generativas.

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

Intenciones especiales

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

  • Identificación del agente: responde a preguntas como "¿Quién eres?" o "¿Eres humano?".
  • Derivar a un agente humano: gestiona preguntas como "Quiero hablar con un humano" o "Quiero hablar con una persona real".

Esto se consigue mediante intenciones y rutas de intención generadas automáticamente.

Respuestas del agente

En la sección Respuestas del agente, puedes proporcionar respuestas personalizadas que hagan referencia a respuestas generativas. Usa $request.knowledge.answers[0] en la sección Dice el agente para proporcionar la respuesta generativa.

Personalización avanzada de respuestas

Puede que haya información adicional en $request.knowledge.* que se pueda usar para personalizar la respuesta. Esta información incluye lo siguiente:

  • Las fuentes identificadas de la respuesta con los siguientes campos: fragmento, título y URI.
  • La confianza de la respuesta.
  • En el caso de un almacén de datos de preguntas frecuentes, la pregunta correspondiente a la respuesta que se ha seleccionado.

En la siguiente tabla se muestran ejemplos de cómo acceder a esta información.

Información Cómo acceder
Fragmento de la fuente principal 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 fuente principal identificada de la respuesta principal $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title")
Enlace de la fuente principal identificada de la respuesta principal $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "uri")
Número de fuentes identificadas de la respuesta principal $sys.func.COUNT($sys.func.IDENTITY($request.knowledge.sources[0]))
Número de respuestas de la base de conocimientos $sys.func.COUNT($request.knowledge.answers)
Pregunta correspondiente a la respuesta principal (solo para respuestas de almacén de datos de preguntas frecuentes) $request.knowledge.questions[0]
Nivel de confianza de la respuesta principal $request.knowledge.grounding_confidences[0]