Arquitectura y conceptos clave de la API de Conversational Analytics

En este documento, se describen los conceptos clave para usar la API de Conversational Analytics (geminidataanalytics.googleapis.com), que te permite crear agentes de datos y, también, interactuar con ellos. Estos agentes usan lenguaje natural para responder preguntas sobre tus datos estructurados. En este documento, se describen la arquitectura del agente, los flujos de trabajo típicos, los modos de conversación, las funciones de Identity and Access Management (IAM) y el diseño de sistemas multiagente.

Cómo funcionan los agentes de datos

Los agentes de datos de la API de Conversational Analytics usan contexto (información y datos empresariales) que tú proporcionas, y herramientas (como SQL y Python) para interpretar preguntas en lenguaje natural y generar respuestas a partir de tus datos estructurados.

En el siguiente diagrama, se ilustran las etapas del flujo de trabajo de un agente cuando un usuario hace una pregunta:

Diagrama de arquitectura de la API de Conversational Analytics, que muestra el flujo desde la entrada del usuario a través de un motor de razonamiento hasta el resultado final.

Como se muestra en el diagrama, cuando un usuario hace una pregunta, el agente procesa la solicitud en las siguientes etapas:

  1. Entrada: El usuario envía una pregunta en lenguaje natural, junto con cualquier contexto adicional que hayas proporcionado anteriormente.
  2. Fuentes de datos: El agente se conecta a tus datos en Looker, BigQuery y Looker Studio para obtener capacidades de chat. También puede consultar datos de las bases de datos de AlloyDB, GoogleSQL para Spanner, Cloud SQL para MySQL y Cloud SQL para PostgreSQL con el método QueryData.
  3. Motor de razonamiento: El núcleo del agente procesa la pregunta del usuario con las herramientas disponibles para generar una respuesta.
  4. Salida: El agente muestra un flujo de mensajes, que puede contener texto, datos o gráficos. Para algunas fuentes de datos, los mensajes de texto proporcionan estadísticas paso a paso sobre el razonamiento del agente, informan el progreso de una acción o proporcionan la respuesta final a tu consulta.

Workflows para diseñar y usar agentes

La API de Conversational Analytics admite flujos de trabajo para creadores de agentes (que compilan y configuran agentes) y para consumidores de agentes (que interactúan con agentes existentes).

En el siguiente diagrama, se ilustra el proceso de extremo a extremo, desde la configuración inicial por parte de un creador de agentes hasta las interacciones finales con un consumidor de agentes:

Flujo de trabajo de extremo a extremo para el diseño y el uso de agentes, desde las tareas del creador, como la creación y el uso compartido, hasta las tareas del usuario de datos, como la interacción con un agente.

En las siguientes secciones, se describen los flujos de trabajo para creadores de agentes y consumidores de agentes con más detalle.

El flujo de trabajo del creador de agentes

El creador de agentes es responsable de configurar y configurar agentes. Este flujo de trabajo incluye los siguientes pasos:

  1. Crear agente: El creador comienza creando un agente nuevo y proporcionando el contexto necesario, incluidas las instrucciones del sistema y las conexiones a las fuentes de datos. Este paso es fundamental para permitir que el agente comprenda y responda a las preguntas de los usuarios de manera eficaz.
  2. Compartir el agente: Una vez que se configura el agente, el creador lo comparte con otros usuarios y establece los controles de acceso basados en roles adecuados para administrar los permisos.

El flujo de trabajo del consumidor de agentes

El consumidor de agentes suele ser un usuario empresarial que necesita obtener respuestas de un agente configurado. Este flujo de trabajo incluye los siguientes pasos:

  1. Buscar un agente: El usuario comienza buscando un agente que se haya compartido con él.
  2. Hacer una pregunta: El usuario hace una pregunta en lenguaje natural. Esta pregunta puede ser una sola consulta o parte de una conversación de varios turnos.
  3. El agente "piensa": El motor de razonamiento del agente procesa la pregunta. El motor de razonamiento usa el conocimiento predefinido del agente y las herramientas disponibles del agente (como SQL, Python y gráficos) en un "bucle de razonamiento" para determinar la mejor manera de responder la pregunta.
  4. El agente responde: El agente muestra un flujo de mensajes, que puede contener texto, datos o gráficos. Para algunas fuentes de datos, los mensajes de texto proporcionan estadísticas paso a paso sobre el razonamiento del agente, informan el progreso de una acción o proporcionan la respuesta final a tu consulta.

