Schnellstart: Computernutzung

Auf dieser Seite wird gezeigt, wie Sie direkte API-Aufrufe ausführen, um eine Sandbox-Umgebung für die Computernutzung zu erstellen und zu verwenden. In dieser Kurzanleitung führen Sie die folgenden Aufgaben aus:

  • Erstellen Sie eine Agent Platform-Instanz, um auf die Sandbox zuzugreifen.
  • Erstellen Sie eine Sandbox für die Computernutzung.
  • Generieren Sie ein Zugriffstoken für die Sandbox.
  • Senden Sie eine Anfrage, um den Status zu prüfen.
  • Bereinigen Sie die Ressourcen.

Hinweis

Richten Sie Ihr Projekt und Ihre Umgebung ein.

Projekt einrichten

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie ein Konto, um die Leistung unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  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, if it is not already enabled.

    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, if it is not already enabled.

    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

Erforderliche Rollen abrufen

Für die Verwendung der Sandbox und das Generieren von Tokens benötigen Sie die folgenden Rollen:

  • Agent Platform User (roles/aiplatform.user) für das Projekt.
  • Ersteller von Dienstkonto-Tokens (roles/iam.serviceAccountTokenCreator) für das Dienstkonto, das zum Generieren von Tokens verwendet wird.
  • Das Dienstkonto, das zum Generieren von Tokens verwendet wird, muss außerdem die Rolle Agent Platform User (roles/aiplatform.user) für das Projekt haben.

Bibliotheken installieren

Installieren Sie das Agent Platform SDK:

pip install google-cloud-agentplatform>=2.0.1

Agent Platform-Instanz erstellen

Erstellen Sie zuerst eine Agent Platform-Instanz, um die Sandbox zu verwenden.

import agentplatform
client = agentplatform.Client(
    project='PROJECT_ID',
    location='LOCATION',
    http_options={
        "api_version": "v1beta1",
    }
)
remote_agent = client.runtimes.create()
remote_agent_name = remote_agent.api_resource.name

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID
  • LOCATION: Die Region für Ihre Instanz, z. B. us-central1.

Wenn Sie Ihre Sandbox-Daten mit vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) verschlüsseln möchten, müssen Sie CMEK konfigurieren, wenn Sie Ihre Agent Platform-Instanz erstellen. Weitere Informationen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) konfigurieren.

Vorlage für die Computernutzung erstellen

Erstellen Sie eine Sandbox-Vorlage, die Sie verwenden, wenn Sie eine Sandbox für die Computernutzung erstellen.

# Create a default Computer Use sandbox template
templates_client = client.sandboxes.templates
tmplt_operation = templates_client.create(
    name=remote_agent_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}")

Sandbox für die Computernutzung erstellen

Erstellen Sie eine Sandbox-Umgebung aus der Vorlage.

# Create a sandbox environment referencing the template.
# To customize the lifetime, set `ttl` to a duration string in seconds (for example, "3600s" for 1 hour).
create_operation = client.sandboxes.create(
    name=remote_agent_name,
    config={
        "sandbox_environment_template": template_name,
        "display_name": 'DISPLAY_NAME',
        "ttl": "3600s",  # Optional. Overrides the default 2-hour sandbox lifetime.
    }
)
sandbox = create_operation.response
print(f"Created sandbox environment: {sandbox.name}")
print(f"Sandbox will expire at: {sandbox.expire_time}")

Zugriffstoken generieren

Um mit der Sandbox zu interagieren, generieren Sie mit einem Dienstkonto ein JSON Web Token (JWT)-Zugriffstoken.

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

Ersetzen Sie SERVICE_ACCOUNT_EMAIL durch die E-Mail-Adresse des Dienstkontos mit der Rolle Ersteller von Dienstkonto-Tokens.

Anfrage an die Sandbox senden

Senden Sie eine HTTP-GET-Anfrage an den Sandbox-API-Server, um den Status zu prüfen.

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

Senden Sie eine HTTP-POST-Anfrage, um zu einer bestimmten Seite zu wechseln.

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

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

In der folgenden Tabelle sind zusätzliche Methoden und Pfade aufgeführt, die Sie an Ihre Sandbox senden können:

Methode Pfad Beschreibung
GET / Ruft den Gesundheitscheck der Sandbox ab.
POST /tabs Erstellt einen neuen Tab und gibt die Details zurück.
GET /tabs Listet die Details für alle geöffneten Tabs auf.
POST /tabs/{tab_id}/activate Legt einen Tab als aktiv fest und bringt ihn in den Vordergrund.
LÖSCHEN /tabs/{tab_id} Schließt einen bestimmten Tab.
GET /cdp_ws_endpoint Gibt den CDP-WebSocket-Endpunktpfad zurück.
POST /cdp Führt einen CDP-Befehl auf dem aktiven Tab aus.
POST /cdps Führt mehrere CDP-Befehle auf dem aktiven Tab aus.

Weitere Informationen zu den unterstützten CDP-Befehlen und -Formaten finden Sie auf der CDP-Website.

Bereinigen

Löschen Sie die in dieser Kurzanleitung erstellten Ressourcen, um Gebühren zu vermeiden.

client.sandboxes.delete(name=sandbox.name)
remote_agent.delete()

Nächste Schritte