API Code Interpreter
Jalankan kode dengan aman dan kelola file secara mulus dengan Code Interpreter API LibreChat
Pendahuluan
API Code Interpreter LibreChat menyediakan cara yang aman dan bebas hambatan untuk mengeksekusi kode dan mengelola file melalui antarmuka API yang sederhana. Baik Anda menggunakannya melalui Agen LibreChat atau mengintegrasikannya langsung ke dalam aplikasi Anda, API ini menawarkan lingkungan sandbox yang canggih untuk menjalankan kode dalam berbagai bahasa pemrograman.
Sumber terbuka
Code Interpreter LibreChat ditenagai oleh ClickHouse/code-interpreter, sebuah layanan eksekusi kode sandboxed sumber terbuka (Apache 2.0). Lakukan self-host dan arahkan LibreChat ke instans Anda sendiri.
Memulai
- Deploy layanan code-interpreter (Docker Compose atau Helm, lihat README repositori tersebut)
- Arahkan LibreChat ke sana dengan variabel lingkungan
LIBRECHAT_CODE_BASEURLdanLIBRECHAT_CODE_API_KEY - Mulai jalankan kode dan buat file secara aman melalui Agen LibreChat atau tombol "Run Code"
Fitur Utama
Bahasa yang Didukung
Jalankan kode dalam berbagai bahasa pemrograman:
- Python, Node.js (JS/TS), Go, C/C++, Java, PHP, Rust, Fortran, Rscript
Penanganan File yang Mulus
- Unggah file untuk diproses
- Unduh output yang dihasilkan
- Manajemen file yang aman
- Pengorganisasian file berbasis sesi
Keamanan & Kenyamanan
- Lingkungan eksekusi sandbox yang aman
- Mode isolasi yang kuat (NsJail atau microVM melalui libkrun)
- Tidak diperlukan pengaturan lokal untuk pengguna akhir
- Penyimpanan file berbasis sesi yang terisolasi
Pemanggilan Alat Secara Programatis
Programmatic Tool Calling memungkinkan Agen LibreChat untuk merutekan alat MCP yang dipilih melalui sandbox Code Interpreter. Alih-alih meminta model untuk memanggil setiap alat secara langsung, LibreChat menyediakan alat orkestrasi yang didukung oleh Code Interpreter; kode sandbox yang dihasilkan dapat memanggil stub alat yang terdaftar, menggunakan perulangan dan kondisional, memproses hasil antara, dan mengembalikan jawaban akhir.
Sandbox masih belum menerima akses jaringan umum. Panggilan alat (tool calls) diperantarai melalui Code Interpreter Tool Call Server dan peta alat yang terdaftar di LibreChat, sehingga hanya alat yang tersedia bagi agen yang dapat dipanggil.
Menggunakan API
Di LibreChat
API memiliki dukungan kelas satu di LibreChat melalui metode-metode utama berikut:
-
AI Agents: Aktifkan Code Interpreter dalam konfigurasi agen Anda agar agen tersebut dapat menjalankan kode dan memproses file secara otomatis.
-
Eksekusi Manual: Gunakan tombol "Run Code" di dalam blok kode di antarmuka obrolan, seperti yang ditunjukkan di sini:
-
Programmatic Tool Calling: Aktifkan kapabilitas
programmatic_toolsdan tandai alat MCP yang dipilih sebagai Programmatic agar agen dapat mengatur alat-alat tersebut dari kode yang di-sandbox.

Menyiapkan API key
- Penyiapan per-pengguna: masukkan kunci API Anda di LibreChat saat diminta (menggunakan metode di atas)
- Pengaturan global: gunakan variabel lingkungan
LIBRECHAT_CODE_API_KEYdi dalam file .env pada proyek Anda (memberikan akses ke semua pengguna)
Integrasi API Langsung
Code Interpreter API dapat diintegrasikan ke dalam aplikasi apa pun menggunakan autentikasi API key yang sederhana:
- Deploy instans code-interpreter Anda sendiri dan buat API key
- Sertakan kunci API dalam permintaan Anda menggunakan header
x-api-key
URL dasar self-hosted
Atur variabel lingkungan LIBRECHAT_CODE_BASEURL untuk mengarahkan LibreChat ke instans code-interpreter yang Anda host sendiri, beserta kunci API yang dibuat pada deployment tersebut, yang digunakan dengan cara yang sama seperti di atas.
Fungsionalitas Inti
Eksekusi Kode
- Jalankan cuplikan kode dalam bahasa yang didukung
- Menerima output stdout/stderr
- Dapatkan statistik eksekusi (penggunaan memori, waktu CPU)
- Menangani argumen program
- Akses status eksekusi dan hasil
Operasi File
- Unggah file input
- Unduh output yang dihasilkan
- Pratinjau artefak Office, CSV, teks, dan PDF yang dihasilkan secara inline saat LibreChat dapat mengekstrak/merendernya dengan aman
- Daftar file yang tersedia
- Hapus file yang tidak diperlukan
- Kelola sesi file
Pratinjau artefak yang dihasilkan sengaja dibatasi ukurannya. Atur FILE_PREVIEW_MAX_EXTRACT_BYTES di dalam .env LibreChat untuk mengubah batas ukuran file sumber untuk ekstraksi pratinjau inline; file yang lebih besar tetap tersedia untuk diunduh.
Batasan
- Kode tidak dapat mengakses jaringan
- Hanya 10 file yang dapat dibuat per eksekusi
- Batas sumber daya (RAM per eksekusi, ukuran unggahan file, dan kuota permintaan) bergantung pada bagaimana Anda menyediakan dan mengonfigurasi deployment Anda.
Kasus Penggunaan
- Pengujian Kode: Uji cuplikan kode dalam berbagai bahasa
- Pemrosesan File: Mengubah dan menganalisis file secara terprogram
- Aplikasi AI: Jalankan kode yang dihasilkan AI dengan aman
- Alat Pengembangan: Membangun lingkungan pengkodean interaktif
- Logika Objektif: Memverifikasi logika dan kebenaran kode, meningkatkan model AI
Open Source & Self-Hosting
Layanan Code Interpreter bersifat sumber terbuka di bawah lisensi Apache 2.0 di ClickHouse/code-interpreter. Menjaga eksekusi kode sebagai layanan terpisah membuat aplikasi inti LibreChat tetap ringan: Anda hanya perlu men-deploy infrastruktur sandbox saat membutuhkannya, dan Anda dapat menskalakannya secara independen dari aplikasi chat.
Layanan ini berjalan sebagai sekumpulan komponen yang dapat diskalakan secara independen (gateway API, worker dalam sandbox, dan server file) serta mendukung mode isolasi yang kuat (NsJail atau microVM melalui libkrun) sehingga Anda dapat menjalankan kode yang tidak tepercaya dengan aman. Lihat README repositori untuk instruksi penyebaran Docker Compose dan Helm.
Kesimpulan
Code Interpreter API menyediakan cara yang aman dan nyaman untuk mengeksekusi kode serta mengelola file di dalam sandbox yang terisolasi. Baik Anda menggunakannya melalui Agents di LibreChat atau mengintegrasikannya langsung ke dalam aplikasi Anda, API ini menawarkan solusi yang tangguh untuk kebutuhan eksekusi kode.
Untuk spesifikasi teknis terperinci, panduan penerapan, dan referensi API, lihat repositori code-interpreter.
#LibreChat #CodeExecution #API #Development
Bagaimana panduan ini?