Puedes conectar tus agentes de Kit de desarrollo de agentes (ADK) a Cloud Storage. Esta conexión permite que tus agentes usen conjuntos de herramientas de ADK integrados.
Como desarrollador de IA, puedes integrar ADK con Cloud Storage para conectar tus agentes a los datos almacenados. Esta integración te ayuda a escalar tus cargas de trabajo de agentes. Puedes usar Cloud Storage para conservar el estado, la memoria y los puntos de control de las tareas de larga duración. También puedes usar Cloud Storage para compartir archivos intermedios en un flujo de trabajo de varios agentes.
En este documento, se describen los beneficios de integrar Cloud Storage con ADK. Se abarcan los casos de uso comunes y las capacidades de los conjuntos de herramientas disponibles. Para obtener instrucciones de configuración paso a paso y ejemplos de código, consulta la guía de integración de ADK.
Beneficios de la integración de Cloud Storage con ADK
Cuando integras Cloud Storage con tus agentes, estos pueden controlar archivos grandes, mantener el historial de conversaciones y reutilizar tu infraestructura de almacenamiento existente.
- Expansión de contexto dinámico: Otorga a los agentes acceso a grandes conjuntos de datos, manuales o archivos multimedia sin alcanzar los límites de cuánto puede leer un LLM a la vez.
- Persistencia de artefactos duradera: Almacena archivos temporales, registros o elementos generados (como informes o imágenes) de forma confiable fuera del historial de conversaciones.
- Compatibilidad con cualquier tipo de artefacto: Procesa y genera diferentes formatos, incluidos texto, imágenes, audio y video, con Cloud Storage como almacenamiento compartido.
- Control de acceso detallado: Controla el acceso de los agentes a Cloud Storage con precisión mediante las funciones de IAM. ADK usa la autenticación estándar Cloud de Confiance by S3NS para garantizar que los agentes solo tengan los permisos mínimos necesarios para acceder a los datos o realizar una tarea.
Casos de uso
Si equipas a tus agentes con capacidades de Cloud Storage, puedes abordar los siguientes casos de uso:
- Recuperación de contexto dinámico, también conocida como generación mejorada por recuperación (RAG)
- Persistencia y archivo de artefactos
- Procesamiento de cargas útiles grandes
- Administración de recursos automatizada
Recuperación de contexto dinámico a través de RAG
Los agentes pueden actuar como investigadores descubriendo y leyendo documentos en Cloud Storage para responder preguntas en tiempo real. Este enfoque es útil para las bases de conocimiento internas o los bots de asistencia.
- Búsqueda de políticas: Puedes hacer que un agente cree una lista y lea los manuales en PDF más recientes en un bucket
compliance-docspara responder las consultas de los usuarios sobre la política de la empresa. - Síntesis de varios objetos: Puedes compilar un agente para recuperar y combinar información de varios objetos de almacenamiento para sintetizar un resumen unificado.
Persistencia y archivo de artefactos
Guarda grandes cantidades de datos generados por agentes de forma confiable para la revisión humana, otros sistemas o la auditoría.
- Informes automatizados: Puedes crear un agente que analice las métricas de la base de datos, genere un informe resumido y lo suba a un
reports-archivebucket. - Almacena contenido multimedia generado: Puedes configurar un sistema multiagente para guardar imágenes generadas o objetos de audio en Cloud Storage y mostrar solo el URI de almacenamiento o una URL firmada.
Procesamiento de cargas útiles grandes
Diseña agentes para que usen URIs de almacenamiento (rutas de acceso a archivos) en lugar de pegar el contenido completo del archivo en el chat. Esto evita el alto costo y la ineficiencia de enviar CSV grandes o bases de código al LLM.
- Controladores de canalización de datos: Puedes hacer que tu agente reciba un URI de almacenamiento en lugar de consumir un CSV grande. Luego, el agente puede realizar el análisis procesando fragmentos o inspeccionando metadatos y mostrar un panel de resumen.
- Flujos de trabajo desacoplados: Puedes diseñar un agente para que actúe como supervisor que reciba un URI de almacenamiento para un prefijo, una carpeta o un bucket de Cloud Storage. El agente puede pasar este URI a los trabajadores de backend para procesar los objetos y volver a escribir los resultados finales en el almacenamiento. Este patrón es compatible con servicios basados en eventos, como Cloud Run Functions o Cloud Run, para procesar datos de forma asíncrona.
Administración de recursos automatizada
Los agentes pueden ayudar a optimizar el uso del almacenamiento, automatizar las tareas administrativas y aplicar la gobernanza en varios buckets. Esto es particularmente útil para los equipos que administran una infraestructura de almacenamiento extensa.
- Auditoría de infraestructura: Puedes crear un agente para analizar las configuraciones de bucket (como la ubicación o la clase de almacenamiento) y sugerir optimizaciones o identificar parámetros de configuración que no cumplen con los requisitos.
- Limpieza de recursos: Puedes compilar un agente para identificar buckets vacíos o inactivos y automatizar el proceso de limpieza según tus políticas de retención.
Conjuntos de herramientas de ADK para Cloud Storage
ADK proporciona los siguientes conjuntos de herramientas en Python para Cloud Storage. Comprender ambos te ayuda a definir las funciones de los agentes y restringir sus permisos.
GCSToolset para la administración de datos
El conjunto de herramientas GCSToolset permite que tu agente manipule archivos dentro de los buckets existentes. Úsalo para tareas como leer documentos, subir resultados o borrar objetos temporales.
- Leer objetos: Recupera contenido directamente con
get_object_data. - Descubrir contenido: Crea una lista de los objetos disponibles con
list_objects. - Inspeccionar las propiedades del objeto: Verifica el tamaño del objeto o los metadatos
Content-Typeconget_object_metadata. - Subir y conservar: Crea objetos nuevos con
create_object. - Quitar objetos: Quita objetos temporales con
delete_objects.
GCSAdminToolset para la infraestructura
Usa el conjunto de herramientas GCSAdminToolset para administrar la infraestructura de almacenamiento, como crear buckets o automatizar tareas administrativas.
- Descubrir infraestructura: Crea una lista de buckets en un proyecto con
list_buckets. - Aprovisionar almacenamiento: Crea buckets nuevos con
create_bucket. - Volver a configurar el almacenamiento: Modifica las configuraciones con
update_bucket. - Anular el aprovisionamiento del almacenamiento: Quita buckets con
delete_bucket. - Inspeccionar el contexto del bucket: Obtén metadatos del bucket con
get_bucketpara verificar la ubicación del bucket, la clase de almacenamiento o los controles de acceso.
Prácticas recomendadas
Para optimizar el rendimiento y la seguridad de los agentes cuando se integran con Cloud Storage, considera las siguientes prácticas recomendadas:
- Desacopla las cargas útiles grandes del historial de conversaciones: Evita pasar archivos grandes directamente al agente. Almacénalos en Cloud Storage y envía referencias de archivos (URIs). Esto reduce los costos de tokens y evita alcanzar los límites de contexto.
- Aplica el principio de privilegio mínimo: Otorga al agente solo los permisos mínimos necesarios para realizar sus tareas. Evita las funciones amplias como
roles/storage.admin, a menos que administres la infraestructura. Para las operaciones de archivos estándar, usa funciones específicas comoroles/storage.objectUseroroles/storage.objectViewerrestringidas a buckets específicos. - Administra las configuraciones de forma centralizada: Evita codificar de forma rígida los nombres de bucket o las rutas de acceso a los nombres de los objetos en la lógica del agente. Usa variables de entorno o administradores de configuración para cambiar entre los entornos de almacenamiento de desarrollo, prueba y producción.
- Implementa estrategias de recuperación eficientes: Cuando uses Cloud Storage como una capa para la recuperación de conocimiento, no cargues documentos grandes completos en el contexto del agente. Realiza el procesamiento previo y fragmenta los documentos, o usa herramientas de búsqueda dedicadas para recuperar solo los segmentos pertinentes.
Limitaciones
Cuando integres Cloud Storage con ADK, ten en cuenta las siguientes limitaciones:
- Objetos inmutables: Los objetos de Cloud Storage son inmutables. No puedes agregar datos a un objeto existente. Si tu agente necesita registrar eventos de forma continua en un solo archivo, debe reemplazar el objeto por completo o crear varios objetos pequeños y componerlos más adelante.
- Latencia en la administración de estados de alta frecuencia: Cloud Storage es adecuado para el almacenamiento de artefactos duraderos y cargas útiles grandes. Sin embargo, usar Cloud Storage para actualizaciones de estado de alta frecuencia y baja latencia puede introducir latencia. Por ejemplo, hacer un seguimiento de cada turno en un intercambio de conversación rápido puede ser más lento que usar cachés o bases de datos en la memoria.
- Falta de atomicidad de varios objetos: Las operaciones de Cloud Storage se aplican a objetos individuales. Si tu agente requiere actualizaciones atómicas en varios archivos de forma simultánea, debes implementar la lógica de coordinación dentro de tu aplicación.
¿Qué sigue?
Para ver ejemplos de código detallados, instrucciones de configuración y referencias de parámetros para inicializar los conjuntos de herramientas de Cloud Storage en tu aplicación de Python, consulta la guía de integración de ADK.