Vous pouvez connecter vos agents Agent Development Kit (ADK) à Cloud Storage. Cette connexion permet à vos agents d'utiliser des ensembles d'outils ADK intégrés.
En tant que développeur d'IA, vous pouvez intégrer ADK à Cloud Storage pour connecter vos agents à vos données stockées. Cette intégration vous aide à mettre à l'échelle vos charges de travail agentiques. Vous pouvez utiliser Cloud Storage pour conserver l'état, la mémoire et les points de contrôle des tâches de longue durée. Vous pouvez également utiliser Cloud Storage pour partager des fichiers intermédiaires dans un workflow multi-agent.
Ce document décrit les avantages de l'intégration de Cloud Storage à ADK. Il couvre les cas d'utilisation courants et les fonctionnalités des ensembles d'outils disponibles. Pour obtenir des instructions de configuration détaillées et des exemples de code, consultez le guide d'intégration ADK.
Avantages de l'intégration de Cloud Storage à ADK
Lorsque vous intégrez Cloud Storage à vos agents, ils peuvent gérer des fichiers volumineux, conserver l'historique des conversations et réutiliser votre infrastructure de stockage existante.
- Expansion dynamique du contexte : permettez aux agents d'accéder à de grands ensembles de données, à des manuels ou à des fichiers multimédias sans dépasser les limites de lecture simultanée d'un LLM.
- Persistance durable des artefacts : stockez de manière fiable les fichiers temporaires, les journaux ou les éléments générés (tels que des rapports ou des images) en dehors de l'historique des conversations.
- Compatibilité avec tous les types d'artefacts : traitez et générez différents formats, y compris du texte, des images, de l'audio et de la vidéo, à l'aide de Cloud Storage comme stockage partagé.
- Contrôle d'accès précis : contrôlez précisément l'accès des agents à Cloud Storage à l'aide des rôles IAM. ADK utilise l'authentification standard Cloud de Confiance by S3NS pour s'assurer que les agents ne disposent que des autorisations minimales nécessaires pour accéder aux données ou effectuer une tâche.
Cas d'utilisation
En dotant vos agents de fonctionnalités Cloud Storage, vous pouvez répondre aux cas d'utilisation suivants :
- Récupération dynamique du contexte, également appelée génération augmentée par récupération (RAG)
- Persistance et archivage des artefacts
- Traitement des charges utiles volumineuses
- Gestion automatisée des ressources
Récupération dynamique du contexte via RAG
Les agents peuvent agir en tant que chercheurs en découvrant et en lisant des documents dans Cloud Storage pour répondre aux questions en temps réel. Cette approche est utile pour les bases de connaissances internes ou les bots d'assistance.
- Recherche de règles : vous pouvez demander à un agent de lister et de lire les derniers manuels PDF dans un bucket
compliance-docspour répondre aux requêtes des utilisateurs concernant le règlement de l'entreprise. - Synthèse multi-objets : vous pouvez créer un agent pour récupérer et combiner des informations provenant de plusieurs objets de stockage afin de synthétiser un résumé unifié.
Persistance et archivage des artefacts
Enregistrez de manière fiable de grandes quantités de données générées par l'agent pour une vérification humaine, d'autres systèmes ou un audit.
- Création de rapports automatisée : vous pouvez créer un agent qui analyse les métriques de la base de données, génère un rapport récapitulatif et l'importe dans un bucket
reports-archive. - Stockage des contenus multimédias générés : vous pouvez configurer un système multi-agent pour enregistrer les images ou les objets audio générés dans Cloud Storage et ne renvoyer que l'URI de stockage ou une URL signée.
Traitement des charges utiles volumineuses
Concevez des agents pour qu'ils utilisent des URI de stockage (chemins d'accès aux fichiers) au lieu de coller le contenu complet des fichiers dans le chat. Cela évite le coût élevé et l'inefficacité de l'envoi de fichiers CSV ou de bases de code volumineux au LLM.
- Gestionnaires de pipelines de données : vous pouvez demander à votre agent de recevoir un URI de stockage au lieu de consommer un fichier CSV volumineux. L'agent peut ensuite effectuer une analyse en traitant des blocs ou en inspectant les métadonnées, puis renvoyer un tableau de bord récapitulatif.
- Workflows découplés : vous pouvez concevoir un agent qui agit en tant que superviseur et reçoit un URI de stockage pour un préfixe, un dossier ou un bucket Cloud Storage. L'agent peut transmettre cet URI aux nœuds de calcul backend pour traiter les objets et écrire les résultats finaux dans l'espace de stockage. Ce modèle est compatible avec les services basés sur les événements tels que Cloud Run Functions ou Cloud Run pour traiter les données de manière asynchrone.
Gestion automatisée des ressources
Les agents peuvent vous aider à optimiser l'utilisation de l'espace de stockage, à automatiser les tâches administratives et à appliquer la gouvernance sur plusieurs buckets. Cela est particulièrement utile pour les équipes qui gèrent une infrastructure de stockage étendue.
- Audit de l'infrastructure : vous pouvez créer un agent pour analyser les configurations de bucket (telles que l'emplacement ou la classe de stockage) et suggérer des optimisations ou identifier les paramètres non conformes.
- Nettoyage des ressources : vous pouvez créer un agent pour identifier les buckets vides ou obsolètes et automatiser le processus de nettoyage en fonction de vos règles de conservation.
Ensembles d'outils ADK pour Cloud Storage
ADK fournit les ensembles d'outils suivants en Python pour Cloud Storage. Comprendre les deux vous aide à définir les rôles des agents et à limiter leurs autorisations.
GCSToolset pour la gestion des données
L'ensemble d'outils GCSToolset permet à votre agent de manipuler des fichiers dans des buckets existants. Utilisez-le pour des tâches telles que la lecture de documents, l'importation de résultats ou la suppression d'objets temporaires.
- Lire des objets : récupérez le contenu directement à l'aide de
get_object_data. - Découvrir du contenu : listez les objets disponibles à l'aide de
list_objects. - Inspecter les propriétés des objets : vérifiez la taille des objets ou les métadonnées
Content-Typeà l’aide deget_object_metadata. - Importer et conserver : créez des objets à l'aide de
create_object. - Supprimer des objets : supprimez les objets temporaires à l'aide de
delete_objects.
GCSAdminToolset pour l'infrastructure
Utilisez l'ensemble d'outils GCSAdminToolset pour gérer l'infrastructure de stockage, par exemple en créant des buckets ou en automatisant des tâches administratives.
- Découvrir l'infrastructure : listez les buckets d'un projet à l'aide de
list_buckets. - Provisionner le stockage : créez des buckets à l'aide de
create_bucket. - Reconfigurer le stockage : modifiez les configurations à l’aide de
update_bucket. - Déprovisionner le stockage : supprimez les buckets à l'aide de
delete_bucket. - Inspecter le contexte du bucket : obtenez les métadonnées du bucket à l’aide de
get_bucketpour vérifier l’emplacement du bucket, la classe de stockage ou les contrôles d’accès.
Bonnes pratiques
Pour optimiser les performances et la sécurité des agents lors de l'intégration à Cloud Storage, tenez compte des bonnes pratiques suivantes :
- Dissociez les charges utiles volumineuses de l'historique des conversations : évitez de transmettre directement des fichiers volumineux à l'agent. Stockez-les dans Cloud Storage et envoyez plutôt des références de fichiers (URI). Cela réduit les coûts liés aux jetons et évite de dépasser les limites de contexte.
- Appliquez le principe du moindre privilège : n'accordez à l'agent que les autorisations minimales nécessaires pour effectuer ses tâches. Évitez les rôles généraux tels que
roles/storage.admin, sauf si vous gérez l'infrastructure. Pour les opérations de fichier standard, utilisez des rôles ciblés tels queroles/storage.objectUserouroles/storage.objectViewerlimités à des buckets spécifiques. - Gérez les configurations de manière centralisée : évitez de coder en dur les noms de buckets ou les chemins d'accès aux noms d'objets dans la logique de votre agent. Utilisez des variables d'environnement ou des gestionnaires de configuration pour basculer entre les environnements de stockage de développement, de test et de production.
- Mettez en œuvre des stratégies de récupération efficaces : lorsque vous utilisez Cloud Storage comme couche pour la récupération des connaissances, ne chargez pas l'intégralité des documents volumineux dans le contexte de l'agent. Prétraitez et segmentez les documents, ou utilisez des outils de recherche dédiés pour ne récupérer que les segments pertinents.
Limites
Lorsque vous intégrez Cloud Storage à ADK, gardez à l'esprit les limites suivantes :
- Objets immuables : les objets Cloud Storage sont immuables. Vous ne pouvez pas ajouter de données à un objet existant. Si votre agent doit enregistrer des événements en continu dans un seul fichier, il doit écraser complètement l'objet ou créer plusieurs petits objets et les composer ultérieurement.
- Latence dans la gestion des états à haute fréquence : Cloud Storage est idéal pour le stockage durable des artefacts et les charges utiles volumineuses. Toutefois, l'utilisation de Cloud Storage pour les mises à jour d'état à haute fréquence et à faible latence peut entraîner une latence. Par exemple, le suivi de chaque tour dans un échange de conversation rapide peut être plus lent que l'utilisation de caches ou de bases de données en mémoire.
- Absence d'atomicité multi-objets : les opérations Cloud Storage s'appliquent à des objets individuels. Si votre agent nécessite des mises à jour atomiques sur plusieurs fichiers simultanément, vous devez implémenter une logique de coordination dans votre application.
Étape suivante
Pour consulter des exemples de code détaillés, des instructions de configuration et des références de paramètres permettant d'initialiser les ensembles d'outils Cloud Storage dans votre application Python, consultez le guide d'intégration ADK.