Umgebung und API-Zugriff einrichten

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

  1. Vorbereitung

  2. AlphaEvolve einrichten

Vorbereitung

Bevor Sie Ihre Umgebung konfigurieren, sollten Sie prüfen, ob Ihre Google Cloud-Organisation die grundlegenden Schritte für Beschaffung und Infrastruktur abgeschlossen hat.

Google Cloud Projekt und Lizenzierung

  • Google Cloud -Projekt: Erstellen Sie ein dediziertes Google Cloud -Projekt. Wenden Sie sich für die Projektbereitstellung an Ihr zugewiesenes Account-Management-Team von Google Cloud .

  • Gemini Enterprise-Lizenzen: Kaufen Sie Gemini Enterprise-Lizenzen über Ihren Google Cloud -Vertriebsmitarbeiter. Alle Gemini Enterprise-Stufen, einschließlich einer Testlizenz, gewähren Zugriff auf AlphaEvolve.

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

Nutzerprofile und IAM-Anforderungen

Der AlphaEvolve-Lebenszyklus nutzt die drei verschiedenen Identitäten.

Ihr Projekt muss die folgenden obligatorischen Rollen für die Zugriffssteuerung erfüllen:

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

Administrative Hostumgebung

Ein administrativer Linux-Host (z. B. Google Cloud Shell oder ein sicherer Bastion Host) führt die Konfigurationsskripts und Testnutzlasten aus. 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-Befehlszeile, 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 Optimierungsexperimente bereitzustellen. Der Cloud-Administrator muss die folgenden Befehle auf einem Administratorhost ausführen:

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

    In diesem Schritt wird eine Umgebungsvariable für Ihr Zielprojekt in Google Clouddeklariert, damit nachfolgende Befehle im richtigen Kontext ausgeführt werden.

    PROJECT_ID="my-gcp-project-id"
    

    Alternativ können Sie die ID Ihres aktiven CLI-Projekts dynamisch abrufen:

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

    In diesem Schritt wird eine Umgebungsvariable für die menschenlesbare Kennung 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 Projekt Google Cloud registriert. Dabei werden der eindeutige Name, der Anzeigename und eine kurze Beschreibung des Verwendungszwecks definiert.

    gcloud iam service-accounts create "${SA_NAME}" \
      --description="Service Account to call AlphaEvolve on Cloud API service" \
      --display-name="AlphaEvolve Client SA" \
      --project=$PROJECT_ID
    
  4. Extrahieren Sie den E‑Mail-String 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}"
    
  5. Weisen Sie dem Dienstkonto die Discovery Engine-Rolle zu:

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

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

    In dieser Konfiguration werden die folgenden technischen Logikparameter angewendet:

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

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

    • ${SERVICE_ACCOUNT_EMAIL}: Gibt die Ressource (das neue Dienstkonto) an, die 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 Möglichkeit zu geben, die Identität des neu erstellten Dienstkontos zu übernehmen.

  1. Hauptkonto für den Identitätswechsel definieren: 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 ausführt.

    SYSTEM_USER="user:SYSTEM_USER_EMAIL"
    
  2. Weisen Sie dem Hauptkonto die Rolle für die Token-Erstellung zu: Führen Sie den folgenden Befehl aus, um die Funktion zur Erstellung 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}": Gibt den menschlichen Nutzer an, der die Autorisierung zum Erstellen von Anmeldedaten erhält.

    • --role="roles/iam.serviceAccountTokenCreator": Gewährt die Berechtigung, kurzlebige OAuth 2.0-Zugriffstokens zu erstellen, was die sichere Identitätsübernahme von Dienstkonten ermöglicht.

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

Erforderliche APIs aktivieren

Der Cloud-Administrator muss zwei APIs im Projekt aktivieren:

  • Die Discovery Engine API (discoveryengine.googleapis.com), die die AlphaEvolve on Cloud API-Endpunkte bereitstellt.

  • Die Vertex AI API (aiplatform.googleapis.com), die die Gemini API in Vertex AI bereitstellt. AlphaEvolve generiert jedes Kandidatenprogramm mit einer Gruppe von Gemini-Modellen. Ein Systemnutzer kann also erst dann ein Experiment ausführen, wenn diese API aktiviert ist.

Erforderliche Rollen zum Aktivieren von APIs

Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

APIs aktivieren

Alternativ können Sie beide APIs mit dem Google Cloud SDK auf dem Linux-Host aktivieren:

gcloud services enable discoveryengine.googleapis.com \
  aiplatform.googleapis.com --project="${PROJECT_ID}"

Prüfen Sie, ob beide APIs aktiviert sind:

gcloud services list --enabled --project="${PROJECT_ID}" \
  --filter="config.name:(discoveryengine.googleapis.com OR aiplatform.googleapis.com)"

Discovery Engine-Ressourcen und -Sitzungen erstellen

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

Discovery Engine-Ressourcenhierarchie

Die Hierarchie der Discovery Engine-Ressourcen beginnt mit einemGoogle Cloud -Projekt. Die Ressourcen werden an einem bestimmten Standort gehostet (unterstützte Standorte für AlphaEvolve sind global, us und eu). Innerhalb dieser grundlegenden Struktur fungiert eine Sammlung als übergeordneter Organisationscontainer für weitere Informationen. Die Engine wird in einer Sammlung bereitgestellt, um die Kern-KI-Anwendung zu hosten. Dort wird auch eine Assistentenressource konfiguriert, um die Eigenschaften und Tools der generativen KI für die Anwendung zu verwalten. Die Engine verwaltet einzelne Nutzerinteraktionen, die als Sitzungsobjekte erfasst werden.

Der AlphaEvolveExperiment ist in einer Sitzung verschachtelt und stellt eine einzelne Ausführung des evolutionären Codierungs-Agents dar, der für die Algorithmus-Erkennung und -Optimierung im Kontext dieser spezifischen Nutzerinteraktion verwendet wird.

Discovery Engine-Hierarchie

Ressourcen bereitstellen

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

    In diesem Schritt wird eine Umgebungsvariable für Ihr Zielprojekt in Google Clouddeklariert, 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:

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

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

    Mit diesem Befehl wird eine neue Engine im Projekt Google Cloud 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 Assistenten-ID:

    In diesem Schritt wird eine Umgebungsvariable für die URL-freundliche eindeutige Kennung der Assistenten-ID deklariert.

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

    Mit diesem Befehl wird ein neuer Assistent im Projekt Google Cloud registriert. Dabei werden der eindeutige Name, der Anzeigename und eine kurze Beschreibung des Verwendungszwecks 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 Ihr Cloud-Administrator die Identitäten bereitgestellt, die Identitätsübernahme des Dienstkontos eingerichtet und das Engine-Layout überprüft hat, führen Sie diese abschließenden Prüfungen durch. Mit diesem schnellen Smoke-Test werden Ihre Autorisierung und die End-to-End-Verbindung überprüft, bevor Sie aktive Optimierungsarbeitslasten ausführen.

Engines ansehen und löschen

Verwenden Sie Ihr aktuelles Zugriffstoken oder das imitierte Dienstkonto, um Ihre Engines zu prü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 alle erforderlichen Schritte abgeschlossen. Jetzt können Sie die AlphaEvolve V1 API ausführen.