Tutorial ini menjelaskan cara men-deploy agen Agent-to-Agent (A2A), yang dibuat dengan Agent Development Kit (ADK) dan ekstensi A2UI, ke Cloud Run. Anda juga akan mempelajari cara mendaftarkan agen yang di-deploy dengan Gemini Enterprise.
Contoh ini menggunakan kode contoh yang tersedia secara publik. Kode contoh untuk tutorial ini memiliki struktur folder berikut.
Struktur folder tutorial
Project ini memiliki struktur folder berikut:
| File/Direktori | Deskripsi |
|---|---|
/samples/community/agent/adk/gemini_enterprise/v0_9 |
Direktori yang berisi contoh konfigurasi dan data untuk tutorial ini. |
__init__.py |
Menandai direktori sebagai paket Python. |
__main__.py |
Titik entri untuk menjalankan agen secara lokal. |
agent.py |
Menentukan agen, kemampuannya, dan perilakunya. |
agent_executor.py |
Mengelola alur eksekusi dan interaksi alat. |
deploy.sh |
Skrip untuk mem-build dan men-deploy agen ke Cloud Run. |
examples/ |
Direktori yang berisi contoh template komponen. |
gemini_enterprise_composite_catalog.json |
Katalog komponen yang menentukan komponen Material standar dan Gemini Enterprise kustom. |
main.py |
Titik entri aplikasi utama (aplikasi FastAPI). |
prompt_builder.py |
Helper untuk membuat perintah untuk model. |
pyproject.toml |
Konfigurasi dan dependensi project. |
examples/0.9/material_table_orders.json |
Template UI contoh yang berisi tata letak dan data tiruan untuk demo pesanan terbaru. |
tools.py |
Menentukan alat (fungsi) yang dapat digunakan agen. |
Sebelum memulai
Sebelum memulai, pastikan Anda memiliki hal-hal berikut:
Peran Admin Discovery Engine.
Aplikasi Gemini Enterprise yang ada. Untuk membuat aplikasi, lihat Membuat aplikasi.
Buat clone repositori dan buka direktori contoh
v0_9:git clone https://github.com/a2ui-project/a2ui.git cd a2ui/samples/community/agent/adk/gemini_enterprise/v0_9
Mengaktifkan API
Aktifkan API berikut untuk project Anda:
Konsol
Aktifkan API berikut:
- Vertex AI API
- Cloud Build API
- Artifact Registry API
- Cloud Run API
- Cloud Logging API
- Discovery Engine API
- Cloud Storage API
- Identity and Access Management (IAM) API
REST
Anda dapat mengaktifkan API ini dari Google Cloud konsol atau menggunakan perintah gcloud CLI berikut:
gcloud services enable aiplatform.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com run.googleapis.com logging.googleapis.com discoveryengine.googleapis.com storage.googleapis.com iam.googleapis.com
Memberikan izin
Berikan izin ke peran Cloud Run Invoker (roles/run.invoker).
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com" \
--role="roles/run.invoker"
Ganti kode berikut:
- PROJECT_ID : ID project Anda.
- PROJECT_NUMBER: Nomor Google Cloud project Anda.
Men-deploy agen
Skrip deploy.sh mengotomatiskan proses deployment. Untuk men-deploy agen,
jalankan skrip dari direktori project dengan ID Google Cloud Anda dan nama
untuk layanan baru Anda. Anda juga dapat menentukan model Gemini yang akan digunakan.
Skrip ini melakukan tindakan berikut:
- Mem-build image container dari kode sumber Anda.
- Mendorong image ke Artifact Registry.
- Men-deploy image ke Cloud Run.
- Menetapkan variabel lingkungan, termasuk
MODELdanAGENT_URLpublik dari layanan itu sendiri.
chmod +x deploy.sh
./deploy.sh PROJECT_ID a2ui-demo-agent MODEL_NAME
Ganti kode berikut:
- PROJECT_ID: ID project Anda.
- MODEL_NAME: Opsional. Ini adalah argumen ketiga untuk skrip. Nilai yang didukung adalah
gemini-2.5-prodangemini-2.5-flash. Jika tidak diberikan, skrip akan menggunakangemini-2.5-flashsecara default.
Setelah skrip selesai, skrip akan mencetak URL layanan agen yang di-deploy. Anda memerlukan URL Layanan ini di langkah berikutnya.
Mendaftarkan agen dengan Gemini Enterprise
Setelah agen di-deploy, Anda harus mendaftarkannya dengan Gemini Enterprise agar dapat ditemukan.
Jalankan perintah curl berikut, ganti placeholder dengan nilai Anda sendiri:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/collections/default_collection/engines/ENGINE_ID/assistants/default_assistant/agents -d '{
"name": "a2ui-demo-agent",
"displayName": "A2UI v0.9 Demo Agent",
"description": "A demo agent that showcases A2UI v0.9 UI templates.",
"a2aAgentDefinition": {
"jsonAgentCard": "{\"protocolVersion\": \"0.3.0\", \"name\": \"A2UI v0.9 Demo\", \"description\": \"A demo agent that showcases A2UI v0.9 UIs built from the Material component catalog and Gemini Enterprise custom components (Canvas, Iframe). Ask it what can you do? to see the available demos.\", \"url\": \"AGENT_URL\", \"version\": \"1.0.0\", \"capabilities\": {\"streaming\": true, \"preferredTransport\": \"JSONRPC\", \"extensions\": [{\"uri\": \"https://a2ui.org/a2a-extension/a2ui/v0.9\", \"description\": \"Ability to render A2UI v0.9\", \"required\": false, \"params\": {\"supportedCatalogIds\": [\"https://www.gstatic.com/vertexaisearch/a2ui/v0_9/gemini_enterprise_composite_catalog.json\"]}}]}, \"skills\": [{\"id\": \"a2ui_demo\", \"name\": \"A2UI v0.9 Component Demo\", \"description\": \"Demonstrates A2UI v0.9 UIs built from the Material catalog and Gemini Enterprise custom components: cards, forms & inputs, tabs, tables, progress indicators, dialogs & menus, the Canvas side panel, and the Iframe (IFrameSrcdoc / IFrameUrl) components.\"}], \"defaultInputModes\": [\"text/plain\"], \"defaultOutputModes\": [\"text/plain\"]}"
}
}'
Ganti kode berikut:
PROJECT_NUMBER: Nomor Google Cloud project Anda.LOCATION: Multi-region penyimpanan data Anda:global,us, ataueuENGINE_ID: ID aplikasi yang ingin Anda gunakan untuk mendaftarkan agen.AGENT_URL: URL layanan agen yang di-deploy.
Membatalkan pendaftaran agen (Opsional)
Jika ingin membatalkan pendaftaran agen, jalankan perintah curl berikut:
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/collections/default_collection/engines/ENGINE_ID/assistants/default_assistant/agents/AGENT_ID
Ganti kode berikut:
PROJECT_NUMBER: Nomor Google Cloud project Anda.LOCATION: Multi-region penyimpanan data Anda:global,us, ataueuENGINE_ID: ID aplikasi yang digunakan untuk mendaftarkan agen.AGENT_ID: ID agen yang ingin Anda hapus.
Menggunakan agen di aplikasi web Gemini Enterprise
Setelah agen dibuat dan didaftarkan, Anda dapat mulai menggunakan dan berinteraksi dengannya di aplikasi web Gemini Enterprise.
Mendapatkan URL aplikasi web
Untuk menggunakan agen, Anda harus mendapatkan URL aplikasi web terlebih dahulu. Administrator Gemini Enterprise dapat memperoleh dan membagikan URL aplikasi web dengan mengikuti langkah-langkah berikut:
Di Google Cloud konsol, buka halaman Gemini Enterprise.
Klik nama aplikasi yang Anda gunakan untuk mendaftarkan agen.
Klik Integrations.
Salin Link ke aplikasi web Anda: dan bagikan kepada pengguna di organisasi.
Menggunakan agen
Untuk menggunakan dan berinteraksi dengan agen, lakukan hal berikut:
- Buka URL aplikasi web di tab browser baru.
- Di menu navigasi aplikasi web, klik Agents.
- Buka bagian From your organization, lalu klik agen yang Anda buat.
- Tindakan ini akan membuka antarmuka percakapan untuk agen. Mulai ajukan pertanyaan dan berinteraksi dengan agen.
Misalnya, Anda dapat menggunakan perintah seperti Show me the recent orders table untuk mendapatkan informasi tentang pesanan terbaru yang merupakan bagian dari data contoh. Agen mengambil informasi pesanan dari material_table_orders.json dan merender daftar dalam chat menggunakan komponen UI kustom, seperti yang ditunjukkan dalam contoh berikut:
