Kod Yorumlayıcı API'si
LibreChat'in Code Interpreter API'si ile kodları güvenli bir şekilde çalıştırın ve dosyaları sorunsuz yönetin
Giriş
LibreChat'in Code Interpreter API'si, basit bir API arayüzü aracılığıyla kod çalıştırmanın ve dosyaları yönetmenin güvenli ve zahmetsiz bir yolunu sunar. İster LibreChat'in Agents özelliğini kullanıyor olun, ister doğrudan uygulamalarınıza entegre ediyor olun, bu API birden fazla programlama dilinde kod çalıştırmak için güçlü bir sandbox ortamı sağlar.
Açık kaynak
LibreChat'in Code Interpreter özelliği, açık kaynaklı (Apache 2.0) korumalı bir kod yürütme hizmeti olan ClickHouse/code-interpreter tarafından desteklenmektedir. Bunu kendi sunucunuzda barındırabilir ve LibreChat'i kendi örneğinize yönlendirebilirsiniz.
Başlarken
- code-interpreter servisini dağıtın (Docker Compose veya Helm, deponun README dosyasına bakın)
LIBRECHAT_CODE_BASEURLveLIBRECHAT_CODE_API_KEYortam değişkenlerini kullanarak LibreChat'i buna yönlendirin.- LibreChat'in Ajanları veya "Run Code" butonu aracılığıyla güvenli bir şekilde kod yürütmeye ve dosya oluşturmaya başlayın
Temel Özellikler
Desteklenen Diller
Birden fazla programlama dilinde kod çalıştırın:
- Python, Node.js (JS/TS), Go, C/C++, Java, PHP, Rust, Fortran, Rscript
Sorunsuz Dosya İşleme
- İşlenmek üzere dosya yükle
- Oluşturulan çıktıları indir
- Güvenli dosya yönetimi
- Oturum tabanlı dosya düzenleme
Güvenlik ve Kolaylık
- Güvenli korumalı alan (sandboxed) yürütme ortamı
- Güçlü izolasyon modları (NsJail veya libkrun aracılığıyla microVM)
- Son kullanıcılar için yerel kurulum gerekmez
- Oturum tabanlı, yalıtılmış dosya depolama
Programmatic Tool Calling
Programmatic Tool Calling, LibreChat Ajanlarının seçili MCP araçlarını Code Interpreter sanal alanı üzerinden yönlendirmesine olanak tanır. LibreChat, modelden her aracı doğrudan çağırmasını istemek yerine, Code Interpreter destekli bir düzenleme aracı sağlar; oluşturulan sanal alan kodu, kayıtlı araç taslaklarını (stubs) çağırabilir, döngüler ve koşullu ifadeler kullanabilir, ara sonuçları işleyebilir ve nihai bir yanıt döndürebilir.
Sandbox hala genel ağ erişimi almamaktadır. Araç çağrıları, Code Interpreter Tool Call Server ve LibreChat'in kayıtlı araç haritası aracılığıyla yönetilir, bu nedenle yalnızca araca sunulan araçlar çağrılabilir.
API Kullanımı
LibreChat içinde
LibreChat'te API, şu ana yöntemler aracılığıyla birinci sınıf desteğe sahiptir:
-
AI Agents: Kod yürütmesini ve dosyaları otomatik olarak işlemesini sağlamak için temsilcinizin yapılandırmasında Code Interpreter özelliğini etkinleştirin.
-
Manuel Çalıştırma: Sohbet arayüzündeki kod bloklarında bulunan "Run Code" düğmesini kullanın, burada gösterildiği gibi:
-
Programmatic Tool Calling:
programmatic_toolsyeteneğini etkinleştirin ve seçili MCP araçlarını Programmatic olarak işaretleyin; böylece ajanlar bu araçları korumalı (sandboxed) kod içerisinden yönetebilirler.

