Anda dapat membuat konfigurasi opsional berikut untuk agen:
Menentukan persyaratan paket
Berikan kumpulan paket yang diperlukan oleh agen untuk deployment. Kumpulan
paket dapat berupa daftar item yang akan diinstal oleh pip, atau jalur ke
file yang mengikuti Format File Persyaratan.
Gunakan praktik terbaik berikut:
Sematkan versi paket Anda untuk build yang dapat direproduksi. Paket umum yang perlu
dipantau mencakup: google-cloud-aiplatform,
cloudpickle, langchain, langchain-core,
langchain-google-vertexai, dan pydantic.
Minimalkan jumlah dependensi di agen Anda. Hal ini mengurangi jumlah perubahan yang merusak saat memperbarui dependensi dan agen Anda.
Jika agen tidak memiliki dependensi, Anda dapat menyetel requirements
ke None:
requirements=None
Jika agen menggunakan template khusus framework, Anda harus menentukan versi SDK yang diimpor (seperti 1.112.0) saat mengembangkan agen.
Anda dapat menyertakan file atau direktori lokal yang berisi file sumber Python
lokal yang diperlukan. Dibandingkan dengan persyaratan paket,
hal ini memungkinkan Anda menggunakan utilitas pribadi yang telah dikembangkan yang tidak tersedia
di PyPI atau GitHub.
Jika agen tidak memerlukan paket tambahan, Anda dapat menetapkan
extra_packages ke None:
extra_packages=None
Anda juga dapat melakukan hal berikut dengan extra_packages:
Sertakan satu file (seperti agents/agent.py):
extra_packages=["agents/agent.py"]
Sertakan kumpulan file di seluruh direktori (misalnya,
agents/):
extra_packages=["agents"]# directory that includes agents/agent.py
requirements=["google-cloud-aiplatform[agent_engines,adk]","cloudpickle==3.0","python_package.whl",# install from the whl file that was uploaded]extra_packages=["path/to/python_package.whl"]# bundle the whl file for uploading
Menentukan variabel lingkungan
Jika ada variabel lingkungan yang bergantung pada agen Anda, Anda dapat
menentukannya dalam argumen env_vars=. Jika agen tidak bergantung pada variabel lingkungan apa pun, Anda dapat menyetelnya ke None:
env_vars=None
Untuk menentukan variabel lingkungan, ada beberapa opsi berbeda yang tersedia:
Anda juga perlu mengikuti petunjuk di Menyiapkan identitas dan izin untuk agen Anda
untuk memberikan izin Secret Manager Secret Accessor
(roles/secretmanager.secretAccessor) kepada agen Anda.
Menentukan kontrol resource yang disesuaikan
Anda dapat menentukan kontrol resource runtime untuk agen, seperti jumlah minimum dan maksimum instance aplikasi, batas resource untuk setiap container, dan konkurensi untuk setiap container.
min_instances: Jumlah minimum instance aplikasi yang harus tetap berjalan setiap saat, dengan rentang [0, 10]. Nilai default adalah 1.
max_instances: Jumlah maksimum instance aplikasi yang
dapat diluncurkan untuk menangani peningkatan traffic, dengan rentang [1, 1000].
Nilai defaultnya adalah 100. Jika VPC-SC atau PSC-I diaktifkan, rentang yang dapat diterima adalah [1, 100].
resource_limits: Batas resource untuk setiap container. Hanya
tombol cpu dan memory yang didukung. Nilai defaultnya adalah {"cpu": "4", "memory": "4Gi"}.
Nilai yang didukung untuk cpu hanyalah 1, 2, 4, 6, dan
8. Untuk mengetahui informasi selengkapnya, lihat
Mengonfigurasi alokasi CPU.
Satu-satunya nilai yang didukung untuk memory adalah 1Gi, 2Gi, ...
32Gi.
container_concurrency: Serentak untuk setiap server agen dan
container. Nilai yang direkomendasikan adalah 2 * cpu + 1. Nilai defaultnya adalah 9.
remote_agent=client.agent_engines.create(agent=local_agent,config={"min_instances":1,"max_instances":10,"resource_limits":{"cpu":"4","memory":"8Gi"},"container_concurrency":9,# ... other configs})
Menentukan opsi build
Anda dapat menentukan opsi build untuk agen, seperti skrip penginstalan yang akan dijalankan saat membangun image container agen. Hal ini berguna untuk menginstal
dependensi sistem (misalnya, gcloud cli, npx) atau
penyiapan kustom lainnya. Skrip dijalankan dengan izin root.
Untuk menggunakan skrip penginstalan, buat direktori bernama
installation_scripts dan tempatkan skrip shell Anda di dalam
direktori:
Artefak penyiapan akan ditimpa jika sesuai dengan
folder yang ada di bucket Cloud Storage.
Jika perlu, Anda dapat menentukan folder Cloud Storage untuk artefak penyiapan. Anda dapat menyetel gcs_dir_name ke None jika Anda tidak keberatan file di folder default berpotensi ditimpa:
gcs_dir_name=None
Untuk menghindari penimpaan file (seperti untuk lingkungan yang berbeda seperti
pengembangan, staging, dan produksi), Anda dapat menyiapkan folder yang sesuai,
dan menentukan folder untuk melakukan staging artefak di dalamnya:
gcs_dir_name="dev"# or "staging" or "prod"
Jika ingin atau perlu menghindari tabrakan, Anda dapat membuat uuid acak:
display_name="Currency Exchange Rate Agent (Staging)"description="""An agent that has access to tools for looking up the exchange rate.If you run into any issues, please contact the dev team."""
Untuk mengetahui set lengkap parameter, lihat referensi API.
Mengonfigurasi akun layanan kustom
Anda dapat mengonfigurasi akun layanan kustom sebagai identitas agen yang di-deploy, bukan identitas
default.
Untuk melakukannya, tentukan email akun layanan kustom Anda sebagai
service_account saat membuat atau memperbarui instance Agent Engine, misalnya:
# Create a new instanceclient.agent_engines.create(agent=local_agent,config={"service_account":"my-custom-service-account@my-project.",# ...},)# Update an existing instanceresource_name="projects/{project_id}/locations/{location}/reasoningEngines/{reasoning_engine_id}"client.agent_engines.update(name=resource_name,agent=local_agent,config={"service_account":"my-new-custom-service-account@my-project.",# ...},)
NETWORK_ATTACHMENT adalah nama atau jalur lengkap
lampiran jaringan Anda. Jika lampiran jaringan dibuat di project
(seperti project host VPC Bersama) yang berbeda dengan tempat Anda menggunakan
Agent Engine, Anda perlu meneruskan jalur lengkap lampiran jaringan.
DOMAIN_SUFFIX adalah nama DNS zona Cloud DNS pribadi yang Anda buat saat menyiapkan Peering DNS pribadi.
TARGET_PROJECT adalah project yang menghosting jaringan
VPC.
TARGET_NETWORK adalah nama jaringan VPC.
Anda dapat mengonfigurasi beberapa agen untuk menggunakan lampiran jaringan bersama tunggal atau lampiran jaringan khusus yang unik. Untuk menggunakan lampiran
jaringan bersama, berikan lampiran jaringan yang sama di
psc_interface_config untuk setiap agen yang Anda buat.
Mengonfigurasi kunci enkripsi yang dikelola pelanggan
Anda dapat menggunakan kunci kustom untuk mengenkripsi data agen Anda saat tidak digunakan. Lihat Kunci enkripsi yang dikelola pelanggan (CMEK) Agent
Engine untuk mengetahui detail selengkapnya.
Untuk mengonfigurasi kunci kustom (CMEK) untuk agen, Anda harus memberikan
nama resource kunci ke parameter encryption_spec saat
membuat instance Agent Engine.
# The fully qualified key namekms_key_name="projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"remote_agent=client.agent_engines.create(agent=local_agent,config={"encryption_spec":{"kms_key_name":kms_key_name},# ... other parameters},)
Buat instance AgentEngine
Untuk men-deploy agen di Vertex AI, gunakan client.agent_engines.create untuk meneruskan objek local_agent beserta konfigurasi opsional:
dependencies.tar.gz file tar yang berisi paket tambahan.
Bundle diupload ke Cloud Storage (di folder yang sesuai) untuk penyiapan artefak.
URI Cloud Storage untuk artefak masing-masing ditentukan dalam
PackageSpec.
Layanan Vertex AI Agent Engine menerima permintaan, membangun container, dan memulai server HTTP di backend.
Latensi deployment bergantung pada total waktu yang diperlukan untuk menginstal paket yang diperlukan. Setelah di-deploy, remote_agent sesuai dengan instance
local_agent yang berjalan di Vertex AI dan dapat dikueri atau
dihapus. Agent ini terpisah dari instance lokal agent.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-10-13 UTC."],[],[]]