Menginstal dan Mengonfigurasi AlphaEvolve

Halaman ini membahas langkah-langkah yang diperlukan untuk melakukan inisialisasi lingkungan, menyediakan API, dan mengonfigurasi setelan pengguna Anda untuk mulai menggunakan AlphaEvolve.

  1. Prasyarat

  2. Menyiapkan AlphaEvolve

Prasyarat

Sebelum mengonfigurasi lingkungan, pastikan organisasi Anda menyelesaikan langkah-langkah dasar pengadaan dan infrastruktur. Google Cloud

Google Cloud project dan lisensi

  • Project Google Cloud: Buat project khusus Google Cloud (GCP) dengan link penagihan aktif. Untuk pertanyaan terkait penyediaan project atau daftar yang diizinkan, koordinasikan dengan tim akun yang ditetapkan. Google Cloud

  • Lisensi Gemini Enterprise: Beli lisensi Gemini Enterprise melalui perwakilan penjualan atau Google Cloud Google Cloud Marketplace. Anda dapat menambahkan lisensi ke Google Workspace atau menyediakannya sebagai penawaran mandiri. Semua paket Gemini Enterprise, termasuk lisensi uji coba, memberikan akses ke AlphaEvolve.

  • Catatan alokasi lisensi: Sistem memerlukan satu lisensi Gemini Enterprise per pengguna sistem yang berinteraksi dengan API melalui peniruan akun layanan. Google Cloud Akun layanan tidak menggunakan lisensi Workspace atau Cloud Identity.

Profil pengguna dan persyaratan IAM

Siklus proses AlphaEvolve menggunakan tiga identitas yang berbeda.

Pastikan project Anda mematuhi peran kontrol akses wajib berikut:

Profil Deskripsi Peran dan izin yang diperlukan
Administrator Cloud Mengelola konfigurasi lingkungan awal satu kali, pengaktifan API, dan penetapan IAM.
  • roles/resourcemanager.projectCreator (Tingkat Organisasi/ Folder)
  • roles/billing.user (Tingkat akun penagihan)
  • roles/serviceusage.admin
  • Hak istimewa administrator Workspace atau Cloud Identity
Pengguna Sistem
(Peneliti / Ilmuwan)
Mengonfigurasi dan menjalankan eksperimen pengoptimalan. Berinteraksi dengan the API secara ketat melalui peniruan akun layanan.
  • roles/iam.serviceAccountTokenCreator diberikan pada resource Akun Layanan.
  • Opsional: roles/iam.serviceAccountUser jika melampirkan akun layanan ke resource komputasi (misalnya, Vertex AI Workbench).
Akun Layanan Identitas otomatis yang berinteraksi langsung dengan layanan API Pratinjau Pribadi Cloud AlphaEvolve
  • roles/discoveryengine.admin (Cakupan project)

Lingkungan host administratif

Host Linux administratif (seperti Google Cloud Shell atau host bastion yang aman ) menjalankan skrip konfigurasi dan payload pengujian. Pastikan host Anda berisi utilitas dasar berikut:

  • Google Cloud SDK: Diperlukan untuk menjalankan perintah pengelolaan project. Instal Google Cloud CLIgcloud jika tidak ada di host.

  • curl: Memvalidasi akses transportasi HTTP ke endpoint API backend. Untuk distribusi Debian atau Ubuntu, instal utilitas melalui pengelola paket:

    sudo apt update && sudo apt install -y curl
    

Menyiapkan AlphaEvolve

Penyiapan AlphaEvolve memerlukan koordinasi antara administrator cloud dan pengguna sistem. Anda harus menyelesaikan tugas penginstalan berikut:

Membuat akun layanan

Gunakan langkah-langkah berikut untuk menyediakan akun layanan bagi eksperimen pengoptimalan Anda. Administrator cloud harus menjalankan perintah berikut dari host administratif:

  1. Setel ID project Anda: Google Cloud

    Langkah ini mendeklarasikan variabel lingkungan untuk project target Google Cloud Anda, sehingga memastikan perintah berikutnya beroperasi dalam konteks yang benar.

    PROJECT_ID="my-gcp-project-id"
    

    Atau, Anda dapat mengambil ID project CLI aktif secara dinamis:

    PROJECT_ID=$(gcloud config get project)
    
  2. Pilih nama akun layanan:

    Langkah ini mendeklarasikan variabel lingkungan untuk ID akun layanan yang dapat dibaca manusia, yang akan digunakan dalam perintah pembuatan.

    SA_NAME="alpha-evolve-client"
    
  3. Buat akun layanan:

    Perintah ini mendaftarkan akun layanan baru dalam Google Cloud project, menentukan nama unik, nama tampilan, dan deskripsi singkat tentang tujuan yang dimaksud.

    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. Ekstrak string email akun layanan:

    Perintah ini mengkueri daftar akun layanan berdasarkan nama tampilan dan mengekstrak alamat email resmi sebagai variabel lingkungan (SERVICE_ACCOUNT_EMAIL) untuk mengidentifikasi resource secara unik.

    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. Berikan peran Discovery Engine ke akun layanan:

    Jalankan perintah gcloud berikut untuk memberikan peran roles/discoveryengine.admin ke akun layanan di tingkat project:

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

    Konfigurasi ini menerapkan parameter logika teknis berikut:

    • --member="serviceAccount:${SERVICE_ACCOUNT_EMAIL}": Menentukan akun utama yang menerima kemampuan peran administratif.

    • --role="roles/discoveryengine.admin": Memberikan izin yang diperlukan untuk membuat instance Discovery Engine yang mendasarinya, sesi percakapan, dan AlphaEvolveExperiments resource turunan.

    • ${SERVICE_ACCOUNT_EMAIL}: Mengidentifikasi resource (akun layanan baru) yang dapat ditiru identitasnya oleh akun utama.

