Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

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.

Code Interpreter demosu

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

  1. code-interpreter servisini dağıtın (Docker Compose veya Helm, deponun README dosyasına bakın)
  2. LIBRECHAT_CODE_BASEURL ve LIBRECHAT_CODE_API_KEY ortam değişkenlerini kullanarak LibreChat'i buna yönlendirin.
  3. 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:

  1. 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.

  2. Manuel Çalıştırma: Sohbet arayüzündeki kod bloklarında bulunan "Run Code" düğmesini kullanın, burada gösterildiği gibi:

  3. Programmatic Tool Calling: programmatic_tools yeteneğ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.

LibreChat içinde Kod Yorumlayıcı

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

  1. Kendi code-interpreter örneğinizi dağıtın ve bir API anahtarı oluşturun
  2. İsteklerinize x-api-key baş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?