AlphaEvolve installieren und konfigurieren

Auf dieser Seite werden die erforderlichen Schritte zum Initialisieren Ihrer Umgebung, zum Bereitstellen der API und zum Konfigurieren Ihrer Nutzereinstellungen beschrieben, damit Sie mit AlphaEvolve arbeiten können.

  1. Vorbereitung

  2. AlphaEvolve einrichten

Vorbereitung

Bevor Sie Ihre Umgebung konfigurieren, prüfen Sie, ob Ihre Google Cloud Organisation die grundlegenden Beschaffungs- und Infrastrukturschritte abgeschlossen hat.

Google Cloud Projekt und Lizenzierung

  • Google Cloud-Projekt: Erstellen Sie ein dediziertes Google Cloud GCP-Projekt mit aktiven Abrechnungslinks. Wenden Sie sich bei Fragen zur Projektbereitstellung oder zur Zulassungsliste an Ihr zugewiesenes Kontoteam. Google Cloud

  • Gemini Enterprise-Lizenzen: Erwerben Sie Gemini Enterprise Lizenzen über Ihren Google Cloud Vertriebsmitarbeiter oder den Google Cloud Marketplace. Sie können Lizenzen zu Google Workspace hinzufügen oder sie als eigenständige Angebote bereitstellen. Jede Gemini Enterprise-Stufe, einschließlich einer Testlizenz, gewährt Zugriff auf AlphaEvolve.

  • Hinweis zur Lizenzzuweisung: Das System erfordert eine Gemini Enterprise Lizenz pro Systemnutzer, der über die Dienstkonto-Identitätsübernahme mit der API interagiert. Google Cloud Dienstkonten verbrauchen keine Workspace- oder Cloud Identity-Lizenzen.

Nutzerprofile und IAM-Anforderungen

Der AlphaEvolve-Lebenszyklus verwendet drei verschiedene Identitäten.

Achten Sie darauf, dass Ihr Projekt die folgenden obligatorischen Zugriffssteuerungsrollen erfüllt:

Profil Beschreibung Erforderliche Rollen und Berechtigungen
Cloud-Administrator Verwaltet die einmalige Erstkonfiguration der Umgebung, die API-Aktivierung und die IAM-Zuweisung.
  • roles/resourcemanager.projectCreator (Organisationsebene / Ordnerebene)
  • roles/billing.user (Rechnungskontoebene)
  • roles/serviceusage.admin
  • Administratorberechtigungen für Workspace oder Cloud Identity
Systemnutzer
(Forscher / Wissenschaftler)
Konfiguriert und führt Optimierungstests aus. Interagiert ausschließlich über die Dienstkonto-Identitätsübernahme mit der API.
  • roles/iam.serviceAccountTokenCreator für die Dienstkontoressource gewährt.
  • Optional: roles/iam.serviceAccountUser wenn das Dienstkonto an Computeressourcen angehängt wird (z. B. Vertex AI Workbench).
Dienstkonto Automatisierte Identität, die direkt mit dem AlphaEvolve on Cloud Private Preview API-Dienst interagiert.
  • roles/discoveryengine.admin (auf Projekt beschränkt)

Administrativ gehostete Umgebung

Auf einem administrativen Linux-Host (z. B. Cloud Google Cloud Shell oder einem sicheren Bastion Host) werden die Konfigurationsskripts und Testnutzlasten ausgeführt. Prüfen Sie, ob Ihr Host die folgenden grundlegenden Dienstprogramme enthält:

  • Google Cloud SDK: Erforderlich, um Befehle zur Projektverwaltung auszuführen. Installieren Sie die gcloud CLI, falls sie nicht auf dem Host vorhanden ist.

  • curl: Validiert den HTTP-Transportzugriff auf den Backend-API-Endpunkt. Installieren Sie das Dienstprogramm für Debian- oder Ubuntu-Distributionen über den Paketmanager:

    sudo apt update && sudo apt install -y curl
    

AlphaEvolve einrichten

Die Einrichtung von AlphaEvolve erfordert eine Abstimmung zwischen dem Cloud-Administrator und dem Systemnutzer. Sie müssen die folgenden Installationsaufgaben ausführen:

