Ce document fournit une architecture de haut niveau pour un système d'IA multi-agent qui consolide des données multimodales fragmentées dans un graphe de connaissances interrogeable. Le système permet aux utilisateurs d'importer des données, puis d'utiliser le graphe de connaissances pour identifier les problèmes potentiels ou les risques systémiques. L'architecture permet aux agents de naviguer dans des réseaux de données complexes et de maintenir une personnalisation à long terme. Il garantit que les ressources distribuées correspondent aux exigences de recherche avec continuité.
GraphRAG est une approche basée sur des graphes pour la génération augmentée par récupération (RAG). Le RAG permet d'ancrer les réponses générées par l'IA en enrichissant les prompts avec des données contextuellement pertinentes récupérées à l'aide de la recherche vectorielle. GraphRAG combine la recherche vectorielle avec une requête de graphe de connaissances pour récupérer des données contextuelles qui reflètent mieux l'interconnexion des données provenant de diverses sources. Les prompts augmentés à l'aide de GraphRAG peuvent générer des réponses d'IA plus détaillées et pertinentes.
Ce document s'adresse aux architectes, aux développeurs et aux administrateurs qui créent et gèrent des infrastructures et des applications d'IA dans le cloud. Ce document suppose que vous avez des connaissances de base sur les agents et les modèles d'IA. Ce document ne fournit pas de conseils spécifiques pour la conception et le codage d'agents IA.
La section Déploiement de ce document fournit un exemple de code qui montre comment définir un schéma Spanner Graph et associer des entités multimodales pour la récupération agentique.
Architecture
Voici une vue d'ensemble de l'architecture d'un système d'IA multi-agent qui permet l'orchestration des ressources GraphRAG multimodales :
L'architecture du diagramme précédent comporte deux workflows : l'ingestion de données et la recherche.
- Le workflow d'ingestion de données consolide les enregistrements multimodaux fragmentés dans le Knowledge Graph unifié. Ce workflow utilise un modèle multi-agent séquentiel pour importer des données brutes dans Cloud Storage, extraire des relations complexes à l'aide de Gemini et mettre à jour le graphe de connaissances Spanner Graph afin de s'assurer que les données sont disponibles pour la récupération.
- Le workflow de recherche vous permet de récupérer des insights et d'ancrer les réponses via un processus GraphRAG. Ce workflow utilise Gemini et des sous-agents spécialisés pour parcourir le Knowledge Graph et consolider les résultats en fonction des données des sessions précédentes.
Les onglets suivants fournissent des diagrammes d'architecture qui illustrent les workflows d'ingestion et de recherche de données :
Workflow d'ingestion de données
Le schéma suivant présente une architecture détaillée pour un workflow d'ingestion de données.
Le schéma précédent montre le flux de données suivant :
- L'utilisateur interagit avec l'application Web pour importer de nouvelles données. Par exemple, un analyste financier peut importer un PDF de résultats, un enregistrement d'une réunion d'actionnaires ou un graphique des performances du marché.
- L'application Web transmet la requête à l'agent racine. L'agent racine est un agent coordinateur qui reçoit les requêtes et est déployé sur un service Cloud Run.
- L'agent racine récupère les données de session persistantes de Memory Bank pour personnaliser les résultats de recherche en fonction des préférences de l'utilisateur lors des sessions précédentes.
- L'agent racine utilise Gemini sur Gemini Enterprise Agent Platform pour interpréter la requête et délègue la tâche à l'agent multimédia pour exécuter le pipeline d'ingestion de données.
- L'agent multimédia lance le modèle séquentiel et transmet l'entrée brute à l'agent d'importation.
- L'agent d'importation effectue les tâches suivantes :
- Stocke le fichier brut dans un bucket Cloud Storage et détecte le type de média.
- Transfère un résumé intermédiaire des actions qu'il a effectuées à l'agent d'extraction.
- L'agent d'extraction effectue les tâches suivantes :
- Récupère l'URI des données à partir du bucket de stockage et utilise Gemini pour analyser les données et identifier les entités structurées. Par exemple, les entités de données financières peuvent inclure des filiales d'entreprise, des trimestres fiscaux et des sentiments sur les revenus.
- Transmet les entités structurées et le résumé intermédiaire des actions qu'il a effectuées à l'agent de graphe.
- L'agent de graphe effectue les tâches suivantes :
- Reçoit les entités structurées et importe les données dans le graphique de connaissances. Spanner Graph crée ou associe des nœuds qui représentent les émetteurs, les parties prenantes et les instruments de marché.
- Transfère un résumé intermédiaire des actions qu'il a effectuées à l'agent de résumé.
- L'agent de résumé produit une réponse contenant un résumé textuel des résultats d'ingestion et des actions effectuées par tous les sous-agents. L'agent de résumé envoie la réponse à l'agent multimédia.
- L'agent multimédia transmet la réponse récapitulative à l'agent racine.
- L'agent racine déclenche une fonction de rappel pour enregistrer les données de session dans les sessions Gemini Enterprise Agent Platform . L'agent racine extrait des sujets de mémoire personnalisés de la session pour enregistrer des informations sur les domaines d'intérêt critiques. Par exemple, un analyste financier peut créer un sujet de mémoire pour suivre les indicateurs réglementaires ou les tendances sectorielles.
- L'agent racine transmet la réponse récapitulative à l'application Web.
- L'application Web transmet la réponse à l'utilisateur.
Workflow de recherche
Le diagramme suivant présente une architecture détaillée pour un workflow de recherche.
Le schéma précédent montre le flux de données suivant :
- Un utilisateur lance une requête de recherche vers l'application Web. Par exemple, un gestionnaire de portefeuille envoie une requête pour détecter tout schéma de transaction circulaire impliquant plus de trois entités, où le volume total dépasse 1 million de dollars sur une période de 24 heures.
- L'application Web transmet la requête à l'agent racine. L'agent racine est un agent coordinateur qui reçoit les requêtes et est déployé sur un service Cloud Run.
- L'agent racine récupère les données de session persistantes de Memory Bank pour personnaliser les résultats de recherche en fonction des préférences et du contexte historiques du gestionnaire de portefeuille.
- L'agent racine utilise Gemini sur Agent Platform pour déterminer la stratégie de recherche optimale :
- Recherche par mot clé : utilise des clauses SQL
LIKEpour trouver des catégories ou des emplacements exacts. - Recherche RAG sémantique : utilise le modèle d'embedding et la distance cosinus pour trouver des entrées de données sémantiquement similaires.
- Recherche hybride : exécute une recherche par mots clés et une recherche RAG sémantique, puis fusionne les résultats à l'aide de la fusion de classement réciproque (RRF) pour garantir une pertinence et une couverture élevées.
- Recherche par mot clé : utilise des clauses SQL
- L'agent racine exécute la stratégie de recherche appropriée sur le graphe de connaissances, qui est stocké dans Spanner Graph, et récupère les résultats de recherche.
- L'agent racine déclenche une fonction de rappel pour enregistrer les données de session dans Agent Platform Sessions. L'agent racine extrait les sujets de mémoire personnalisés de la session. Par exemple, un gestionnaire de portefeuille peut créer un sujet de mémoire pour suivre les indicateurs réglementaires ou les tendances sectorielles émergentes.
- L'agent racine transmet la réponse récapitulative à l'application Web.
- L'application Web transmet la réponse à l'utilisateur.
Produits utilisés
Cette architecture de référence utilise les produits et fonctionnalités Google Cloudsuivants :
- Cloud Run : plate-forme de calcul gérée qui vous permet d'exécuter des conteneurs directement sur l'infrastructure évolutive de Google.
- Gemini : famille de modèles d'IA multimodaux développés par Google.
- Gemini Enterprise Agent Platform : plate-forme complète qui vous permet de créer, de faire évoluer, de gérer et d'optimiser des agents IA de niveau entreprise.
- Cloud Storage : store d'objets économique et sans limite pour tout type de données. Les données sont accessibles depuis et en dehors de Google Cloud, et sont répliquées sur plusieurs emplacements à des fins de redondance.
- Spanner Graph : base de données de graphes qui fournit les fonctionnalités d'évolutivité, de disponibilité et de cohérence de Spanner.
- Sessions Gemini Enterprise Agent Platform : service de stockage persistant qui enregistre et récupère l'historique des interactions entre un utilisateur et des agents.
- Memory Bank : service de stockage persistant qui génère, affine, gère et récupère des informations mémorisées à long terme en fonction des conversations d'un utilisateur avec un agent.
Pour en savoir plus sur la sélection d'autres composants pour votre système d'IA agentique, y compris le framework, l'Agent Runtime, les outils, la mémoire et les modèles de conception, consultez Choisir les composants de votre architecture d'IA agentive.
Cas d'utilisation
L'architecture est conçue pour les cas d'utilisation qui consolident et analysent des données multimodales fragmentées afin d'optimiser l'allocation des ressources et la récupération d'informations. En conservant des sous-agents indépendants, le système permet des mises à jour modulaires et garantit que les ressources distribuées sont adaptées aux exigences de recherche avec une continuité élevée. L'intégration de Spanner Graph en tant que knowledge graph permet au système d'IA agentique de modéliser des données complexes et interconnectées. Cette intégration facilite une compréhension contextuelle riche et des capacités de requête sophistiquées qui peuvent être difficiles ou inefficaces avec des bases de données relationnelles ou NoSQL.
Pour les cas d'utilisation suivants, une base de données de graphes excelle à représenter les connexions arbitraires et évolutives dérivées de données multimodales. Ces connexions nécessiteraient autrement une gestion de schéma complexe et rigide dans une base de données relationnelle.
Voici des exemples de cas d'utilisation de l'architecture décrite dans ce document :
- Mobilité des talents RH en entreprise : améliorez la recherche par mots clés pour les recherches de recrutement à grande échelle en identifiant les candidats internes qualifiés grâce à l'expansion sémantique. L'architecture extrait les compétences techniques et les évaluations des compétences personnelles à partir de portfolios multimodaux et de présentations vidéo pour créer un graphique complet des talents. Le Knowledge Graph Spanner trace les relations entre les employés, les compétences et l'historique des projets. Les résultats de la trace identifient les experts en fonction de la profondeur conceptuelle et signalent les projets en sous-effectif.
- Analyse du contenu des réseaux sociaux : identifiez des souvenirs ou des tendances spécifiques en effectuant une découverte de contenu et une analyse de réseau avancées sur les plates-formes de réseaux sociaux. Le système traite les contenus importés, comme les vidéos, les mémos vocaux et les vlogs, puis extrait les entités, les thèmes, les sentiments et les mentions. Le Knowledge Graph Spanner trace les relations entre les utilisateurs, leurs connexions (amis et abonnés), les posts, les "J'aime", les commentaires, les thèmes partagés et les tendances.
Considérations de conception
Les sections suivantes fournissent des recommandations générales pour concevoir les agents IA et implémenter cette architecture en production.
Les conseils de cette section ne sont pas exhaustifs. Pour en savoir plus sur les facteurs de conception et les bonnes pratiques, et pour obtenir des recommandations sur la création et le déploiement d'un système d'IA multi-agent, consultez Système d'IA multi-agent dans Google Cloud.
Conception d'agents IA
Pour améliorer le coût et les performances de vos agents, tenez compte des recommandations suivantes :
- Conception de systèmes d'agents : décomposez les workflows complexes en plusieurs agents spécialisés ayant des responsabilités bien définies, plutôt qu'en un agent monolithique. Cette séparation des tâches simplifie le prompt engineering, minimise la dérive des instructions et permet un scaling granulaire du modèle. L'architecture achemine les tâches bien définies et à volume élevé vers des modèles plus petits et plus rapides, tout en réservant le raisonnement complexe aux modèles à haute capacité.
- Conception des outils : séparez les outils en plusieurs méthodes ciblées au lieu d'utiliser une seule méthode monolithique. Cette approche garantit la cohérence dans l'ensemble de la codebase, réduit les embranchements logiques et permet des chemins d'optimisation spécifiques, comme l'omission de l'analyse de la requête lorsqu'une méthode de recherche directe est appelée.
- Contexte de l'agent : pour éviter que les agents en aval ne répètent des requêtes sur les données en amont dans un pipeline séquentiel, transmettez un contexte suffisant via l'état de l'agent. Utilisez des structures JSON bien définies pour l'état partagé afin que chaque agent puisse analyser les données de manière fiable.
- Stockage de l'état de session : utilisez l'état de session pour l'historique immédiat des conversations et Memory Bank pour les faits distillés d'une session à l'autre. Injectez le contexte de mémoire au début d'une session afin que l'agent puisse référencer les préférences sans avoir à retraiter de longs historiques de conversation.
- Qualité de la mémoire : permettez aux utilisateurs d'effacer ou de mettre à jour les souvenirs obsolètes si leurs préférences ou leurs rôles changent au fil du temps.
Sécurité, confidentialité et conformité
Pour aider à gérer les risques de sécurité uniques des agents d'IA, Google recommande une approche qui combine des contrôles de sécurité déterministes avec des défenses dynamiques basées sur le raisonnement :
- Supervision humaine : intégrez un flux human-in-the-loop (avec intervention humaine) dans les systèmes critiques pour l'entreprise afin que les superviseurs humains puissent examiner les résultats et approuver, ignorer ou suspendre les actions des agents.
- Agent Identity : attribuez à chaque agent une identité liée à la charge de travail pour appliquer le contrôle des accès basé sur le principe du moindre privilège et gérer de manière centralisée les identifiants des outils externes.
- Agent Gateway : appliquez la gouvernance du trafic entrant et sortant, des règles d'accès de refus par défaut, ainsi que l'inspection intégrée des prompts et des outils avec Model Armor.
Agent Registry : vérifiez que les agents ne se connectent qu'aux sous-agents et aux outils MCP approuvés.
Implémenter un contrôle ultraprécis des accès : utilisez le contrôle ultraprécis des accès pour autoriser l'accès au niveau des tables et des colonnes. Limitez la stratégie du bucket Cloud Storage afin que seul le compte de service Cloud Run y ait accès.
Nettoyer l'inférence et les réponses : utilisez Model Armor pour inspecter et nettoyer les requêtes d'inférence et les réponses du modèle. Cette assainissement réduit les risques d'injection de prompt à partir du contenu multimodal importé par les utilisateurs. Il permet également d'éviter l'exfiltration accidentelle d'informations permettant d'identifier personnellement l'utilisateur ou de données sensibles dans les sorties de l'agent.
Fiabilité
Pour vous assurer que vos configurations d'agent répondent à vos exigences de fiabilité, tenez compte des recommandations suivantes :
- Implémenter une logique de nouvelle tentative pour l'agent : pour gérer les erreurs temporaires telles que les limites de quota, implémentez une logique de nouvelle tentative avec un intervalle exponentiel entre les tentatives pour les appels aux points de terminaison de la plate-forme d'agent et à Spanner.
- Définissez des limites de fichiers : pour éviter les délais d'expiration de l'API dus à des fichiers volumineux, définissez des limites de taille d'importation explicites et séparez les vidéos volumineuses en fragments avant l'extraction des entités de données. Pour en savoir plus, consultez Personnaliser le traitement vidéo.
Efficacité opérationnelle
Pour vous assurer que vos configurations d'agent répondent à vos exigences d'efficacité opérationnelle, tenez compte des recommandations suivantes :
- Utiliser la journalisation structurée : journalisez tous les appels d'outils de l'agent et les résultats du pipeline avec des métadonnées structurées. Les journaux structurés vous permettent d'interroger les journaux et les tableaux de bord dans Cloud Monitoring.
- Implémenter le traçage : pour diagnostiquer les points d'accès de latence, utilisez Cloud Trace pour capturer les traces de requêtes de bout en bout dans l'exécuteur d'agent et l'exécution de l'outil.
- Évaluer la qualité de l'agent : évaluez régulièrement la qualité des résultats de l'agent à l'aide du Gen AI Evaluation Service pour vérifier les trajectoires de sélection des outils et la qualité des réponses.
Optimisation des coûts
Pour vous assurer que les configurations de votre agent répondent à vos exigences de coût, tenez compte des recommandations suivantes :
- Coûts de stockage : pour réduire les coûts de stockage, utilisez la gestion du cycle de vie des objets pour déplacer les fichiers vers les classes de stockage Nearline ou Coldline après une période de conservation définie.
- Analyse et gestion des coûts : pour analyser et gérer les coûts d'Agent Platform, nous vous recommandons de créer des métriques de référence pour les requêtes par seconde (RPS) et les jetons par seconde (TPS). Ensuite, surveillez ces métriques après le déploiement. La référence que vous créez dans le cadre de la gestion des coûts peut vous aider à déterminer la planification de la capacité. Par exemple, la référence vous aide à déterminer quand le débit provisionné peut être nécessaire.
Optimisation des performances
Pour vous assurer que vos configurations d'agent répondent à vos exigences de performances, tenez compte des recommandations suivantes :
- Routage de l'agent racine : pour minimiser la latence et éviter les appels de sous-agents inutiles, définissez clairement la logique de routage dans les instructions de l'agent. Assurez-vous que l'objectif, les paramètres d'entrée et les sorties attendues de chaque outil sont documentés dans des littéraux de chaîne pour aider le modèle à sélectionner l'outil approprié.
- Modèles d'IA dans la base de données : pour réduire la latence, utilisez la fonction Spanner
ML.PREDICTpour appeler des modèles de manière intégrée dans les requêtes SQL. Surveillez l'utilisation des quotas Agent Platform, car les charges de travail de recherche hybride peuvent déclencher plusieurs appels de modèle par requête. - Allocation des ressources : en fonction de vos exigences de performances, configurez les limites de mémoire et les limites de processeur à allouer au service Cloud Run.
Déploiement
Pour déployer un exemple d'implémentation de cette architecture, essayez l'atelier de programmation Way Back Home Level 2.
Étapes suivantes
- Découvrez comment héberger des agents IA sur Cloud Run.
- Découvrez comment créer une infrastructure GraphRAG pour l'IA générative à l'aide d'Agent Platform et de Spanner Graph.
- Découvrez les bonnes pratiques pour concevoir un schéma Spanner Graph.
- Découvrez comment obtenir des embeddings multimodaux.
- Découvrez comment créer un système d'IA multi-agent dans Google Cloud.
- Découvrez des ressources de formation pour créer et déployer des agents de niveau entreprise avec Gemini Enterprise Agent Ready (GEAR).
- Pour obtenir un aperçu des principes et recommandations d'architecture spécifiques aux charges de travail d'IA et de ML dans Google Cloud, consultez la perspective IA et ML dans le Well-Architected Framework.
- Pour découvrir d'autres architectures de référence, schémas et bonnes pratiques, consultez le Centre d'architecture cloud.
Contributeurs
Auteurs :
- Annie Wang | Ingénieure logicielle
- Samantha He | Rédactrice technique
Autres contributeurs :
- Christina Lin | Responsable des ingénieurs relations avec les développeurs
- Kumar Dhanagopal Développeur de solutions multiproduits
- Olivier Bourgeois | Ingénieur relations avec les développeurs