Aller au contenu principal

enterprise_ai.sandbox

Source : sdks/python/src/enterprise_ai/sandbox/__init__.py. Retour à l'index de la référence du SDK Python.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Classe SandboxClient​

Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.

Resource

SandboxClient.execute​

execute(image: str, command: list[str] | None = None, profile: str = 'gvisor', limits: dict[str, Any] | None = None, env: dict[str, str] | None = None, run_id: str | None = None, **extra: Any) -> Any

Exécuter une commande en sandbox. Crée une exécution en sandbox : l'image et la commande tournent comme Job Kubernetes avec la classe de runtime du profil (gVisor, Kata, Wasm) quand Kubernetes est configuré (status: submitted, ou failed si la soumission échoue). Demande tenant_admin, developer ou agent ; le profil none demande tenant_admin (403). Un profil, une image ou des limites invalides répondent 422 invalid_sandbox. L'usage est mesuré et la demande auditée sous sandbox.execute.

Route : /v1/sandbox/executions (POST).

NomTypeDéfautRequisDescription
imagestrouiRéférence de l'image de conteneur (1 à 500 caractères, chemin de registre en minuscules, tag ou empreinte admis).
commandlist[str] | NoneNonenonCommande et arguments, un élément par argument.
profilestr'gvisor'nonProfil d'isolation : gvisor (par défaut), kata, wasm ou none (sans isolation, tenant_admin seulement).
limitsdict[str, Any] | NoneNonenonLimites de ressources : cpu (500m par défaut, 4 cœurs au plus), memory (512Mi par défaut, 8Gi au plus), timeout_seconds (1 à 3600, 300 par défaut), gpu (1 au plus), max_steps.
envdict[str, str] | NoneNonenonVariables d'environnement, valeurs textuelles.
run_idstr | NoneNonenonRun auquel appartient l'exécution (doit exister) ; sert au comptage d'usage.
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Exécuter une commande en sandbox ».

Erreurs levées : ValueError, les erreurs typées du transport (Erreurs).

SandboxClient.get​

get(execution_id: str) -> Any

Lire une exécution en sandbox. Renvoie l'exécution en sandbox : profil, image, commande, limites, spécification de Job Kubernetes générée, statut, exécuteur et résultat. 404 sandbox_execution_not_found.

Route : /v1/sandbox/executions/{execution_id} (GET).

NomTypeDéfautRequisDescription
execution_idstrouiIdentifiant (UUID) de l'exécution en sandbox.

Retour : Any. Réponse JSON décodée de l'opération « Lire une exécution en sandbox ».

Erreurs levées : les erreurs typées du transport (Erreurs).

SandboxClient.wait​

wait(execution_id: str, timeout: float = 300.0, interval: float = 1.0) -> dict[str, Any]

Interroge le serveur jusqu'à la fin de l'exécution (client synchrone uniquement).

NomTypeDéfautRequisDescription
execution_idstrouiIdentifiant de l'exécution en bac à sable.
timeoutfloat300.0nonAttente maximale en secondes (300 par défaut) ; la dernière lecture est alors renvoyée sans erreur.
intervalfloat1.0nonSecondes entre deux lectures (1 par défaut).

Retour : dict[str, Any]. L'exécution, terminée si son statut est succeeded, failed, timeout, killed ou cancelled.

Erreurs levées : TypeError.

SandboxClient.wait_async​

async wait_async(execution_id: str, timeout: float = 300.0, interval: float = 1.0) -> dict[str, Any]

Interroge le serveur de façon asynchrone jusqu'à la fin de l'exécution.

NomTypeDéfautRequisDescription
execution_idstrouiIdentifiant de l'exécution en bac à sable.
timeoutfloat300.0nonAttente maximale en secondes (300 par défaut) ; la dernière lecture est alors renvoyée sans erreur.
intervalfloat1.0nonSecondes entre deux lectures (1 par défaut).

Retour : dict[str, Any]. L'exécution, terminée si son statut est succeeded, failed, timeout, killed ou cancelled.