Dienstkonto erstellen

Führen Sie die folgenden Schritte aus, um ein Dienstkonto für Ihre Optimierungstests bereitzustellen. Der Cloud-Administrator muss die folgenden Befehle von einem administrativen Host ausführen:

  1. Legen Sie Ihre Google Cloud Projekt-ID fest:

    Mit diesem Schritt wird eine Umgebungsvariable für Ihr Ziel Google Cloud projekt deklariert, damit nachfolgende Befehle im richtigen Kontext ausgeführt werden.

    PROJECT_ID="my-gcp-project-id"
    

    Alternativ können Sie Ihre aktive CLI-Projekt-ID dynamisch abrufen:

    PROJECT_ID=$(gcloud config get project)
    
  2. Wählen Sie einen Dienstkontonamen aus:

    Mit diesem Schritt wird eine Umgebungsvariable für die für Menschen lesbare ID des Dienstkontos deklariert, die im Erstellungsbefehl verwendet wird.

    SA_NAME="alpha-evolve-client"
    
  3. Erstellen Sie das Dienstkonto:

    Mit diesem Befehl wird ein neues Dienstkonto im Google Cloud Projekt registriert und sein eindeutiger Name, Anzeigename und eine kurze Beschreibung des beabsichtigten Zwecks definiert.

    gcloud iam service-accounts create "${SA_NAME}" \
      --description="Service Account to call AlphaEvolve on Cloud Private \
    Preview API service" \
      --display-name="AlphaEvolve Client SA" \
      --project=$PROJECT_ID
    
  4. Extrahieren Sie die E‑Mail-Adresse des Dienstkontos:

    Mit diesem Befehl wird die Liste der Dienstkonten anhand des Anzeigenamens abgefragt und die offizielle E‑Mail-Adresse als Umgebungsvariable (SERVICE_ACCOUNT_EMAIL) extrahiert, um die Ressource eindeutig zu identifizieren.

    SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \
      --filter="displayName:AlphaEvolve Client SA" \
      --format='value(email)' \
      --project=$PROJECT_ID)
    
    echo "Newly created Service Account Email: ${SERVICE_ACCOUNT_EMAIL}"
    
  1. Weisen Sie dem Dienstkonto die Discovery Engine-Rolle zu:

    Führen Sie den folgenden gcloud-Befehl aus, um dem Dienstkonto auf Projektebene die Rolle roles/discoveryengine.admin zuzuweisen:

    gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
      --member="serviceAccount:${SERVICE_ACCOUNT_EMAIL}" \
      --role="roles/discoveryengine.admin" \
      --project="${PROJECT_ID}"
    

    Diese Konfiguration wendet die folgenden technischen Logikparameter an:

    • --member="serviceAccount:${SERVICE_ACCOUNT_EMAIL}": Gibt das Hauptkonto an, das die administrativen Rollenfunktionen erhält.

    • --role="roles/discoveryengine.admin": Gewährt die erforderlichen Berechtigungen zum Erstellen der zugrunde liegenden Discovery Engine-Instanzen, Unterhaltungssitzungen und AlphaEvolveExperiments untergeordneten Ressourcen.

    • ${SERVICE_ACCOUNT_EMAIL}: Gibt die Ressource (das neue Dienstkonto) an, deren Identität das Hauptkonto übernehmen darf.

Identität des Dienstkontos übernehmen

