Démarrage rapide pour l'utilisation d'un ordinateur

Cette page explique comment effectuer des appels d'API directs pour créer et utiliser un environnement de bac à sable Computer Use. Dans ce guide de démarrage rapide, vous allez effectuer les tâches suivantes :

  • Créez une instance Agent Platform pour accéder au bac à sable.
  • Créez un bac à sable "Utilisation de l'ordinateur".
  • Générez un jeton d'accès pour le bac à sable.
  • Envoyez une demande pour vérifier l'état.
  • Nettoyez les ressources.

Avant de commencer

Configurez votre projet et votre environnement.

Configurer votre projet

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. 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 Gemini Enterprise Agent Platform API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  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 Gemini Enterprise Agent Platform API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Obtenir les rôles requis

Pour utiliser le bac à sable et générer des jetons, vous devez disposer des rôles suivants :

  • Utilisateur Agent Platform (roles/aiplatform.user) sur le projet.
  • Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator) sur le compte de service utilisé pour la génération de jetons.
  • Le compte de service utilisé pour la génération de jetons doit également disposer du rôle Utilisateur de la plate-forme d'agent (roles/aiplatform.user) dans le projet.

Installer les bibliothèques

Installez le SDK Agent Platform : posix-terminal pip install google-cloud-aiplatform>=1.112.0

Créer une instance Agent Platform

Pour utiliser le bac à sable, commencez par créer une instance Agent Platform.

import vertexai
client = vertexai.Client(
    project='PROJECT_ID',
    location='LOCATION',
    http_options={
        "api_version": "v1beta1",
    }
)
agent_instance = client.agent_engines.create()
agent_instance_name = agent_instance.api_resource.name

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : région de votre instance (par exemple, us-central1).

Créer un modèle pour l'utilisation d'un ordinateur

Créez un modèle de bac à sable que vous utiliserez lorsque vous créerez un bac à sable d'utilisation de l'ordinateur.

# Create a default Computer Use sandbox template
templates_client = client.agent_engines.sandboxes.templates
tmplt_operation = templates_client.create(
    name=agent_instance_name,
    display_name='DISPLAY_NAME',
    config={
        "default_container_environment": {
            "default_container_category": "DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE",
        },
        "egress_control_config": {
            "internet_access": True,
        },
    },
)
template_name = tmplt_operation.response.name
print(f"Created template: {template_name}")

Créer un bac à sable d'utilisation d'un ordinateur

Créez un environnement de bac à sable à partir du modèle.

# Create a sandbox environment referencing the template
create_operation = client.agent_engines.sandboxes.create(
    name=agent_instance_name,
    config={
        "sandbox_environment_template": template_name,
        "display_name": 'DISPLAY_NAME',
    }
)
sandbox = create_operation.response
print(f"Created sandbox environment: {sandbox.name}")

Générer un jeton d'accès

Pour interagir avec le bac à sable, générez un jeton d'accès JSON Web Token (JWT) à l'aide d'un compte de service.

service_account_email = "SERVICE_ACCOUNT_EMAIL"
access_token = client.agent_engines.sandboxes.generate_access_token(
    service_account_email=service_account_email,
)

Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail du compte de service qui dispose du rôle "Créateur de jetons du compte de service".

Envoyer une requête au bac à sable

Envoyez une requête GET au serveur d'API du bac à sable pour vérifier son état.

response = client.agent_engines.sandboxes.send_command(
    http_method="GET",
    access_token=access_token,
    sandbox_environment=sandbox
)
print(f"Sandbox response: {response.body}")

Envoyez une requête HTTP POST pour accéder à une page spécifique.

data = {"command": "Page.navigate", "params": {"url": "https://example.com"}}

response = client.agent_engines.sandboxes.send_command(
    http_method="POST",
    path="cdp",
    access_token=access_token,
    request_dict=data,
    sandbox_environment=sandbox
)

Le tableau suivant liste les méthodes et chemins supplémentaires que vous pouvez envoyer à votre bac à sable :

Méthode Chemin d'accès Description
GET / Obtenir la vérification de l'état du bac à sable
POST /tabs Crée un onglet et renvoie ses détails.
GET /tabs Affiche les détails de tous les onglets ouverts.
POST /tabs/{tab_id}/activate Définit un onglet comme actif et le met au premier plan.
SUPPRIMER /tabs/{tab_id} Ferme un onglet spécifique.
GET /cdp_ws_endpoint Renvoie le chemin d'accès au point de terminaison WebSocket CDP.
POST /cdp Exécute une commande CDP dans l'onglet actif.
POST /cdps Exécute plusieurs commandes CDP dans l'onglet actif.

Pour en savoir plus sur les commandes et le format CDP acceptés, consultez le site CDP.

Effectuer un nettoyage

Pour éviter que des frais ne vous soient facturés, supprimez les ressources créées dans ce guide de démarrage rapide.

client.agent_engines.sandboxes.delete(name=sandbox.name)
agent_instance.delete()

Étapes suivantes

  • Découvrez les instantanés pour la gestion du cycle de vie du bac à sable.