Code Interpreter API
Voer code veilig uit en beheer bestanden naadloos met de Code Interpreter API van LibreChat
Introductie
De Code Interpreter API van LibreChat biedt een veilige en probleemloze manier om code uit te voeren en bestanden te beheren via een eenvoudige API-interface. Of je het nu gebruikt via de Agents van LibreChat of direct integreert in je eigen applicaties, de API biedt een krachtige sandbox-omgeving voor het uitvoeren van code in meerdere programmeertalen.
Open source
LibreChat's Code Interpreter wordt aangedreven door ClickHouse/code-interpreter, een open-source (Apache 2.0) sandboxed code-execution service. Host deze zelf en laat LibreChat naar je eigen instantie wijzen.
Aan de slag
- Implementeer de code-interpreter service (Docker Compose of Helm, zie de README van de repository)
- Wijs LibreChat ernaar met de omgevingsvariabelen
LIBRECHAT_CODE_BASEURLenLIBRECHAT_CODE_API_KEY - Begin met het veilig uitvoeren van code en het genereren van bestanden via LibreChat's Agents of de "Run Code" knop
Belangrijkste functies
Ondersteunde talen
Voer code uit in meerdere programmeertalen:
- Python, Node.js (JS/TS), Go, C/C++, Java, PHP, Rust, Fortran, Rscript
Naadloze bestandsafhandeling
- Bestanden uploaden voor verwerking
- Genereerde outputs downloaden
- Veilig bestandsbeheer
- Sessie-gebaseerde bestandsorganisatie
Beveiliging & Gemak
- Beveiligde sandboxed uitvoeringsomgeving
- Sterke isolatiemodi (NsJail of microVM via libkrun)
- Geen lokale installatie vereist voor eindgebruikers
- Sessie-gebaseerde, geïsoleerde bestandsopslag
Programmatische Tool Calling
Programmatic Tool Calling stelt LibreChat Agents in staat om geselecteerde MCP tools via de Code Interpreter sandbox te routeren. In plaats van het model te vragen om elke tool direct aan te roepen, biedt LibreChat een door Code Interpreter ondersteunde orchestratietool; gegenereerde sandbox-code kan geregistreerde tool-stubs aanroepen, lussen en voorwaardelijke logica gebruiken, tussenresultaten verwerken en een definitief antwoord retourneren.
De sandbox heeft nog steeds geen algemene netwerktoegang. Tool-aanroepen worden afgehandeld via de Code Interpreter Tool Call Server en de geregistreerde tool-map van LibreChat, waardoor alleen tools die beschikbaar zijn voor de agent kunnen worden aangeroepen.
De API gebruiken
In LibreChat
De API heeft eersteklas ondersteuning in LibreChat via deze hoofdmethoden:
-
AI Agents: Schakel Code Interpreter in de configuratie van je agent in om deze in staat te stellen automatisch code uit te voeren en bestanden te verwerken.
-
Handmatige uitvoering: Gebruik de "Run Code"-knop in codeblokken binnen de chatinterface, zoals hier getoond:
-
Programmatic Tool Calling: Schakel de
programmatic_toolscapability in en markeer geselecteerde MCP tools als Programmatic, zodat agents deze tools kunnen aansturen vanuit sandboxed code.

API-sleutel instellen
- Per-user setup: voer uw API-sleutel in LibreChat in wanneer daarom wordt gevraagd (met behulp van de bovenstaande methoden)
- Algemene configuratie: gebruik de
LIBRECHAT_CODE_API_KEYomgevingsvariabele in het .env bestand van je project (biedt toegang aan alle gebruikers)
Directe API-integratie
De Code Interpreter API kan in elke applicatie worden geïntegreerd met behulp van een eenvoudige API-sleutelauthenticatie:
- Implementeer je eigen code-interpreter instantie en maak een API-sleutel aan
- Voeg de API-sleutel toe aan je verzoeken met de
x-api-keyheader
Self-hosted base URL
Stel de LIBRECHAT_CODE_BASEURL omgevingsvariabele in om LibreChat te laten verwijzen naar je zelf-gehoste code-interpreter instantie, samen met een API-sleutel die op die implementatie is gegenereerd, op dezelfde manier gebruikt als hierboven.
Kernfunctionaliteit
Code Execution
- Voer codefragmenten uit in ondersteunde talen
- Ontvang stdout/stderr-uitvoer
- Verkrijg uitvoeringsstatistieken (geheugengebruik, CPU-tijd)
- Programma-argumenten afhandelen
- Toegang tot uitvoeringsstatus en resultaten
Bestandsbewerkingen
- Upload invoerbestanden
- Genereerde outputs downloaden
- Bekijk gegenereerde Office-, CSV-, tekst- en PDF-achtige artefacten inline wanneer LibreChat deze veilig kan extraheren/renderen
- Beschikbare bestanden weergeven
- Verwijder onnodige bestanden
- Bestandssessies beheren
Gegenereerde artifact-voorbeelden zijn opzettelijk beperkt in grootte. Stel FILE_PREVIEW_MAX_EXTRACT_BYTES in het .env bestand van LibreChat in om de limiet voor de bronbestandsgrootte voor inline voorbeeldextractie te wijzigen; grotere bestanden blijven beschikbaar om te downloaden.
Beperkingen
- Code heeft geen toegang tot het netwerk
- Er kunnen slechts 10 bestanden per run worden gegenereerd
- Resourcelimieten (RAM per uitvoering, bestandsgrootte voor uploads en verzoekquota) zijn afhankelijk van hoe je jouw deployment provisioneert en configureert.
Gebruiksscenario's
- Code Testing: Test code snippets in multiple languages
- Bestandsverwerking: Bestanden programmatisch transformeren en analyseren
- AI-toepassingen: Voer AI-gegenereerde code veilig uit
- Development Tools: Bouw interactieve codeeromgevingen
- Objective Logic: Verifieer codelogica en correctheid, en verbeter AI-modellen
Open Source & Self-Hosting
De Code Interpreter-service is open source onder de Apache 2.0-licentie op ClickHouse/code-interpreter. Door code-uitvoering als een afzonderlijke service te behouden, blijft de kern van de LibreChat-applicatie lichtgewicht: je implementeert de sandbox-infrastructuur alleen wanneer je deze nodig hebt, en je kunt deze onafhankelijk van de chat-app schalen.
De service draait als een set onafhankelijk schaalbare componenten (een API gateway, sandboxed workers en een file server) en ondersteunt sterke isolatiemodi (NsJail of een microVM via libkrun), zodat je onbetrouwbare code veilig kunt uitvoeren. Zie de README van de repository voor Docker Compose en Helm deployment-instructies.
Conclusie
De Code Interpreter API biedt een veilige, handige manier om code uit te voeren en bestanden te beheren in een geïsoleerde sandbox. Of je het nu gebruikt via de Agents van LibreChat of direct integreert in je applicaties, het biedt een robuuste oplossing voor behoeften op het gebied van code-uitvoering.
Voor gedetailleerde technische specificaties, implementatiehandleidingen en de API-referentie, zie de code-interpreter repository.
#LibreChat #CodeExecution #API #Development
Hoe is deze gids?