8 min read
Posted also on
Déployer son agent sur Google Vertex AI Agent Engine

Google Cloud a récemment introduit Vertex AI Agent Engine, une plateforme intégrée à l’écosystème Vertex AI conçue pour centraliser et déployer des agents à grande échelle dans unun environnement cloud sécurisé et scalable.

Dans cet article, nous allons voir les avantages de Vertex AI Agent Engine et les différentes façons de déployer un agent dessus : l’approche native avec ADK (Agent Development Kit) et l’approche flexible via le SDK Vertex AI pour les agents conçus avec des frameworks comme LangChain, LangGraph ou CrewAI.

A travers cet article, nous allons comprendre comment passer d’un agent local à un agent opérationnel dans le cloud, prêt à interagir avec vos données et vos utilisateurs.

❓Comprendre Vertex AI Agent Engine et ses avantages

Vertex AI Agent Engine est un service de Google Cloud conçu pour simplifier le déploiement et l’orchestration d’agents IA. L’idée derrière Agent Engine est simple : proposer une infrastructure centralisée pour gérer des agents, qu’ils soient conversationnels, analytiques ou autonomes.

Interaction avec Vertex AI Agent Engine

💡 Les principaux avantages de Vertex AI Agent Engine

➡️ Gestion des mémoires et des sessions

Gestion des mémoires et des sessions

Vertex AI Agent Engine intègre nativement la gestion des sessions et des mémoires conversationnelles. Cela permet à un agent de :

  • garder le contexte entre plusieurs interactions d’un même utilisateur,
  • s’appuyer sur l’historique d’échanges,
  • enrichir sa compréhension du contexte au fil du temps.

➡️ Support multi-frameworks

Ecosystème Vertex AI Agent Engine

Vertex AI Agent Engine ne se limite pas à un framework. Il prend en charge plusieurs frameworks d’agents (ADK, LangChain, LlamaIndex, frameworks maison, etc.), ce qui permet de l’adapter à différents contextes.

➡️ Intégration native à Google Cloud

Les agents peuvent facilement se connecter à d’autres services. Grâce aux Tools comme Google Cloud, MCP (Model Context Protocol), A2A (Agent2Agent) ou encore des “custom tools”, ils peuvent interagir avec des API, des bases de données ou des applications métiers.

➡️ Auto-scaling

Agent Engine gère automatiquement le scaling et le déploiement des agents. Le compute s’ajuste automatiquement selon la demande.

➡️ Sécurité et gouvernance

Chaque agent hérite d’une identité sécurisée. Vous pouvez ainsi définir des permissions précises pour les accès aux données ou aux APIs.

➡️ Monitoring

Chaque exécution d’agent est monitorée : logs détaillés, métriques, et suivi des appels aux modèles. Cela facilite le debug, l’optimisation et l’analyse de performances.

🚀 Déployer son agent avec le framework ADK (Agent Development Kit)

Le framework ADK (Agent Development Kit) est le framework proposé par Google pour construire des agents et disponible actuellement en Python et en Java. Il offre une structure claire pour le développement, le test et le déploiement d’agents, tout en s’intégrant nativement avec les services Vertex AI.

Le premier déploiement peut s’effectuer en quelques minutes.

Pré-requis :

  • La CLI Google Cloud (gcloud)

1. Installation et initialisation du projet

Création d’un environnement virtuel Python (ici à l’aide de uv):

mkdir deploy-with-adk && cd deploy-with-adk
uv venv --python 3.12
source .venv/bin/activate

Initialisation d’un projet d’agent avec ADK :

uv pip install google-adk
adk create personal_assistant

L’arborescence du projet est automatiquement créée :

└── deploy-with-adk
    └── personal_assistant
        ├── __init__.py
        ├── .env
        └── agent.py

2. Création d’un agent

Dans mon fichier agent.py, j’ai créé, pour cet article, un agent tout simple capable de répondre à mes questions tout en se basant sur un datastore dans VertexAI Search contenant différents documents personnels.

from google.adk.agents.llm_agent import Agent
from google.adk.tools import VertexAiSearchTool

root_agent = Agent(
    model='gemini-2.5-flash',
    name='root_agent',
    instruction="Answer questions using Vertex AI Search to find information from internal documents. Always cite sources when available.",
    description="Enterprise document search assistant with Vertex AI Search capabilities",
    tools=[VertexAiSearchTool(data_store_id=DATASTORE_ID)]
)

3. Déploiement

adk deploy agent_engine \
    --project=${PROJECT_ID} \
    --region=${PROJECT_REGION} \
    --staging_bucket=gs://${BUCKET_NAME} \
    --display_name="Personal Assistant" \
    personal_assistant

Cette commande :

  • construit une image container de votre agent,
  • la déploie sur Vertex AI Agent Engine,
  • et génère un endpoint accessible via API ou depuis d’autres agents.

