Tutorial Lengkap E2B Code Interpreter: Eksekusi Kode yang Aman untuk Aplikasi AI
E2B Code Interpreter adalah platform sandboxed code execution yang memungkinkan aplikasi AI menjalankan kode secara aman di lingkungan terisolasi. Dalam tutorial ini, kita akan mempelajari cara menggunakan E2B untuk membangun aplikasi AI yang dapat mengeksekusi kode Python, menghasilkan visualisasi, dan memproses data secara real-time.
Apa Itu E2B?
E2B (Environment to Binary) adalah platform cloud yang menyediakan sandbox untuk eksekusi kode. Sandbox ini berjalan di microVM yang terisolasi, sehingga kode yang dijalankan tidak akan mempengaruhi sistem host. E2B sangat berguna untuk membangun AI agent yang perlu menjalankan kode, code interpreter, data analysis tool, dan aplikasi AI interaktif lainnya.
Keunggulan utama E2B:
- Keamanan: Setiap sandbox berjalan di microVM terisolasi dengan filesystem dan network terpisah
- Kecepatan: Sandbox bisa di-spin up dalam hitungan milidetik
- Fleksibilitas: Mendukung Python, JavaScript, R, dan bahasa lainnya
- Integrasi: SDK tersedia untuk Python dan JavaScript/TypeScript
- Persistensi: Mendukung upload/download file dan persistensi data antar eksekusi
Instalasi
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- Python 3.8+ atau Node.js 18+
- Akun E2B (gratis untuk penggunaan dasar)
- API key dari dashboard E2B
Instalasi Python SDK
pip install e2b-code-interpreter
Instalasi JavaScript/TypeScript SDK
npm install @e2b/code-interpreter
Mendapatkan API Key
export E2BAPIKEY="e2bxxxxxxxxxxxxxxxxxxxx"
Atau buat file .env:
E2BAPIKEY=e2bxxxxxxxxxxxxxxxxxxxx
Basic Usage
Menjalankan Kode Python Sederhana
Berikut contoh dasar menjalankan kode Python di sandbox E2B:
from e2bcodeinterpreter import Sandbox
Buat sandbox baru
sandbox = Sandbox()
Jalankan kode Python
execution = sandbox.runcode("print('Hello from E2B sandbox!')")
Ambil output
print(execution.text) # Output: Hello from E2B sandbox!
Tutup sandbox setelah selesai
sandbox.close()
Menggunakan Context Manager
Cara yang lebih idiomatis menggunakan context manager:
from e2bcodeinterpreter import Sandbox
with Sandbox() as sandbox:
execution = sandbox.run
code("""
import sys
print(f"Python version: {sys.version}")
print(f"Platform: {sys.platform}")
""")
print(execution.text)
Menjalankan Multiple Cell
Anda bisa menjalankan beberapa blok kode secara berurutan, dan state akan dipertahankan antar eksekusi:
from e2bcodeinterpreter import Sandbox
with Sandbox() as sandbox:
# Cell 1: Definisikan variabel
sandbox.runcode("""
x = 10
y = 20
data = [1, 2, 3, 4, 5]
""")
# Cell 2: Gunakan variabel dari cell sebelumnya
execution = sandbox.runcode("""
result = x + y
filtered = [d for d in data if d > 2]
print(f"Sum: {result}")
print(f"Filtered: {filtered}")
""")
print(execution.text)
# Output:
# Sum: 30
# Filtered: [3, 4, 5]
Error Handling
E2B menyediakan informasi error yang detail:
from e2bcodeinterpreter import Sandbox
with Sandbox() as sandbox:
execution = sandbox.runcode("""
Kode ini akan menghasilkan error
result = 1 / 0
""")
if execution.error:
print(f"Error type: {execution.error.name}")
print(f"Error message: {execution.error.value}")
print(f"Traceback: {execution.error.traceback}")
else:
print(execution.text)