Héberger des applications et des agents d'IA sur Cloud Run

Cette page présente quelques cas d'utilisation de Cloud Run en tant que plate-forme d'hébergement pour les cas d'utilisation de l'IA suivants :

Héberger des applications d'IA sur Cloud Run

Les applications d'IA utilisent des modèles d'IA pour fonctionner ou effectuer une tâche spécifique. Par exemple, une application d'IA peut utiliser un modèle d'IA pour résumer des documents ou être une interface de chat qui utilise une base de données vectorielle pour récupérer plus de contexte.

Cloud Run est l'une des infrastructures d'hébergement d'applications qui fournit un environnement entièrement géré pour vos charges de travail d'applications d'IA. Cloud Run s'intègre aux modèles d'IA tels que l'API Gemini, les points de terminaison Vertex AI ou les modèles hébergés sur un service Cloud Run compatible avec les GPU. Cloud Run s'intègre également à Cloud SQL pour PostgreSQL et AlloyDB pour PostgreSQL, deux bases de données proposant l'extension pgvector pour la génération augmentée par récupération (RAG).

Héberger des agents d'IA sur Cloud Run

Les agents d'IA combinent l'intelligence de modèles d'IA avancés et l'accès à des outils, afin d'effectuer des actions au nom de l'utilisateur et sous son contrôle.

Vous pouvez implémenter des agents d'IA en tant que services Cloud Run pour orchestrer un ensemble de tâches asynchrones et fournir des informations aux utilisateurs, en impliquant plusieurs interactions de demande-réponse.

Architecture d'un agent d'IA sur Cloud Run

Une architecture d'agent d'IA typique déployée sur Cloud Run peut impliquer plusieurs composants provenant de Google Cloud et en dehors de Google Cloud :

Architecture d'un agent d'IA sur Cloud Run

  1. Diffusion et orchestration : un service Cloud Run sert de point de terminaison d'API évolutif et peut gérer plusieurs utilisateurs simultanés grâce à un scaling automatique, à la demande et rapide des instances. Ce service exécute la logique de l'agent principal, souvent à l'aide d'un framework d'orchestration d'IA tel que LangGraph ou Agent Development Kit (ADK). Cette couche coordonne les appels aux autres composants. Cloud Run est compatible avec le streaming des réponses HTTP à l'utilisateur à l'aide de WebSockets. L'identité de service intégrée à Cloud Run fournit des identifiants sécurisés et automatiques pour appeler les API Google Cloud sans gérer les clés API.

  2. Modèles d'IA : la couche d'orchestration appelle des modèles pour les capacités de raisonnement. Il peut s'agir de :

  3. Mémoire : les agents ont souvent besoin de mémoire pour conserver le contexte et tirer des enseignements des interactions passées.

    • La mémoire à court terme peut être implémentée en connectant Cloud Run à Memorystore pour Redis.
    • La mémoire à long terme permettant de stocker l'historique des conversations ou de se souvenir des préférences de l'utilisateur peut être implémentée en connectant Cloud Run à Firestore, une base de données NoSQL évolutive et sans serveur.
  4. Bases de données et récupération : pour la génération augmentée par récupération (RAG) ou la récupération de données structurées :

    • Interrogez des informations spécifiques sur les entités ou effectuez des recherches par similarité sur les embeddings en connectant Cloud Run à des bases de données vectorielles telles que Cloud SQL pour PostgreSQL ou AlloyDB pour PostgreSQL avec l'extension pgvector.
  5. Outils : l'orchestrateur utilise des outils pour effectuer des tâches spécifiques pour lesquelles les modèles ne sont pas adaptés ou pour interagir avec des services, des API ou des sites Web externes. Cela peut inclure :

    • Utilitaires de base : les calculs mathématiques précis, les conversions d'heure ou d'autres utilitaires similaires peuvent s'exécuter dans le service Cloud Run d'orchestration.
    • Appels d'API : effectuez des appels vers d'autres API internes ou tierces (accès en lecture ou en écriture).
    • Génération d'images ou de graphiques : utilisez des modèles de génération d'images ou exécutez des bibliothèques de graphiques pour créer du contenu visuel rapidement et efficacement.
    • 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. Le service Cloud Run renvoie les pixels des écrans. Utilisez des bibliothèques comme Puppeteer pour contrôler le navigateur.
    • Exécution du code : Cloud Run fournit un environnement sécurisé avec un bac à sable multicouche et peut être configuré pour le service d'exécution du code avec des autorisations IAM minimales ou nulles. Une tâche Cloud Run peut être utilisée pour exécuter du code de manière asynchrone, et un service Cloud Run avec une concurrence de 1 peut être utilisé pour l'exécution synchrone.

Étapes suivantes