Meniru identitas akun layanan

Setelah menyelesaikan langkah-langkah pembuatan, gunakan alat command line gcloud untuk memberikan kemampuan eksplisit kepada peneliti (SYSTEM_USER) untuk meniru identitas akun layanan yang baru dibuat.

  1. Tentukan akun utama yang meniru identitas: Deklarasikan string target variabel. Ganti SYSTEM_USER_EMAIL dengan identitas perusahaan atau alamat email peneliti yang melakukan pengoptimalan.

    SYSTEM_USER="user:SYSTEM_USER_EMAIL"
    
  2. Berikan peran pembuatan token kepada akun utama: Jalankan perintah berikut untuk memetakan kemampuan pembuatan token kredensial berjangka pendek ke pengguna sistem yang ditentukan:

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

    Binding otorisasi ini memastikan bahwa:

    • --member="${SYSTEM_USER}": Menentukan pengguna manusia yang menerima otorisasi pembuatan kredensial.

    • --role="roles/iam.serviceAccountTokenCreator": Memberikan izin untuk membuat token akses OAuth 2.0 berjangka pendek, yang mendorong peniruan identitas akun layanan yang aman.

    • "${SERVICE_ACCOUNT_EMAIL}": Mengidentifikasi resource akun layanan target yang terikat ke kebijakan masuk.

Mengaktifkan Discovery Engine API

Administrator cloud harus mengaktifkan discoveryengine.googleapis.com API agar dapat berinteraksi dengan endpoint API pratinjau pribadi cloud AlphaEvolve. Administrator cloud dapat melakukannya dari Google Cloud konsol atau menggunakan Google Cloud SDK di Host Linux: gcloud services enable discoveryengine.googleapis.com

Membuat resource dan sesi Discovery Engine

Proses konfigurasi bertransisi dari penyiapan identitas administratif ke penyediaan lapisan data aplikasi inti Anda. Pada tahap ini, Anda akan membuat komponen logis bertingkat yang diperlukan oleh API yang mendasarinya untuk mengelola, merutekan, dan melacak eksperimen mutasi kode Anda.

Hierarki resource Discovery Engine

Hierarki resource Discovery Engine dimulai dengan a Google Cloud project, dan resourcenya dihosting dalam lokasi (region) tertentu. Dalam struktur dasar ini, koleksi bertindak sebagai penampung organisasi tingkat atas untuk resource terkait. Engine disediakan di dalam koleksi untuk menghosting aplikasi AI inti, yang juga merupakan tempat resource asisten dikonfigurasi untuk mengelola properti dan alat AI generatif untuk aplikasi. Engine mengelola interaksi pengguna individual yang diambil sebagai objek sesi.

AlphaEvolveExperiment berada di bawah sesi, yang mewakili satu kali menjalankan agen pengkodean evolusioner yang digunakan untuk penemuan dan pengoptimalan algoritma dalam konteks interaksi pengguna tertentu.

Hierarki Discovery Engine

Menyediakan resource

  1. Setel ID project Anda: Google Cloud

    Langkah ini mendeklarasikan variabel lingkungan untuk project target Google Cloud Anda, sehingga memastikan perintah berikutnya beroperasi dalam konteks yang benar:

    PROJECT_ID="my-gcp-project-id"
    

    atau

    PROJECT_ID=$(gcloud config get project)
    
  2. Tentukan ID engine Anda:

    Langkah ini mendeklarasikan variabel lingkungan untuk ID unik engine yang kompatibel dengan URL.

    ENGINE_ID="alpha-evolve-experiment-engine"
    
  3. Buat engine:

    Perintah ini mendaftarkan Engine baru dalam Google Cloud project, menentukan nama unik, nama tampilan, dan SolutionType (SOLUTION_TYPE_GENERATIVE_CHAT)

    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. Tentukan ID asisten Anda:

    Langkah ini mendeklarasikan variabel lingkungan untuk ID unik asisten yang kompatibel dengan URL.

    ASSISTANT_ID="default_assistant"
    
  5. Buat asisten:

    Perintah ini mendaftarkan Asisten baru dalam Google Cloud project, menentukan nama unik, nama tampilan, dan deskripsi singkat tentang tujuan yang dimaksud.

    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
      }'
    

Menguji akses API

Setelah administrator cloud menyediakan identitas yang diperlukan, mengonfigurasi peniruan identitas akun layanan, dan memverifikasi tata letak engine, pengguna sistem yang melakukan penelitian harus menjalankan langkah-langkah validasi berikut. Urutan ini berfungsi sebagai pengujian awal untuk mengonfirmasi transportasi dan otorisasi menyeluruh sebelum memulai workload pengoptimalan aktif.

Membuat token akses menggunakan peniruan identitas

Jalankan perintah berikut untuk memvalidasi bahwa kebijakan mengikat peniruan identitas akun layanan dengan benar. Pemeriksaan ini memastikan identitas peneliti lokal Anda mengasumsikan identitas eksekusi otomatis dengan aman.

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

Menggunakan token akses

Perintah ini menampilkan string kredensial OAuth 2.0 mentah dan sementara. Untuk alur kerja verifikasi multi-langkah, simpan token ini dalam variabel shell berjangka pendek atau sisipkan langsung dalam panggilan transportasi Anda untuk mengkueri metadata project dasar Anda:

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

Melihat dan menghapus engine

Gunakan token akses saat ini atau akun layanan yang ditiru identitasnya untuk memverifikasi, mencantumkan, atau menghapus engine Anda:

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

Selamat, Anda telah menyelesaikan langkah-langkah penyiapan. Sekarang Anda dapat menjalankan AlphaEvolve V1 API.