Héberger des agents d'IA sur des ressources Cloud Run

Cette page met en lumière des cas d'utilisation pour l'hébergement d'agents d'IA sur Cloud Run.

Les agents IA sont des entités logicielles autonomes qui utilisent des systèmes basés sur des LLM pour percevoir, décider et agir afin d'atteindre des objectifs. À mesure que des agents plus autonomes sont créés, leur capacité à communiquer et à collaborer devient cruciale.

Pour une présentation des agents IA, consultez Qu'est-ce qu'un agent IA ?.

Choisir une ressource Cloud Run

Selon la conception de votre agent, vous pouvez exécuter votre conteneur d'agent comme suit :types de ressources Cloud Run :

  • Services: Idéal pour les agents sans état, pilotés par les requêtes, qui gèrent un trafic utilisateur variable, bénéficient d'une mise à l'échelle automatique et peuvent être mis à l'échelle à zéro en cas d'inactivité. On peut citer comme exemples les API de chatbot et les backends d'API web.
  • Instances: Idéal pour les boucles d'agents singleton dédiées, avec état et toujours actives, nécessitant des commandes d'état de cycle de vie de type VM. On peut citer comme exemples les agents personnels tels qu'OpenClaw et Hermes.
  • Pools de nœuds de calcul : ils sont idéaux pour exécuter des flottes d'agents distribuées en arrière-plan qui consomment des tâches à partir de files d'attente de messages, telles que Kafka ou Pub/Sub, et qui évoluent horizontalement sans exposer de points de terminaison HTTP publics.
  • Tâches: Idéal pour les flux de travail d'agents d'exécution jusqu'à la fin, tels que les évaluations par lots, les pipelines d'ingestion de données à grande échelle ou les scripts de synchronisation planifiés.

Choisir votre framework d'agent

Avant de déployer votre agent sur Cloud Run, choisissez et configurez votre framework d'agent en local ou sur votre plate-forme de développement. Des exemples de frameworks d'agents incluent Agent Development Kit (ADK), Dify, LangGraph et n8n.

Sur Cloud Run, votre code s'exécute généralement en tant que service ou instance. Ces deux types de ressources exécutent des instances de conteneurs isolées dans le même environnement d'exécution et s'intègrent à Google Cloud services.

Agent d'IA sur architecture Cloud Run

Une architecture d'agent d'IA typique déployée sur Cloud Run peut impliquer plusieurs composants provenant de Google Cloud ainsi que de l'extérieur deGoogle Cloud. L'architecture suivante montre un exemple d'implémentation d'un agent d'IA en tant que service Cloud Run pour orchestrer un ensemble de tâches asynchrones et fournir des informations par le biais de plusieurs interactions de demande-réponse.

Les quatre composants de l'agent d'IA hébergé sur Cloud Run.
Figure 1. Architecture d'un agent d'IA sur Cloud Run.

Le schéma montre les éléments suivants :

  • Plateforme d'hébergement : Un service Cloud Run est un point de terminaison API évolutif pour la logique principale de votre application. Il gère efficacement plusieurs utilisateurs simultanés grâce à une mise à l'échelle automatique, à la demande et rapide des instances. Cloud Run offre les avantages suivants :

    • Prend en charge l'exécution de n'importe quel framework agent pour construire différents types d'agents et d'architectures d'agents.
    • Prise en charge intégrée de Agent Identity. Attribue à votre agent une identité unique et vérifiable par cryptographie pour les appels. Google Cloud API, outils et connexion sécurisée à d'autres agents. Pour en savoir plus, consultez Configurer les fonctionnalités de la plate-forme d'agent.
    • Intégration intégrée avec Agent Registry. Désignez vos services déployés comme agent ou serveur MCP pour la découverte automatique et des mécanismes d'authentification Agent-à-Agent (A2A) robustes. Pour en savoir plus, consultez Configurer les fonctionnalités de la plateforme d'agent.
    • Permet de connecter votre framework d'agent à d'autres services. Vous pouvez connecter votre agent à des outils internes ou tiers déployés sur Cloud Run. Par exemple, pour obtenir de la visibilité sur les tâches et les exécutions de votre agent, vous pouvez déployer et utiliser des outils tels que Langfuse et Arize.
  • Interactions entre agents Cloud Run prend en chargeréponses HTTP en continu retour à l'utilisateur, etWebSockets pour des interactions en temps réel.

  • Modèles GenAI La couche d'orchestration fait appel à des modèles pour obtenir des capacités de raisonnement. Ces modèles peuvent être hébergés sur des services tels que les suivants :

    • API Gemini pour les modèles d'IA générative de Google.
    • Points de terminaison Vertex AI pour les modèles personnalisés ou d'autres modèles de fondation.
    • Service Cloud Run compatible GPU pour vos propres modèles finement réglés.
  • Mémoire : Les agents ont souvent besoin de mémoire pour conserver le contexte et tirer des enseignements des interactions passées. Vous pouvez utiliser les services suivants :

    • Memorystore pour Redis pour la mémoire à court terme.
    • Firestore pour la mémoire à long terme, comme le stockage de l'historique conversationnel ou la mémorisation des préférences de l'utilisateur à partir de données brutes.
    • Memory Bank de Vertex AI Agent Engine pour une mémoire personnalisée à long terme. Cette fonctionnalité extrait automatiquement les informations de l'historique des conversations de l'utilisateur afin de mémoriser et de mettre à jour ses préférences au fil du temps. Notez que vous devez créer au moins une instance Agent Engine pour utiliser cette fonctionnalité avec Cloud Run.
  • Base de données vectorielle : pour la génération augmentée par récupération (RAG) ou l'extraction de données structurées, utilisez une base de données vectorielle pour interroger des informations spécifiques sur les entités ou effectuer une recherche vectorielle sur les embeddings. Utilisez l'extension pgvector avec les services suivants :

  • Outils: L'orchestrateur utilise des outils pour effectuer des tâches spécifiques afin d'interagir avec des services externes, des API ou des sites web. Cela peut inclure :

    • Protocole de contexte de modèle (MCP) : Utilisez ce protocole standardisé pour communiquer avec des outils externes exécutés via un serveur MCP.
    • Utilitaires de base : calculs mathématiques précis, conversions horaires ou autres utilitaires similaires.
    • Appels d'API : Effectuer des appels à d'autres API internes ou tierces (accès en lecture ou en écriture).
    • Génération d'images ou de graphiques : Créez rapidement et efficacement du contenu visuel.
    • Automatisation du navigateur et de l'OS : exécutez un système d'exploitation sans interface graphique ou avec interface graphique complète dans des instances de conteneur pour permettre à l'agent de naviguer sur le Web, d'extraire des informations de sites Web ou d'effectuer des actions à l'aide de clics et de saisies au clavier.
    • Exécution de code : exécutez du code dans un environnement sécurisé avec un bac à sable multicouche, avec des autorisations IAM minimales ou nulles.
    • Exécution du code du moteur d'agent IA Vertex : Exécutez du code dans des environnements sandbox sécurisés, isolés et gérés qui prennent en charge l'entrée et la sortie de fichiers, une exécution de code inférieure à une seconde et une mémoire de longue durée. Notez que vous devez créer au moins une instance Vertex AI Agent Engine pour utiliser cette fonctionnalité dans Cloud Run.

Étapes suivantes