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 telah menyelesaikan langkah-langkah dasar pengadaan dan infrastruktur. Google Cloud

Google Cloud project dan pemberian lisensi

  • Project Google Cloud: Buat project khusus Google Cloud dengan link penagihan yang aktif. Untuk penyediaan project atau pertanyaan terkait daftar yang diizinkan, berkoordinasilah dengan tim akun Google Cloud yang ditetapkan untuk Anda.

  • Lisensi Gemini Enterprise: Beli lisensi Gemini Enterprise melalui Google Cloud sales representative Anda atau 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 identitas 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 API secara ketat melalui peniruan akun layanan.
  • roles/iam.serviceAccountTokenCreator yang 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.admin (Project-scoped)

Lingkungan host administratif

Host Linux administratif (seperti Google Cloud Shell atau host bastion yang aman) menjalankan skrip konfigurasi dan payload pengujian. Verifikasi bahwa 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 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. Tetapkan Google Cloud project ID 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 yang mudah dibaca dari akun layanan, 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 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}"
    
  1. Berikan peran Discovery Engine ke akun layanan:

    Jalankan perintah gcloud berikut untuk memberikan peran roles/discoveryengine.admin kepada 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 principal yang menerima kemampuan peran administratif.

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

    • ${SERVICE_ACCOUNT_EMAIL}: Mengidentifikasi resource (akun layanan baru) yang dapat di-impersonate 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 prinsipal yang di-impersonasi: 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 prinsipal: 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}"
    

    Pengikatan 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 berumur 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 AlphaEvolve on Cloud API. Administrator cloud dapat melakukannya dari Google Cloud konsol atau menggunakan Google Cloud SDK di Linux Host: 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 pokok untuk mengelola, merutekan, dan melacak eksperimen mutasi kode Anda.

Hierarki resource Discovery Engine

Hierarki resource Discovery Engine dimulai dengan projectGoogle Cloud , dan resourcenya dihosting dalam lokasi (region) tertentu. Dalam struktur dasar ini, koleksi berfungsi sebagai penampung organisasi tingkat teratas untuk resource terkait. Mesin 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 mengelola interaksi pengguna individual yang diambil sebagai objek sesi.

AlphaEvolveExperiment disarangkan di bawah sesi, yang merepresentasikan satu kali eksekusi agen coding evolusioner yang digunakan untuk penemuan dan pengoptimalan algoritma dalam konteks interaksi pengguna tertentu tersebut.

Hierarki Discovery Engine

Menyediakan resource

  1. Tetapkan Google Cloud project ID Anda:

    Langkah ini mendeklarasikan variabel lingkungan untuk project target Google Cloud Anda, sehingga 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 mesin yang unik dan cocok untuk URL.

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

    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. Pengujian cepat ini memverifikasi otorisasi dan koneksi end-to-end Anda sebelum Anda menjalankan beban kerja pengoptimalan aktif.

Melihat dan menghapus mesin telusur

Gunakan token akses saat ini atau akun layanan yang di-impersonate 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.