Skip to main content
Modul dspy.RLM memungkinkan penambahan tools kustom yang dapat dipanggil langsung oleh model dari dalam kode Python REPL. Untuk skala produksi, runtime eksekusi kode lokal (Deno WASM) dapat diganti dengan sandbox cloud terisolasi (seperti E2B atau Daytona) menggunakan interpreter_factory.

Kode Cepat: Tools Kustom dengan Text Streaming

Tambahkan fungsi host-side ke parameter tools=[...] dan gunakan dspy.streamify untuk melihat alur pemanggilan fungsi secara real-time:

Mekanisme Injeksi Tools pada RLM

Fungsi yang didaftarkan pada parameter tools dimasukkan langsung ke namespace interpreter kode Python RLM:
  1. Host-Side Execution: Fungsi dieksekusi di lingkungan host Python Anda dengan hak akses penuh ke database internal, API kredensial, atau kalkulator bisnis.
  2. Kesesuaian Tipe Data: Nilai yang dikembalikan tool harus berupa tipe data yang dapat di-serialize ke JSON (seperti int, float, str, dict, list).
  3. Dokumentasi Docstring: Docstring fungsi dibaca oleh RLM untuk memahami fungsi, parameter, dan format output sebelum menulis kode pemanggil.

Menghubungkan Sandbox Cloud Remote

Secara default, DSPy menggunakan PythonInterpreter berbasis Deno/WASM lokal. Untuk beban kerja produksi yang membutuhkan isolasi ketat atau dependency pip khusus, Anda dapat mengimplementasikan protocol CodeInterpreter dan meneruskannya via interpreter_factory.

Protocol CodeInterpreter

Setiap interpreter kustom harus menyediakan antarmuka berikut:

Pola Integrasi Sandbox E2B Cloud

Berikut pola adapter untuk mengeksekusi kode RLM di dalam MicroVM Firecracker E2B:

Perbandingan Opsi Runtime Sandbox

Panduan Terkait