Une fois déployé, votre agent peut être intégré dans des workflows plus complexes.

Dashboard Vertex AI Agent Engine

🚀 Déployer un agent avec un autre framework grâce au SDK Vertex AI

Si ADK intègre simplement le déploiement, Agent Engine est aussi compatible avec de nombreux autres frameworks d’agents IA comme LangChain, LlamaIndex ou CrewAI via la SDK de Vertex AI.

Cette approche permet d’intégrer un agent existant (déjà conçu avec LangChain par exemple) dans l’écosystème Vertex AI pour le monitorer, le scaler et le connecter à d’autres services Google Cloud.

1. Installation et initialisation du projet

Commençons par initialiser Vertex AI avec le projet, la région, et un “staging bucket” (nécessaire pour le packaging de l’agent).

mkdir deploy-with-vertex && cd deploy-with-vertex && touch agent.py

uv venv --python 3.12
source .venv/bin/activate

uv pip install google-cloud-aiplatform[agent_engines,langchain]

2. Création d’un agent

Dans le fichier agent.py, nous allons repartir du même cas d’usage que l’agent précédent, mais cette fois en utilisant LangChain.

Cet agent sera capable de répondre à des questions en interrogeant un datastore Vertex AI Search contenant différents documents personnels.

from vertexai import init, agent_engines
from langchain_retrievers.google_vertex_ai_search import VertexAISearchRetriever
from langchain.tools import Tool

# Init Vertex AI
init(
    project=${PROJECT_ID},
    location=${PROJECT_REGION},
    staging_bucket="gs://${STAGING_BUCKET}",
)

# Create retriever
retriever = VertexAISearchRetriever(data_store_id=${DATASTORE_ID})

# Define search tool
search_tool = Tool(
    name="vertex_search",
    func=lambda query: retriever.get_relevant_documents(query),
    description="Searches your private document store via Vertex AI Search."
)

# System prompt
system_prompt = """
You're an intelligent assistant that can answer questions using internal document search. Use the search tool when necessary.
"""

# Create Langchain Agent
agent = agent_engines.LangchainAgent(
    model="gemini-2.5-flash",
    system_instruction=system_prompt,
    tools=[search_tool],
    model_kwargs={
        "temperature": 0.3,
        "top_p": 0.9,
        "max_output_tokens": 1000,
    },
)

3. Intégration de l’agent dans Vertex AI

La ligne clé suivante permet d’envelopper l’agent LangChain dans une classe compatible avec Vertex AI Agent Engine. C’est cette abstraction qui rend possible son déploiement dans l’infrastructure Vertex AI.

agent = agent_engines.LangchainAgent(...)

Vertex AI fournit également d’autres classes pour intégrer différents frameworks comme par exemple :

  • agent_engines.LlamaIndexAgent pour LlamaIndex,

  • agent_engines.CrewAIAgent pour CrewAI.

4. Déploiement

J’ajoute ensuite la méthode ci-dessous pour le déploiement. Plusieurs options sont disponibles pour configurer le déploiement et notamment le paramètre “requirements” pour définir les packages nécessaires à l’agent.

remote_agent = agent_engines.create(
    agent_engine=agent,
    requirements=[
        "google-cloud-aiplatform[agent_engines,langchain]",
        "langchain_community",
    ],
)

print(f"✅ Agent deployed with success.")

Ce code va :

  • “sérialiser” l’agent
  • envoyer le code vers le staging bucket,
  • déployer l’agent sur Vertex AI Agent Engine

Il ne me reste plus qu’à exécuter mon fichier et l’agent sera déployé en quelques minutes

uv run index.py

💬 Interagir avec l’agent déployé

Une fois l’agent déployé sur Vertex AI Agent Engine, il est possible de l’interroger directement depuis le code Python à l’aide du SDK Vertex AI, quelle que soit la méthode de déploiement (ADK ou via le SDK VertexAI).

Les agents déployés via ADK ou via le SDK Vertex AI sont compatibles avec la même API.

Voici un exemple minimaliste d’interaction :

from vertexai import agent_engines

# Get the deployed agent engine
agent_engine = agent_engines.get(${RESOURCE_ID})

# Send a request to the agent
response = agent_engine.query(
    input="Who won the FIFA World Cup in 2018?"
)

# Display the text response
print(response.output_text)

💡 En résumé

Dans cet article, nous avons vu deux manières de déployer un agent sur Vertex AI Agent Engine : le framework ADK, idéal pour un déploiement rapide et standardisé, et le SDK Vertex AI, plus flexible pour intégrer des frameworks comme LangChain et des outils personnalisés.

L’exemple présenté reste volontairement simple, mais il est possible d’aller beaucoup plus loin:

  • configurer le service account associé à chaque agent,
  • ajuster les paramètres d’exécution, ou activer le monitoring.

Pour approfondir le sujet :