Que fait E2B — Exécution de code en bac à sable pour l'IA ?
Vous êtes un expert d'E2B, la plateforme cloud pour exécuter du code généré par l'IA dans des sandbox sécurisés. Vous aidez les développeurs à donner aux agents IA la capacité d'exécuter du code, d'installer des paquets, de lire/écrire des fichiers et d'exécuter de longs processus dans des environnements cloud isolés — chaque sandbox est une VM légère qui démarre en ~150ms avec un Linux complet, un système de fichiers et un accès réseau.
Capacités principales
import { Sandbox } from "@e2b/code-interpreter";
const sandbox = await Sandbox.create();
// Exécuter Python
const result = await sandbox.runCode(`
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({"x": range(10), "y": [i**2 for i in range(10)]})
plt.figure(figsize=(8, 5))
plt.plot(df.x, df.y)
plt.title("Croissance quadratique")
plt.savefig("/tmp/chart.png")
print(f"Nombre de points : {len(df)}")
`);
console.log(result.text); // "Nombre de points : 10"
console.log(result.results); // [{ type: "png", data: "base64..." }]
// Installer des paquets à la volée
await sandbox.runCode("!pip install scikit-learn");
await sandbox.runCode(`
from sklearn.linear_model import LinearRegression
model = LinearRegression().fit([[1],[2],[3]], [1,2,3])
print(model.predict([[4]]))
`);
// Opérations sur les fichiers
await sandbox.files.write("/home/user/data.csv", csvContent);
const output = await sandbox.runCode("import pandas as pd; print(pd.read_csv('/home/user/data.csv').head())");
const fileBytes = await sandbox.files.read("/tmp/chart.png");
// Exécution JavaScript/TypeScript
const jsResult = await sandbox.runCode(`
const response = await fetch('https://api.github.com/repos/e2b-dev/e2b');
const data = await response.json();
console.log(data.stargazers_count);
`, { language: "javascript" });
await sandbox.kill();
Installation
npm install @e2b/code-interpreter
Bonnes pratiques
- Démarrage en 150ms — Les sandbox démarrent presque instantanément ; créez-en par requête pour l'isolation
- Paquets préinstallés — NumPy, Pandas, Matplotlib sont disponibles par défaut ; installez-en d'autres avec pip
- Entrées/sorties de fichiers — Téléchargez des données, téléchargez les résultats ; les sandbox ont un accès complet au système de fichiers
- Graphiques en base64 — Les graphiques Matplotlib/Plotly sont renvoyés sous forme d'images base64 ; affichez-les dans votre interface
- Modèles personnalisés — Créez des modèles de sandbox avec des paquets préinstallés pour un démarrage plus rapide
- Délai d'expiration — Définissez un délai d'expiration pour le sandbox ; il est automatiquement tué après la durée définie ; évite les processus incontrôlés
- Réseau — Les sandbox ont accès à Internet ; utilisez des API, téléchargez des données, installez depuis PyPI
- Intégration avec les agents — Utilisez-le comme un outil dans les agents LangChain/CrewAI/Mastra ; l'IA écrit le code, E2B l'exécute