Développer et déployer des agents sur Vertex AI Agent Engine avec Agent Development Kit
Cette page explique comment créer et déployer un agent dans l'environnement d'exécution Vertex AI Agent Engine à l'aide de Agent Development Kit (ADK). Ce guide de démarrage rapide vous explique les étapes suivantes :
configurer votre Google Cloud projet ;
installer le SDK Vertex AI pour Python et ADK ;
développer un agent de change ;
déployer l'agent dans l'environnement d'exécution Vertex AI Agent Engine ;
tester l'agent déployé.
Vous pouvez également utiliser les guides de démarrage rapide alternatifs suivants pour ADK :
Guide de démarrage rapide ADK: il s'exécute entièrement sur votre machine et suppose que vous utilisez un IDE local et un accès au terminal.
Pack de démarrage d'agent : ensemble de modèles d'agents d'IA générative prêts à l'emploi conçus pour Vertex AI Agent Engine.
Pour le guide de démarrage rapide utilisant des frameworks compatibles autres qu'Agent Development Kit, consultez Développer et déployer des agents sur Vertex AI Agent Engine.
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Pour obtenir les autorisations nécessaires à l'utilisation de Vertex AI Agent Engine, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
-
Utilisateur Vertex AI (
roles/aiplatform.user) -
Administrateur de l'espace de stockage (
roles/storage.admin)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Installer et initialiser le SDK Vertex AI pour Python
Exécutez la commande suivante pour installer le SDK Vertex AI pour Python et d'autres packages requis :
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,adk]>=1.112S'authentifier en tant qu'utilisateur
Interface système locale
Exécutez la commande suivante :
gcloud auth application-default loginColab
Exécutez le code suivant :
from google.colab import auth auth.authenticate_user(project_id="PROJECT_ID")Cloud Shell
Aucune action n'est requise.
Exécutez le code suivant pour importer Vertex AI Agent Engine et initialiser le SDK :
Projet Google Cloud
import vertexai client = vertexai.Client( project="PROJECT_ID", # Your project ID. location="LOCATION", # Your cloud region. )Où :
PROJECT_IDcorrespond à l' Google Cloud ID du projet dans lequel vous développez et déployez des agents.LOCATIONcorrespond à l'une des régions compatibles.
Développer un agent
Développez un outil de change pour votre agent :
def get_exchange_rate( currency_from: str = "USD", currency_to: str = "EUR", currency_date: str = "latest", ): """Retrieves the exchange rate between two currencies on a specified date.""" import requests response = requests.get( f"https://api.frankfurter.app/{currency_date}", params={"from": currency_from, "to": currency_to}, ) return response.json()Instanciez un agent :
from google.adk.agents import Agent from vertexai import agent_engines agent = Agent( model="gemini-2.0-flash", name='currency_exchange_agent', tools=[get_exchange_rate], ) app = agent_engines.AdkApp(agent=agent)Testez l'agent localement :
async for event in app.async_stream_query( user_id="USER_ID", message="What is the exchange rate from US dollars to SEK today?", ): print(event)où USER_ID est un ID défini par l'utilisateur dont la limite de caractères est de 128.
Déployer un agent
Déployez l'agent en créant une ressource reasoningEngine dans Vertex AI :
remote_agent = client.agent_engines.create(
agent=app,
config={
"requirements": ["google-cloud-aiplatform[agent_engines,adk]"],
"staging_bucket": "STAGING_BUCKET",
}
)
où STAGING_BUCKET est un bucket Cloud Storage préfixé par gs://.
Utiliser un agent
Testez l'agent déployé en envoyant une requête :
async for event in remote_agent.async_stream_query(
user_id="USER_ID",
message="What is the exchange rate from US dollars to SEK today?",
):
print(event)
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, procédez comme suit :
remote_agent.delete(force=True)