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