API anahtarını ayarlama
- Kullanıcı bazlı kurulum: İstendiğinde (yukarıdaki yöntemleri kullanarak) LibreChat içinde API anahtarınızı girin
- Global kurulum: projenizin .env dosyasındaki
LIBRECHAT_CODE_API_KEYortam değişkenini kullanın (tüm kullanıcılara erişim sağlar)
Doğrudan API Entegrasyonu
Code Interpreter API, basit bir API anahtarı kimlik doğrulaması kullanılarak herhangi bir uygulamaya entegre edilebilir:
- Kendi code-interpreter örneğinizi dağıtın ve bir API anahtarı oluşturun
- İsteklerinize
x-api-keybaşlığını kullanarak API anahtarını dahil edin
Self-hosted temel URL
LIBRECHAT_CODE_BASEURL ortam değişkenini, LibreChat'i kendi barındırdığınız code-interpreter örneğinize yönlendirecek şekilde ayarlayın ve bu dağıtımda oluşturulan bir API anahtarını yukarıdakiyle aynı şekilde kullanın.
Temel İşlevsellik
Kod Yürütme
- Desteklenen dillerde kod parçacıklarını çalıştırın
- stdout/stderr çıktısını al
- Yürütme istatistiklerini (bellek kullanımı, CPU süresi) al
- Program argümanlarını yönetin
- Yürütme durumuna ve sonuçlarına erişin
Dosya İşlemleri
- Girdi dosyalarını yükle
- Oluşturulan çıktıları indir
- LibreChat bunları güvenli bir şekilde ayıklayabildiğinde/oluşturabildiğinde Office, CSV, metin ve PDF benzeri yapay nesneleri satır içi olarak önizleyin
- Mevcut dosyaları listele
- Gereksiz dosyaları sil
- Dosya oturumlarını yönetin
Oluşturulan yapay nesne önizlemeleri kasıtlı olarak boyut sınırlıdır. Satır içi önizleme ayıklama için kaynak dosya boyut sınırını değiştirmek üzere LibreChat'in .env dosyasında FILE_PREVIEW_MAX_EXTRACT_BYTES ayarını yapın; daha büyük dosyalar indirilmeye hazır kalmaya devam eder.
Sınırlamalar
- Kod ağa erişemez
- Her çalıştırmada yalnızca 10 dosya oluşturulabilir
- Kaynak sınırları (yürütme başına RAM, dosya yükleme boyutu ve istek kotaları), dağıtımınızı nasıl sağladığınıza ve yapılandırdığınıza bağlıdır.
Kullanım Durumları
- Kod Testi: Birden fazla dilde kod parçacıklarını test edin
- Dosya İşleme: Dosyaları programatik olarak dönüştürün ve analiz edin
- AI Applications: AI tarafından oluşturulan kodu güvenli bir şekilde çalıştırın
- Geliştirme Araçları: Etkileşimli kodlama ortamları oluşturun
- Objective Logic: Kod mantığını ve doğruluğunu denetleyerek, yapay zeka modellerini iyileştirme
Açık Kaynak ve Kendi Kendine Barındırma (Self-Hosting)
Code Interpreter hizmeti, ClickHouse/code-interpreter adresinde Apache 2.0 lisansı altında açık kaynaklıdır. Kod yürütme işlemini ayrı bir hizmet olarak tutmak, temel LibreChat uygulamasını hafif tutar: sandbox altyapısını yalnızca ihtiyaç duyduğunuzda dağıtır ve bunu sohbet uygulamasından bağımsız olarak ölçeklendirebilirsiniz.
Hizmet, bağımsız olarak ölçeklenebilir bileşenlerden (bir API ağ geçidi, korumalı alan işleyicileri ve bir dosya sunucusu) oluşan bir set olarak çalışır ve güvenilmeyen kodları güvenli bir şekilde çalıştırmanız için güçlü izolasyon modlarını (NsJail veya libkrun aracılığıyla bir microVM) destekler. Docker Compose ve Helm dağıtım talimatları için deponun README dosyasına bakın.
Sonuç
Code Interpreter API, kod çalıştırmak ve dosyaları yalıtılmış bir sandbox içinde yönetmek için güvenli ve kullanışlı bir yol sağlar. İster LibreChat'in Agents özelliği aracılığıyla kullanın, ister doğrudan uygulamalarınıza entegre edin; kod yürütme ihtiyaçlarınız için sağlam bir çözüm sunar.
Ayrıntılı teknik özellikler, dağıtım kılavuzları ve API referansı için code-interpreter repository bölümüne bakın.
#LibreChat #CodeExecution #API #Development
Bu rehber nasıl?