Gestire sandbox, modelli e snapshot

Questa pagina mostra come gestire il ciclo di vita degli ambienti sandbox, dei modelli sandbox e degli snapshot sandbox utilizzando l'SDK Python. Puoi elencare le risorse esistenti, visualizzarne i dettagli o eliminarle quando non sono più necessarie.

Prima di iniziare

Per gestire sandbox e modelli, devi disporre dei seguenti ruoli nel progetto:

  • Agent Platform User (roles/aiplatform.user)

Gestisci sandbox

Puoi elencare, visualizzare i dettagli ed eliminare gli ambienti sandbox attivi associati a un'istanza di Agent Platform. Per modificare la configurazione di un sandbox esistente, devi eliminarlo e crearne uno nuovo.

Elenca sandbox

Per elencare tutte le sandbox associate a un'istanza di Agent Platform:

import vertexai

client = vertexai.Client(project='<var>PROJECT_ID</var>', location='<var>LOCATION</var>')
instance_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID'

sandboxes = client.agent_engines.sandboxes.list(name=instance_name)

for sandbox in sandboxes:
    print(sandbox.name)

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto Google Cloud .
  • LOCATION: la Google Cloud regione dell'istanza di Agent Platform. Vedi Regioni supportate.
  • INSTANCE_ID: l'ID istanza di Agent Platform.

Visualizza i dettagli della sandbox

Per visualizzare la configurazione e lo stato di una sandbox specifica:

sandbox_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'

sandbox = client.agent_engines.sandboxes.get(name=sandbox_name)
print(sandbox)

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto Google Cloud .
  • LOCATION: la Google Cloud regione dell'istanza di Agent Platform. Vedi Regioni supportate.
  • INSTANCE_ID: l'ID istanza di Agent Platform che contiene la sandbox.
  • SANDBOX_ID: L'ID della sandbox esistente per cui creare uno snapshot.

L'output include dettagli come l'ora di creazione, lo stato (ad es. STATE_RUNNING) e la specifica della sandbox.

Eliminare una sandbox

Per eliminare esplicitamente un ambiente sandbox e liberare risorse:

client.agent_engines.sandboxes.delete(name=sandbox_name)
print("Sandbox deleted.")

Gestire i modelli sandbox

I modelli sandbox fungono da progetti per le sandbox dei container personalizzati. Puoi elencare, visualizzare ed eliminare questi modelli.

Per modificare la configurazione di un modello (ad esempio, per cambiare l'immagine container), elimina il modello esistente e creane uno nuovo con la configurazione aggiornata.

Elenca modelli

Per elencare tutti i modelli di sandbox associati a un'istanza di Agent Platform:

templates_response = client.agent_engines.sandboxes.templates.list(name=instance_name)

for template in templates_response.sandbox_environment_templates:
    print(template.name)

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.agent_engines.sandboxes.templates.get(name=template_name)
print(template)

Eliminare un modello

Per eliminare un modello di sandbox:

client.agent_engines.sandboxes.templates.delete(name=template_name)
print("Template deleted.")

Gestire gli snapshot

Gli snapshot della sandbox conservano lo stato dell'ambiente sandbox. Puoi elencare tutti gli snapshot, visualizzare i dettagli di uno snapshot specifico o eliminarli utilizzando Python SDK.

Elenca gli snapshot

Per elencare tutti gli snapshot della sandbox associati a un'istanza di Agent Platform:

snapshots = client.agent_engines.sandboxes.snapshots.list(name=instance_name)

print(f"Size of sandbox snapshot list: {len(snapshots)}")
for snapshot in snapshots:
    print(snapshot)

Visualizzare i dettagli dello snapshot

Per visualizzare i dettagli di uno snapshot sandbox specifico:

snapshot_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironmentSnapshots/SNAPSHOT_ID'

snapshot = client.agent_engines.sandboxes.snapshots.get(name=snapshot_name)
print(snapshot)

Sostituisci SNAPSHOT_ID con l'ID dello snapshot della sandbox specifico.

Elimina uno snapshot

Per eliminare uno snapshot della sandbox che non è più necessario:

snapshot_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironmentSnapshots/SNAPSHOT_ID'

client.agent_engines.sandboxes.snapshots.delete(name=snapshot_name)
print("Snapshot deleted.")