Consultez les exemples de l’OpenAI Cookbook qui illustrent la gestion par l’application et la gestion par webhook.
Choisissez un mode de provisionnement :
- Gestion par l’application : votre application crée le bac à sable E2B et le connecte directement à la session.
- Gestion par webhook : déployez un gestionnaire qui démarre ou reconnecte les bacs à sable à la réception de webhooks OpenAI.
Consultez la section Cycle de vie du bac à sable pour comparer les deux modes.
Avant de commencer
Définissez E2B_API_KEY et utilisez OPENAI_API_KEY pour les requêtes de votre application. Attribuez à OPENAI_EXECUTOR_API_KEY la valeur d’une clé d’environnement et transmettez uniquement cette clé au bac à sable dans la variable CODEX_API_KEY.
Gestion par webhook
Implémentez un contrôleur qui vérifie les webhooks OpenAI et provisionne un worker E2B distinct pour chaque session. Suivez les instructions de la section Déployer et connecter un gestionnaire pour configurer les identifiants, enregistrer le point de terminaison et vérifier les signatures.
Enregistrez durablement la correspondance entre chaque session et son bac à sable. À la réception d’une demande de connexion, reprenez l’exécution du worker s’il est en pause ou remplacez-le s’il a été supprimé. La mise en pause conserve les fichiers du worker. En cas de remplacement, ils sont perdus. Fixez une durée maximale d’exécution pour le contrôleur et les workers, puis supprimez le webhook OpenAI lorsque vous cessez d’utiliser le contrôleur.
Gestion par l’application
Utilisez le SDK ou l’API d’E2B depuis votre application pour gérer le bac à sable :
- Créez une session auto-hébergée et enregistrez l’identifiant de son environnement.
- Créez un bac à sable E2B isolé avec le répertoire de travail de la session et installez-y la CLI Codex.
- Démarrez l’exécuteur dans le bac à sable à l’aide de l’identifiant et de la clé de l’environnement.
- Suivez les instructions de la section Exécuter et poursuivre des sessions pour envoyer des données d’entrée et vérifier le résultat du tour.
- Une fois votre travail terminé, supprimez la session et arrêtez le bac à sable E2B.
Configurez séparément la durée de vie du bac à sable et le délai d’expiration de la commande qui lance l’exécuteur. Même si la commande n’a pas de délai d’expiration, le bac à sable s’arrête à la fin de sa durée de vie.
Références
- Consultez la documentation d’E2B
- Consultez le SDK Python d’E2B
- Consultez le SDK TypeScript d’E2B