Sandbox standar menyediakan serangkaian library yang telah ditentukan sebelumnya, yang menyediakan solusi siap pakai untuk tugas tertentu seperti eksekusi kode dan penggunaan komputer. Untuk workload agentic yang memerlukan dependensi, library, alat kustom, atau antarmuka bidang data khusus, Anda dapat menyediakan image container Anda sendiri (juga dikenal sebagai bawa container Anda sendiri atau BYOC). Fitur ini memungkinkan Anda menjalankan workload kustom dalam batas aman lingkungan sandbox.
Sebelum memulai
Siapkan project, repositori image, dan izin Anda.
Menyiapkan image container Anda
Bangun image container: Buat image Docker yang berisi lingkungan kustom Anda. Untuk memastikan kompatibilitas dengan sandbox Gemini Enterprise Agent Platform, image kustom Anda harus memenuhi persyaratan berikut:
- OS: Berbasis Linux (misalnya, Debian atau Ubuntu).
- Runner: Harus menyertakan runner atau titik entri yang kompatibel yang dapat digunakan Platform Agen Gemini Enterprise untuk menjalankan perintah.
- Keamanan: Tidak boleh memerlukan hak istimewa root atau akses ke resource sistem yang dibatasi, karena image akan berjalan dalam sandbox yang aman dan terisolasi.
Tambahkan gambar ke Artifact Registry: Tambahkan gambar Anda ke Google Cloud Artifact Registry tempat Platform Agen dapat mengaksesnya. Saat Anda menyediakan sandbox, berikan URI image Artifact Registry.
Konfigurasikan izin
Untuk mengizinkan Agent Sandbox menarik image container kustom Anda dari Artifact Registry, berikan peran Artifact Registry Reader
(roles/artifactregistry.reader) di repositori yang berisi image tersebut kepada
agen layanan Agent Sandbox:
- Agen layanan Agent Sandbox:
service-<var>PROJECT_NUMBER</var>@gcp-sa-vertex-sandbox.iam.gserviceaccount.com
Ganti <var>PROJECT_NUMBER</var> dengan nomor project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Memberikan izin kepada agen layanan.
Membuat instance Agent Platform
Jika Anda tidak memiliki instance Agent Platform, buat instance.
import vertexai
client = vertexai.Client(
project='PROJECT_ID',
location='LOCATION',
http_options={
"api_version": "v1beta1",
}
)
agent_instance = client.agent_engines.create()
agent_instance_name = agent_instance.api_resource.name
Ganti kode berikut:
PROJECT_ID: Project ID Google Cloud Anda.LOCATION: Google Cloud Region untuk instance Agent Platform Anda. Lihat Wilayah yang didukung.
Membuat sandbox container kustom
Untuk membuat sandbox penampung kustom, Anda harus membuat template sandbox terlebih dahulu (SandboxEnvironmentTemplate). Setelah Anda membuat template, Agent Platform akan membuat kumpulan yang sudah dipanaskan yang terkait dengan template untuk memberikan waktu mulai yang lebih cepat dan lebih andal.
Untuk membuat template, tentukan resource SandboxEnvironmentTemplate, yang
menentukan konfigurasi untuk container kustom Anda:
- Image container: URI image kustom bawaan yang dihosting di Artifact Registry.
- Port: Port jaringan yang akan diekspos dari container.
Membuat template
# Create a custom sandbox template
templates_client = client.agent_engines.sandboxes.templates
operation = templates_client.create(
name=agent_instance_name,
display_name="DISPLAY_NAME",
config={
"custom_container_environment": {
"custom_container_spec": {
"image_uri": "IMAGE_LOCATION"
},
"resources": {
"requests": {
"cpu": "1",
"memory": "500Mi"
},
"limits": {
"cpu": "1",
"memory": "500Mi"
}
},
"ports": [
{
"port": PORT_NUMBER,
"protocol": "TCP"
}
]
},
"egress_control_config": {
"internet_access": True
}
}
)
template_name = operation.response.name
print(f"Template created: {template_name}")
Buat sandbox
Setelah menentukan template, Anda dapat menyediakan lingkungan sandbox baru dengan mereferensikan nama resource template.
# Provision a sandbox referencing the template
create_operation = client.agent_engines.sandboxes.create(
name=agent_instance_name,
config={
"sandbox_environment_template": template_name,
"display_name": "DISPLAY_NAME"
}
)
sandbox = create_operation.response
print(f"Sandbox environment provisioned: {sandbox.name}")
Langkah berikutnya
- Pelajari cara mengelola sandbox Anda.