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 :

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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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 :

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

  1. 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.112
  2. S'authentifier en tant qu'utilisateur

    Interface système locale

    Exécutez la commande suivante :

    gcloud auth application-default login

    Colab

    Exécutez le code suivant :

    from google.colab import auth
    
    auth.authenticate_user(project_id="PROJECT_ID")
    

    Cloud Shell

    Aucune action n'est requise.

  3. 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ù :

Développer un agent

  1. 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()
    
  2. 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)
    
  3. 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)
    

    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",
    }
)

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)

Étape suivante