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 zur Computernutzung.
  • Erstellen Sie ein Zugriffstoken für die Sandbox.
  • Senden Sie eine Anfrage, um den Status zu prüfen.
  • Ressourcen bereinigen

Hinweis

Richten Sie Ihr Projekt und Ihre Umgebung ein.

Projekt einrichten

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit 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.

    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

Erforderliche Rollen abrufen

Wenn Sie die Sandbox verwenden und Tokens generieren möchten, benötigen Sie die folgenden Rollen:

  • Agent Platform User (roles/aiplatform.user) für das Projekt.
  • Rolle „Ersteller von Dienstkonto-Token“ (roles/iam.serviceAccountTokenCreator) für das Dienstkonto, das zum Generieren von Token verwendet wird.
  • Das für die Tokenerstellung verwendete Dienstkonto muss auch die Rolle „Agent Platform User“ (roles/aiplatform.user) für das Projekt haben.

Bibliotheken installieren

Installieren Sie das Agent Platform SDK: posix-terminal pip install google-cloud-aiplatform>=1.112.0

Agent Platform-Instanz erstellen

Wenn Sie die Sandbox verwenden möchten, müssen Sie zuerst eine Agent Platform-Instanz erstellen.

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

Ersetzen Sie Folgendes:

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

Vorlage für die Computernutzung erstellen

Erstellen Sie eine Sandbox-Vorlage, die Sie beim Erstellen einer Sandbox für die Computernutzung verwenden.

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

Sandbox zur Computernutzung erstellen

Erstellen Sie eine Sandbox-Umgebung aus der Vorlage.

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

Zugriffstoken erstellen

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

service_account_email = "SERVICE_ACCOUNT_EMAIL"
access_token = client.agent_engines.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 seinen Status zu prüfen.

response = client.agent_engines.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.agent_engines.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 / Systemdiagnose für die Sandbox abrufen
POST /tabs Erstellt einen neuen Tab und gibt seine Details zurück.
GET /tabs Hier werden Details zu allen geöffneten Tabs aufgeführt.
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 dem Format finden Sie auf der CDP-Website.

Bereinigen

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

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

Nächste Schritte

  • Snapshots für die Verwaltung des Sandbox-Lebenszyklus