Nachdem Sie die Erstellungsschritte abgeschlossen haben, verwenden Sie das gcloud-Befehlszeilentool, um einem Forscher (SYSTEM_USER) die explizite Berechtigung zu erteilen, die Identität des neu erstellten Dienstkontos zu übernehmen.

  1. Definieren Sie das Hauptkonto, das die Identität übernimmt: Deklarieren Sie den Zielstring der Variablen. Ersetzen Sie SYSTEM_USER_EMAIL durch die Unternehmensidentität oder E‑Mail-Adresse des Forschers, der die Optimierungsläufe durchführt.

    SYSTEM_USER="user:SYSTEM_USER_EMAIL"
    
  2. Weisen Sie dem Hauptkonto die Rolle zum Erstellen von Tokens zu: Führen Sie den folgenden Befehl aus, um die Möglichkeit zum Erstellen kurzlebiger Anmeldedaten-Tokens dem angegebenen Systemnutzer zuzuordnen:

    gcloud iam service-accounts add-iam-policy-binding \
      "${SERVICE_ACCOUNT_EMAIL}" \
      --member="${SYSTEM_USER}" \
      --role="roles/iam.serviceAccountTokenCreator" \
      --project="${PROJECT_ID}"
    

    Diese Autorisierungsbindung sorgt für Folgendes:

    • --member="${SYSTEM_USER}": Specifies the human user receiving the credential minting authorization.

    • --role="roles/iam.serviceAccountTokenCreator": Gewährt die Berechtigung zum Erstellen kurzlebiger OAuth 2.0-Zugriffstokens, die eine sichere Dienstkonto -Identitätsübernahme ermöglichen.

    • "${SERVICE_ACCOUNT_EMAIL}": Gibt die Ziel-Dienstkontoressource an, die an die eingehende Richtlinie gebunden wird.

Discovery Engine API aktivieren

Der Cloud-Administrator muss die discoveryengine.googleapis.com-API aktivieren, um mit den AlphaEvolve on Cloud Private Preview API-Endpunkten interagieren zu können. Der Cloud-Administrator kann dies über die Google Cloud Konsole oder mit dem Google Cloud SDK auf dem Linux-Host tun: gcloud services enable discoveryengine.googleapis.com

Discovery Engine-Ressourcen und -Sitzungen erstellen

Der Konfigurationsprozess wechselt von der Einrichtung administrativer Identitäten zur Bereitstellung Ihrer grundlegenden Anwendungsdatenebene. In dieser Phase erstellen Sie die verschachtelten logischen Komponenten, die von der zugrunde liegenden API benötigt werden, um Ihre Code-Mutations-Tests zu verwalten, weiterzuleiten und zu verfolgen.

Discovery Engine-Ressourcenhierarchie

Die Hierarchie der Discovery Engine-Ressourcen beginnt mit einem Google Cloud Projekt und die Ressourcen werden an einem bestimmten Standort (Region) gehostet. Innerhalb dieser grundlegenden Struktur fungiert eine Sammlung als Container auf oberster Ebene für zugehörige Ressourcen. Die Engine wird in einer Sammlung bereitgestellt, um die KI-Kernanwendung zu hosten. Hier wird auch eine Assistant-Ressource konfiguriert, um die generativen KI-Attribute und -Tools für die Anwendung zu verwalten. Die Engine verwaltet einzelne Nutzerinteraktionen, die als Sitzungsobjekte erfasst werden.

Das AlphaEvolveExperiment ist unter einer Sitzung verschachtelt und stellt einen einzelnen Lauf des evolutionären Codierungs-Agents dar, der für die Algorithmuserkennung und ‑optimierung im Kontext dieser spezifischen Nutzerinteraktion verwendet wird.

Discovery Engine-Hierarchie

