Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack ๐ŸŽ‰ Learn more
LibreChat

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.

Demo Code Interpreter

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

  1. Deploy layanan code-interpreter (Docker Compose atau Helm, lihat README repositori tersebut)
  2. Arahkan LibreChat ke sana dengan variabel lingkungan LIBRECHAT_CODE_BASEURL dan LIBRECHAT_CODE_API_KEY
  3. 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:

  1. AI Agents: Aktifkan Code Interpreter dalam konfigurasi agen Anda agar agen tersebut dapat menjalankan kode dan memproses file secara otomatis.

  2. Eksekusi Manual: Gunakan tombol "Run Code" di dalam blok kode di antarmuka obrolan, seperti yang ditunjukkan di sini:

  3. Programmatic Tool Calling: Aktifkan kapabilitas programmatic_tools dan tandai alat MCP yang dipilih sebagai Programmatic agar agen dapat mengatur alat-alat tersebut dari kode yang di-sandbox.

Code Interpreter in LibreChat

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_KEY di 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:

  1. Deploy instans code-interpreter Anda sendiri dan buat API key
  2. 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?