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

Google Cloud project dan lisensi

  • Google Cloud project: Buatproject khusus Google Cloud . Untuk penyediaan project, berkoordinasilah dengan tim akun yang ditetapkan Google Cloud .

  • Lisensi Gemini Enterprise: Beli lisensi Gemini Enterprise melalui perwakilan penjualan Anda Google Cloud . 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, penetapan IAM, dan 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 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 AlphaEvolve on Cloud API.
  • 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 transport 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. SetelID 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 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 mudah dibaca, 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 diinginkan.

    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 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 identitasnya dapat ditiru 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 menjalankan pengoptimalan.

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

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

Mengaktifkan API yang diperlukan

Administrator cloud harus mengaktifkan dua API di project:

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

  • Vertex AI API (aiplatform.googleapis.com), yang menyediakan Gemini API di Vertex AI. AlphaEvolve menghasilkan setiap program kandidat dengan kumpulan 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 Admin Penggunaan Layanan (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}"

Pastikan kedua API 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 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. 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 berada di bawah sesi, yang mewakili satu kali menjalankan agen pengkodean evolusioner yang digunakan untuk penemuan dan pengoptimalan algoritma dalam konteks interaksi pengguna tertentu tersebut.

Hierarki Discovery Engine

Menyediakan resource

  1. SetelID 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 mesin Anda:

    Langkah ini mendeklarasikan variabel lingkungan untuk ID unik mesin yang mudah digunakan URL.

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

    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 mudah digunakan 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 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 identitas akun layanan, dan memverifikasi tata letak mesin, jalankan pemeriksaan akhir ini. Pengujian cepat ini memverifikasi otorisasi dan koneksi menyeluruh Anda sebelum menjalankan workload pengoptimalan aktif.

Melihat dan menghapus mesin

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