Ogni sandbox è supportata da un modello di ambiente sandbox, che descrive l' immagine container da eseguire. I modelli di sandbox fungono da progetti per le sandbox di container personalizzati. Questa pagina mostra come gestire il ciclo di vita dei modelli di sandbox utilizzando l'SDK Agent Platform. Puoi elencare i modelli esistenti, visualizzarne i dettagli o eliminarli quando non sono più necessari.
Per modificare la configurazione di un modello (ad esempio modificando l'immagine container), elimina il modello esistente e creane uno nuovo con la configurazione aggiornata.
Prima di iniziare
Per gestire i modelli di sandbox, devi disporre dei seguenti ruoli nel progetto:
- Agent Platform User (
roles/aiplatform.user)
Riutilizzare i modelli nelle sandbox
Per le sandbox di utilizzo del computer e della shell, se non specifichi un modello, viene creato il modello predefinito (DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE o DEFAULT_CONTAINER_CATEGORY_SHELL_SANDBOX) per la sandbox.
Un nuovo modello viene creato durante ogni chiamata create() che non nomina un modello. L'eliminazione della sandbox non elimina il modello, quindi devi eliminare i modelli separatamente. Se crei molte sandbox, ti consigliamo di riutilizzare i modelli per conservare le risorse.
Crea un modello:
from agentplatform._genai import types
template_op = client.agent_engines.sandboxes.templates.create(
name=instance_name,
display_name="shell-sandbox-template",
config=types.CreateSandboxEnvironmentTemplateConfig(
default_container_environment=types.SandboxEnvironmentTemplateDefaultContainerEnvironment(
default_container_category=types.DefaultContainerCategory.DEFAULT_CONTAINER_CATEGORY_SHELL_SANDBOX,
),
),
)
template = template_op.response.name
Associa ogni sandbox al modello impostando sandbox_environment_template:
operation = client.sandboxes.create(
name=instance_name,
spec={"shell_environment": {}},
config={
"sandbox_environment_template": template,
"wait_for_completion": True,
},
)
Elenca modelli
Per elencare tutti i modelli di sandbox associati a un'istanza di Agent Platform:
import agentplatform
client = agentplatform.Client(project='PROJECT_ID', location='LOCATION')
instance_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID'
templates_response = client.sandboxes.templates.list(name=instance_name)
for template in templates_response.sandbox_environment_templates:
print(template.name)
Sostituisci quanto segue:
PROJECT_ID: l' Cloud de Confiance ID progetto.LOCATION: La Cloud de Confiance regione dell'istanza di Agent Platform. Vedi Regioni supportate.INSTANCE_ID: l'ID istanza di Agent Platform.
Visualizza i dettagli del modello
Per visualizzare la configurazione di un modello di sandbox specifico:
template_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/SandboxEnvironmentTemplate/TEMPLATE_ID'
template = client.sandboxes.templates.get(name=template_name)
print(template)
Sostituisci quanto segue:
PROJECT_ID: l' Cloud de Confiance ID progetto.LOCATION: La Cloud de Confiance regione dell'istanza di Agent Platform. Vedi Regioni supportate.INSTANCE_ID: l'ID istanza di Agent Platform che contiene il modello di sandbox.TEMPLATE_ID: l'ID modello di sandbox.
Visualizza il modello di una sandbox
Per visualizzare il modello di sandbox associato a una sandbox, esegui il comando seguente:
print(sandbox.sandbox_environment_template)
Elimina un modello
Per eliminare un modello di sandbox:
client.sandboxes.templates.delete(name=template_name)
print("Template deleted.")