Gestire i modelli sandbox

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.")