Modos de conversación

Los agentes de la API de Conversational Analytics admiten diferentes modos de conversación que determinan cómo un agente controla el historial de conversaciones y la persistencia del contexto en todas las interacciones. Los siguientes modos de conversación están disponibles:

  • Modo sin estado: El agente no almacena el historial de conversaciones. Cada interacción se trata de forma independiente. Este modo es útil para aplicaciones en las que no necesitas mantener el contexto en varios turnos.
  • Modo con estado: El agente conserva el contexto y el historial de conversaciones, lo que permite interacciones más contextualizadas. Este modo es útil para aplicaciones en las que necesitas mantener el contexto en varios turnos. Se recomienda usar el modo con estado para obtener una mayor precisión y respuestas personalizadas.

Elige un modo de conversación según los requisitos de tu aplicación para el historial de conversaciones y la persistencia del contexto.

Son los diferentes modos de chat para un agente de la API de Conversational Analytics.

Funciones de IAM

Las funciones de IAM controlan quién puede crear, administrar, compartir e interactuar con los agentes de la API de Conversational Analytics. En la siguiente tabla, se describen las funciones clave de IAM para la API de Conversational Analytics:

Rol Alcance habitual Qué permite la función Quién podría usar esta función
Creador de agentes de datos de Gemini Data Analytics (roles/geminidataanalytics.dataAgentCreator) Proyecto Crea agentes y hereda permisos de propietario en el agente. Cualquier analista de datos
Propietario del agente de datos de Gemini Data Analytics (roles/geminidataanalytics.dataAgentOwner) Proyecto, agente Edita, comparte o borra agentes con otros usuarios. Analista de datos sénior
Editor de agentes de datos de Gemini Data Analytics (roles/geminidataanalytics.dataAgentEditor) Agente, proyecto Actualiza la configuración o el contexto de un agente. Analista de datos júnior
Usuario del agente de datos de Gemini Data Analytics (roles/geminidataanalytics.dataAgentUser) Agente, proyecto Chatea con un agente. Comerciante, propietario de la tienda
Visualizador de agentes de datos de Gemini Data Analytics (roles/geminidataanalytics.dataAgentViewer) Proyecto, agente Haz una lista de los agentes y obtén sus detalles. No puedes editar el agente. Cualquier usuario
Usuario de datos de consulta de Gemini Data Analytics (roles/geminidataanalytics.queryDataUser) Proyecto Consulta datos de fuentes de bases de datos compatibles con el método QueryData. Desarrollador de aplicaciones, analista de datos
Usuario de chat sin estado de Gemini Data Analytics (roles/geminidataanalytics.dataAgentStatelessUser) Proyecto Chatea con un agente sin almacenamiento de contexto ni historial de conversaciones. Cualquier usuario

Sistemas con varios agentes

Puedes diseñar sistemas complejos mediante la integración de varios agentes de la API de Conversational Analytics. Un patrón común es usar un agente "orquestador" principal que delega tareas a uno o más agentes especializados que controlan dominios específicos, como datos de ventas o marketing. Este enfoque te permite compilar un sistema que puede controlar una amplia variedad de preguntas combinando las fortalezas de varios agentes.

En el siguiente diagrama, se ilustra este patrón multiagente y se muestra cómo un agente principal puede delegar una pregunta de datos a un agente especializado de Conversational Analytics:

Un agente orquestador principal delega una pregunta sobre datos a un agente de ventas especializado, que luego devuelve una respuesta al usuario.

El flujo de trabajo típico para un sistema multiagente incluye los siguientes pasos:

  1. Un usuario empresarial o un analista de datos hace una pregunta en lenguaje natural, como "Muéstrame las tres tiendas principales por ingresos".
  2. Un agente "orquestador" principal delega la solicitud al agente especializado adecuado.
  3. Un agente especializado recibe la solicitud delegada, se conecta a las fuentes de datos pertinentes, usa sus herramientas para generar las consultas y los gráficos de SQL necesarios y genera una respuesta.
  4. La respuesta del agente especializado se devuelve al usuario, como "Las tiendas 4, 9 y 3 tienen los ingresos más altos. Aquí tienes un gráfico".

¿Qué sigue?

Después de comprender los conceptos básicos de la API de Conversational Analytics, explora cómo implementar estas funciones: