API Code Interpreter
Esegui codice in modo sicuro e gestisci i file senza problemi con l'API Code Interpreter di LibreChat
Introduzione
L'API Code Interpreter di LibreChat fornisce un modo sicuro e semplice per eseguire codice e gestire file attraverso una semplice interfaccia API. Che tu la stia utilizzando tramite gli Agent di LibreChat o integrandola direttamente nelle tue applicazioni, l'API offre un potente ambiente sandbox per l'esecuzione di codice in molteplici linguaggi di programmazione.
Open source
Il Code Interpreter di LibreChat è basato su ClickHouse/code-interpreter, un servizio di esecuzione di codice in sandbox open-source (Apache 2.0). Eseguilo in self-hosting e punta LibreChat alla tua istanza.
Introduzione
- Distribuisci il servizio code-interpreter (Docker Compose o Helm, consulta il README del repository)
- Punta LibreChat verso di esso con le variabili d'ambiente
LIBRECHAT_CODE_BASEURLeLIBRECHAT_CODE_API_KEY - Inizia a eseguire codice e a generare file in modo sicuro tramite gli Agents di LibreChat o il pulsante "Run Code"
Caratteristiche Principali
Lingue supportate
Esegui codice in molteplici linguaggi di programmazione:
- Python, Node.js (JS/TS), Go, C/C++, Java, PHP, Rust, Fortran, Rscript
Gestione fluida dei file
- Carica file per l'elaborazione
- Scarica gli output generati
- Gestione sicura dei file
- Organizzazione dei file basata sulla sessione
Sicurezza e Comodità
- Ambiente di esecuzione sandbox sicuro
- Modalità di isolamento avanzate (NsJail o microVM tramite libkrun)
- Nessuna configurazione locale richiesta per gli utenti finali
- Archiviazione file isolata basata su sessione
Programmatic Tool Calling
Il Programmatic Tool Calling consente agli Agenti LibreChat di instradare gli strumenti MCP selezionati attraverso la sandbox del Code Interpreter. Invece di chiedere al modello di richiamare direttamente ogni strumento, LibreChat fornisce uno strumento di orchestrazione basato su Code Interpreter; il codice sandbox generato può richiamare stub di strumenti registrati, utilizzare cicli e condizionali, elaborare risultati intermedi e restituire una risposta finale.
Il sandbox non riceve ancora l'accesso alla rete generale. Le chiamate agli strumenti vengono gestite tramite il Code Interpreter Tool Call Server e la mappa degli strumenti registrati di LibreChat, pertanto possono essere chiamati solo gli strumenti disponibili per l'agente.
Utilizzo dell'API
In LibreChat
L'API ha un supporto di prima classe in LibreChat attraverso questi metodi principali:
-
AI Agents: Abilita Code Interpreter nella configurazione del tuo agente per consentirgli di eseguire codice ed elaborare file automaticamente.
-
Esecuzione manuale: Utilizza il pulsante "Run Code" nei blocchi di codice all'interno dell'interfaccia di chat, come mostrato qui:
-
Programmatic Tool Calling: Abilita la funzionalità
programmatic_toolse contrassegna gli strumenti MCP selezionati come Programmatic in modo che gli agenti possano orchestrare tali strumenti da codice in sandbox.

Configura la chiave API
- Configurazione per utente: inserisci la tua chiave API in LibreChat quando richiesto (utilizzando i metodi di cui sopra)
- Configurazione globale: utilizza la variabile d'ambiente
LIBRECHAT_CODE_API_KEYnel file .env del tuo progetto (fornisce l'accesso a tutti gli utenti)
Integrazione API Diretta
L'API di Code Interpreter può essere integrata in qualsiasi applicazione utilizzando una semplice autenticazione tramite API key:
- Distribuisci la tua istanza di code-interpreter e crea una chiave API
- Includi la chiave API nelle tue richieste utilizzando l'header
x-api-key
URL di base self-hosted
Imposta la variabile d'ambiente LIBRECHAT_CODE_BASEURL per puntare LibreChat alla tua istanza self-hosted di code-interpreter, insieme a una chiave API generata su quel deployment, utilizzata nello stesso modo descritto sopra.
Funzionalità principali
Esecuzione del codice
- Esegui snippet di codice nei linguaggi supportati
- Ricevi l'output stdout/stderr
- Ottieni statistiche di esecuzione (utilizzo della memoria, tempo CPU)
- Gestione degli argomenti del programma
- Accedi allo stato di esecuzione e ai risultati
Operazioni sui file
- Caricamento file di input
- Scarica gli output generati
- Visualizza in anteprima artefatti Office, CSV, testo e simili a PDF inline quando LibreChat può estrarli/renderizzarli in sicurezza
- Elenca i file disponibili
- Elimina i file non necessari
- Gestisci le sessioni dei file
Le anteprime degli artefatti generati hanno dimensioni limitate intenzionalmente. Imposta FILE_PREVIEW_MAX_EXTRACT_BYTES nel file .env di LibreChat per modificare il limite di dimensione del file sorgente per l'estrazione dell'anteprima in linea; i file più grandi rimarranno disponibili per il download.
Limitazioni
- Il codice non può accedere alla rete
- È possibile generare solo 10 file per esecuzione
- I limiti delle risorse (RAM per esecuzione, dimensione del caricamento file e quote di richiesta) dipendono da come si esegue il provisioning e la configurazione del proprio deployment.
Casi d'uso
- Test del codice: Testa snippet di codice in più linguaggi
- File Processing: Trasforma e analizza i file a livello programmatico
- Applicazioni AI: Esegui codice generato dall'AI in modo sicuro
- Strumenti di sviluppo: Crea ambienti di programmazione interattivi
- Logica dell'obiettivo: Verificare la logica e la correttezza del codice, migliorando i modelli di IA
Open Source & Self-Hosting
Il servizio Code Interpreter è open source sotto licenza Apache 2.0 su ClickHouse/code-interpreter. Mantenere l'esecuzione del codice come servizio separato mantiene l'applicazione core LibreChat leggera: distribuisci l'infrastruttura sandbox solo quando ne hai bisogno e puoi scalarla indipendentemente dall'applicazione di chat.
Il servizio viene eseguito come un insieme di componenti scalabili in modo indipendente (un API gateway, worker in sandbox e un file server) e supporta modalità di isolamento avanzate (NsJail o una microVM tramite libkrun) in modo da poter eseguire codice non attendibile in sicurezza. Consulta il README del repository per le istruzioni di distribuzione con Docker Compose e Helm.
Conclusione
L'API Code Interpreter fornisce un modo sicuro e conveniente per eseguire codice e gestire file in una sandbox isolata. Che tu la stia utilizzando tramite gli Agents di LibreChat o integrandola direttamente nelle tue applicazioni, offre una soluzione solida per le esigenze di esecuzione del codice.
Per specifiche tecniche dettagliate, guide alla distribuzione e il riferimento API, consulta il code-interpreter repository.
#LibreChat #CodeExecution #API #Development
Com’è questa guida?