Ressourcen bereitstellen

  1. Legen Sie Ihre Google Cloud Projekt-ID fest:

    Mit diesem Schritt wird eine Umgebungsvariable für Ihr Ziel Google Cloud projekt deklariert, damit nachfolgende Befehle im richtigen Kontext ausgeführt werden:

    PROJECT_ID="my-gcp-project-id"
    

    oder

    PROJECT_ID=$(gcloud config get project)
    
  2. Definieren Sie Ihre Engine-ID:

    Mit diesem Schritt wird eine Umgebungsvariable für die URL-freundliche eindeutige ID der Engine deklariert.

    ENGINE_ID="alpha-evolve-experiment-engine"
    
  3. Erstellen Sie die Engine:

    Mit diesem Befehl wird eine neue Engine im Google Cloud Projekt registriert und ihr eindeutiger Name, Anzeigename und SolutionType (SOLUTION_TYPE_GENERATIVE_CHAT) definiert.

    URL="https://discoveryengine.googleapis.com/v1alpha"
    URL="${URL}/projects/${PROJECT_ID}/locations/global"
    URL="${URL}/collections/default_collection/engines"
    URL="${URL}?engineId=${ENGINE_ID}"
    curl -X POST "${URL}" \
      -H "Content-Type: application/json" \
      -H "x-goog-user-project: ${PROJECT_ID}" \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -d '{
        "display_name": "'"${ENGINE_ID}"'",
        "data_store_ids": [],
        "solution_type": "SOLUTION_TYPE_GENERATIVE_CHAT"
      }'
    
  4. Definieren Sie Ihre Assistant-ID:

    Mit diesem Schritt wird eine Umgebungsvariable für die URL-freundliche eindeutige ID des Assistant deklariert.

    ASSISTANT_ID="default_assistant"
    
  5. Erstellen Sie den Assistant:

    Mit diesem Befehl wird ein neuer Assistant im Google Cloud Projekt registriert und sein eindeutiger Name, Anzeigename und eine kurze Beschreibung des beabsichtigten Zwecks definiert.

    URL="https://discoveryengine.googleapis.com/v1alpha"
    URL="${URL}/projects/${PROJECT_ID}/locations/global"
    URL="${URL}/collections/default_collection/engines"
    URL="${URL}/${ENGINE_ID}/assistants?assistantId=${ASSISTANT_ID}"
    curl -X POST "${URL}" \
      -H "Content-Type: application/json" \
      -H "x-goog-user-project: ${PROJECT_ID}" \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -d '{
        "display_name": "'"${ASSISTANT_ID}"'",
        "description": null,
        "generation_config": null,
        "web_grounding_type": "WEB_GROUNDING_TYPE_UNSPECIFIED",
        "enabled_actions": null,
        "customer_policy": null
      }'
    

API-Zugriff testen

Nachdem der Cloud-Administrator die erforderlichen Identitäten bereitgestellt, die Dienstkonto-Identitätsübernahme konfiguriert und das Engine-Layout überprüft hat, muss der forschende Systemnutzer die folgenden Validierungsschritte ausführen. Diese Sequenz dient als Vorabtest, um den End-to-End-Transport und die Autorisierung zu bestätigen, bevor aktive Optimierungs-Workloads initiiert werden.

Zugriffstoken mit Identitätsübernahme erstellen

Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Richtlinie die Dienstkonto-Identitätsübernahme korrekt bindet. Mit dieser Prüfung wird sichergestellt, dass Ihre lokale Forscheridentität sicher die automatisierte Ausführungsidentität übernimmt.

  gcloud auth print-access-token \
    --impersonate-service-account="${SERVICE_ACCOUNT_EMAIL}"

Zugriffstoken verwenden

Der Befehl gibt einen unformatierten, temporären OAuth 2.0-Anmeldedatenstring aus. Für mehrstufige Überprüfungsworkflows können Sie dieses Token in einer kurzlebigen Shell-Variablen speichern oder direkt in Ihre Transportaufrufe einfügen, um Ihre grundlegenden Projektmetadaten abzufragen:

  TOKEN=$(gcloud auth print-access-token \
    --impersonate-service-account="${SERVICE_ACCOUNT_EMAIL}")
  curl -X GET \
    -H "Authorization: Bearer ${TOKEN}" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/${PROJECT_ID}"

Engines ansehen und löschen

Verwenden Sie Ihr aktuelles Zugriffstoken oder das Dienstkonto, dessen Identität übernommen wurde, um Ihre Engines zu überprüfen, aufzulisten oder zu löschen:

  URL="https://discoveryengine.googleapis.com/v1alpha"
  URL="${URL}/projects/${PROJECT_ID}/locations/global"
  URL="${URL}/collections/default_collection/engines"
  curl -X GET "${URL}" \
    -H "Content-Type: application/json" \
    -H "x-goog-user-project: ${PROJECT_ID}" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
  URL="https://discoveryengine.googleapis.com/v1alpha"
  URL="${URL}/projects/${PROJECT_ID}/locations/global"
  URL="${URL}/collections/default_collection/engines/${ENGINE_ID}"
  curl -X DELETE "${URL}" \
    -H "Content-Type: application/json" \
    -H "x-goog-user-project: ${PROJECT_ID}" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"

Sie haben die Einrichtungsschritte abgeschlossen. Jetzt können Sie die AlphaEvolve V1 API ausführen.