Penyiapan akses API dan lingkungan

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

  1. Prasyarat

  2. Menyiapkan AlphaEvolve

Prasyarat

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

Google Cloud project dan pemberian lisensi

  • ProjectGoogle Cloud : Buat project Google Cloud khusus. Untuk penyediaan project, berkoordinasilah dengan tim akun Google Cloud yang ditugaskan kepada Anda.

  • Lisensi Gemini Enterprise: Beli lisensi Gemini Enterprise melalui perwakilan penjualan Google Cloud Anda. 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, penetapan IAM, serta mengaktifkan Discovery Engine API dan Gemini API di Vertex AI.
  • 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 API hanya 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 AlphaEvolve on Cloud API.
  • roles/discoveryengine.editor atau roles/discoveryengine.admin (Cakupan project)

Lingkungan host administratif

Host Linux administratif (seperti Google Cloud Shell atau bastion host 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 gcloud CLI jika belum ada di host.

  • curl: Memvalidasi akses transpor 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 untuk eksperimen pengoptimalan Anda. Administrator cloud harus menjalankan perintah berikut dari host administratif:

  1. Tetapkan project ID Google Cloud Anda:

    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 project ID 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 project Google Cloud , yang menentukan nama unik, nama tampilan, dan deskripsi singkat tentang tujuan penggunaannya.

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

    Jalankan perintah gcloud berikut untuk memberikan peran roles/discoveryengine.admin kepada akun layanan di level 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 resource turunan AlphaEvolveExperiments.

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

Meniru identitas akun layanan

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

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

    SYSTEM_USER="user:SYSTEM_USER_EMAIL"
    
  2. Berikan peran pembuatan token kepada akun utama: Jalankan perintah berikut untuk memetakan kemampuan pembuatan token kredensial berumur 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 yang berumur singkat, yang mendorong peniruan akun layanan yang aman.

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

Mengaktifkan API yang diperlukan

Administrator cloud harus mengaktifkan dua API dalam project:

  • Discovery Engine API (discoveryengine.googleapis.com), yang menyajikan endpoint AlphaEvolve on Cloud API.

  • Vertex AI API (aiplatform.googleapis.com), yang menyajikan Gemini API di Vertex AI. AlphaEvolve menghasilkan setiap program kandidat dengan ansambel model Gemini, sehingga pengguna sistem tidak dapat menjalankan eksperimen hingga API ini diaktifkan.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

Aktifkan API

Atau, aktifkan kedua API dengan Google Cloud SDK di Host Linux:

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

Konfirmasi bahwa kedua API telah diaktifkan:

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

Membuat resource dan sesi Discovery Engine

Proses konfigurasi beralih dari penyiapan identitas administratif ke penyediaan lapisan data aplikasi inti Anda. Pada tahap ini, Anda akan membangun 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 projectGoogle Cloud , dan resource-nya dihosting dalam lokasi tertentu (lokasi yang didukung untuk AlphaEvolve adalah global, us, dan eu). Dalam struktur mendasar ini, koleksi bertindak sebagai penampung organisasi tingkat teratas 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. Mesin ini mengelola interaksi pengguna individual yang direkam sebagai objek sesi.

AlphaEvolveExperiment disusun bertingkat di bawah sesi, yang mewakili satu eksekusi agen coding evolusioner yang digunakan untuk penemuan dan pengoptimalan algoritma dalam konteks interaksi pengguna tertentu.

Hierarki Discovery Engine

Menyediakan resource

  1. Tetapkan project ID Google Cloud Anda:

    Langkah ini mendeklarasikan variabel lingkungan untuk project Google Cloud target 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 mesin Anda:

    Langkah ini mendeklarasikan variabel lingkungan untuk ID unik yang cocok untuk URL dari ID mesin.

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

    Perintah ini mendaftarkan Engine baru dalam project Google Cloud , menentukan nama unik, nama tampilan, dan SolutionType-nya (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 yang cocok untuk URL dari ID asisten.

    ASSISTANT_ID="default_assistant"
    
  5. Buat asisten:

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

    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 Anda selesai menyediakan identitas, menyiapkan peniruan akun layanan, dan memverifikasi tata letak mesin, jalankan pemeriksaan akhir ini. Smoke-test cepat ini memverifikasi otorisasi dan koneksi end-to-end Anda sebelum Anda menjalankan workload pengoptimalan aktif.

Melihat dan menghapus mesin telusur

Gunakan token akses Anda saat ini atau akun layanan yang ditiru untuk memverifikasi, mencantumkan, atau menghapus mesin 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.