Sandbox standar menyediakan kumpulan library yang telah ditentukan, yang menyediakan solusi siap pakai untuk tugas tertentu seperti eksekusi kode dan penggunaan komputer. Untuk workload agen yang memerlukan dependensi, library, alat kustom, atau antarmuka data plane khusus, Anda dapat menyediakan image container Anda sendiri (juga dikenal sebagai bring your own container 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
Membuat 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 Gemini Enterprise Agent Platform 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.
Menambahkan image ke Artifact Registry: Tambahkan image Anda ke Google Cloud Artifact Registry tempat Platform Agen dapat mengaksesnya. Saat Anda menyediakan sandbox, berikan URI image Artifact Registry.
Mengonfigurasi izin
Untuk mengizinkan Sandbox Agen menarik image container kustom Anda dari Artifact Registry,
berikan peran Pembaca Artifact Registry
(roles/artifactregistry.reader) pada repositori yang berisi image ke
agen layanan Sandbox Agen:
- Agen layanan Sandbox Agen:
service-PROJECT_NUMBER@gcp-sa-vertex-sandbox.iam.gserviceaccount.com
Ganti PROJECT_NUMBER dengan nomor project untuk project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Memberikan izin kepada agen layanan.
Membuat instance Platform Agen
Jika Anda tidak memiliki instance Platform Agen, 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 Anda Google Cloud .LOCATION: Region untuk instance Platform Agen Anda. Google Cloud Lihat Region yang didukung.
Membuat sandbox container kustom
Untuk membuat sandbox container kustom, Anda harus membuat template sandbox (SandboxEnvironmentTemplate) terlebih dahulu. Setelah Anda membuat template, Platform Agen akan membuat kumpulan yang telah diaktifkan yang terkait dengan template untuk memberikan waktu startup yang lebih cepat dan lebih andal.
Untuk membuat template, tentukan resource SandboxEnvironmentTemplate, yang menentukan konfigurasi untuk container kustom Anda:
- Image container: URI image kustom yang telah dibuat sebelumnya dan 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}")
Membuat 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}")