Umgebung und API-Zugriff einrichten

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 eigenes Google Cloud Projekt mit aktiven Abrechnungslinks. Wenden Sie sich bei Fragen zur Projektbereitstellung oder zur Zulassungsliste an Ihr zugewiesenes Account-Management-Team. 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 die drei folgenden unterschiedlichen Identitäten.

Achten Sie darauf, dass Ihr Projekt die folgenden obligatorischen Rollen für die Zugriffssteuerung erfüllt:

Profil Beschreibung Erforderliche Rollen und Berechtigungen
Cloud-Administrator Verwaltet die einmalige anfängliche Umgebungskonfiguration, 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 Identitätsübernahme des Dienstkontos 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 API-Dienst interagiert.
  • roles/discoveryengine.admin (auf Projekt beschränkt)

Administrative Hostumgebung

Auf einem administrativen Linux-Host (z. B. Google Cloud Shell oder ein sicherer 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 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 zugrunde liegender Discovery Engine-Instanzen, Unterhaltungssitzungen und untergeordneter AlphaEvolveExperiments 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 API discoveryengine.googleapis.com aktivieren, um mit den AlphaEvolve on Cloud 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 wichtigsten 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.

Ressourcenhierarchie der Discovery Engine

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 Kern-KI-Anwendung zu hosten. Dort wird auch eine Assistentenressource konfiguriert, um die generativen KI-Attribute und Tools für die Anwendung zu verwalten. Die Engine verwaltet einzelne Nutzerinteraktionen, die als Sitzungsobjekte erfasst werden.

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 Assistenten-ID:

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

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

    Mit diesem Befehl wird ein neuer Assistent 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

Sobald Ihr Cloud-Administrator die Bereitstellung von Identitäten abgeschlossen, die Dienstkonto-Identitätsübernahme eingerichtet und das Engine-Layout überprüft hat, führen Sie diese letzten Prüfungen aus. Mit diesem kurzen Smoke-Test werden Ihre Autorisierung und die End-to-End-Verbindung überprüft, bevor Sie aktive Optimierungs-Workloads ausführen.

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.