Code Interpreter API
Führen Sie Code sicher aus und verwalten Sie Dateien nahtlos mit der Code Interpreter API von LibreChat
Einführung
Die Code Interpreter API von LibreChat bietet eine sichere und unkomplizierte Möglichkeit, Code auszuführen und Dateien über eine einfache API-Schnittstelle zu verwalten. Egal, ob Sie sie über die Agents von LibreChat nutzen oder direkt in Ihre Anwendungen integrieren, die API bietet eine leistungsstarke Sandbox-Umgebung für die Ausführung von Code in mehreren Programmiersprachen.
Open Source
Der Code Interpreter von LibreChat wird von ClickHouse/code-interpreter betrieben, einem Open-Source-Dienst (Apache 2.0) zur isolierten Code-Ausführung. Hosten Sie ihn selbst und verweisen Sie LibreChat auf Ihre eigene Instanz.
Erste Schritte
- Stellen Sie den code-interpreter Dienst bereit (Docker Compose oder Helm, siehe README des Repositorys)
- Verweisen Sie LibreChat mit den Umgebungsvariablen
LIBRECHAT_CODE_BASEURLundLIBRECHAT_CODE_API_KEYdarauf. - Beginnen Sie mit der sicheren Ausführung von Code und der Erstellung von Dateien über die Agents von LibreChat oder die Schaltfläche "Run Code".
Hauptfunktionen
Unterstützte Sprachen
Führen Sie Code in mehreren Programmiersprachen aus:
- Python, Node.js (JS/TS), Go, C/C++, Java, PHP, Rust, Fortran, Rscript
Nahtlose Dateiverarbeitung
- Dateien zur Verarbeitung hochladen
- Generierte Ausgaben herunterladen
- Sichere Dateiverwaltung
- Sitzungsbasierte Dateiorganisation
Sicherheit & Komfort
- Sichere, isolierte Ausführungsumgebung
- Starke Isolationsmodi (NsJail oder microVM via libkrun)
- Keine lokale Einrichtung für Endbenutzer erforderlich
- Sitzungsbasierter, isolierter Dateispeicher
Programmatischer Tool-Aufruf
Programmatic Tool Calling ermöglicht es LibreChat Agents, ausgewählte MCP Tools über die Code Interpreter Sandbox zu routen. Anstatt das Modell aufzufordern, jedes Tool direkt aufzurufen, stellt LibreChat ein durch den Code Interpreter unterstütztes Orchestrierungstool bereit; der generierte Sandbox-Code kann registrierte Tool-Stubs aufrufen, Schleifen und Bedingungen verwenden, Zwischenergebnisse verarbeiten und eine endgültige Antwort zurückgeben.
Die Sandbox erhält weiterhin keinen allgemeinen Netzwerkzugriff. Tool-Aufrufe werden über den Code Interpreter Tool Call Server und die registrierte Tool-Map von LibreChat vermittelt, sodass nur Tools aufgerufen werden können, die dem Agenten zur Verfügung stehen.
Verwendung der API
In LibreChat
Die API genießt in LibreChat durch diese Hauptmethoden erstklassige Unterstützung:
-
AI Agents: Aktivieren Sie den Code Interpreter in der Konfiguration Ihres Agents, damit dieser automatisch Code ausführen und Dateien verarbeiten kann.
-
Manuelle Ausführung: Verwenden Sie die Schaltfläche „Code ausführen“ („Run Code“) in Codeblöcken innerhalb der Chat-Oberfläche, wie hier gezeigt:
-
Programmatic Tool Calling: Aktivieren Sie die
programmatic_tools-Funktion und markieren Sie ausgewählte MCP-Tools als Programmatic, damit Agents diese Tools aus einer isolierten (sandboxed) Code-Umgebung heraus orchestrieren können.

API-Schlüssel einrichten
- Einrichtung pro Benutzer: Geben Sie Ihren API-Schlüssel in LibreChat ein, wenn Sie dazu aufgefordert werden (unter Verwendung der oben genannten Methoden)
- Globale Einrichtung: Verwenden Sie die Umgebungsvariable
LIBRECHAT_CODE_API_KEYin der .env Datei Ihres Projekts (bietet Zugriff für alle Benutzer)
Direkte API-Integration
Die Code Interpreter API kann mithilfe einer einfachen API-Schlüssel-Authentifizierung in jede Anwendung integriert werden:
- Stellen Sie Ihre eigene code-interpreter Instanz bereit und erstellen Sie einen API-Schlüssel
- Fügen Sie den API-Schlüssel in Ihre Anfragen unter Verwendung des
x-api-keyHeaders ein.
Selbstgehostete Basis-URL
Setzen Sie die Umgebungsvariable LIBRECHAT_CODE_BASEURL, um LibreChat auf Ihre selbst gehostete code-interpreter Instanz zu verweisen, zusammen mit einem auf dieser Bereitstellung generierten API-Schlüssel, der auf die gleiche Weise wie oben verwendet wird.
Kernfunktionalität
Code Execution
- Führen Sie Code-Snippets in unterstützten Sprachen aus
- Empfangen von stdout/stderr-Ausgaben
- Erhalten Sie Ausführungsstatistiken (Speichernutzung, CPU-Zeit)
- Programmargumente verarbeiten
- Zugriff auf Ausführungsstatus und Ergebnisse
Dateioperationen
- Eingabedateien hochladen
- Generierte Ausgaben herunterladen
- Zeigen Sie generierte Office-, CSV-, Text- und PDF-ähnliche Artefakte inline an, wenn LibreChat diese sicher extrahieren/rendern kann
- Verfügbare Dateien auflisten
- Nicht benötigte Dateien löschen
- Dateisitzungen verwalten
Die Vorschauen für generierte Artefakte sind absichtlich in der Größe begrenzt. Setzen Sie FILE_PREVIEW_MAX_EXTRACT_BYTES in der .env von LibreChat, um das Größenlimit der Quelldatei für die Inline-Vorschau-Extraktion zu ändern; größere Dateien bleiben weiterhin zum Download verfügbar.
Einschränkungen
- Code kann nicht auf das Netzwerk zugreifen
- Es können nur 10 Dateien pro Durchlauf generiert werden
- Ressourcenbeschränkungen (RAM pro Ausführung, Dateigröße für Uploads und Anforderungskontingente) hängen davon ab, wie Sie Ihre Bereitstellung bereitstellen und konfigurieren.
Anwendungsfälle
- Code-Tests: Testen von Code-Snippets in mehreren Sprachen
- Dateiverarbeitung: Dateien programmgesteuert transformieren und analysieren
- AI-Anwendungen: Führen Sie KI-generierten Code sicher aus
- Entwicklungstools: Erstellen Sie interaktive Programmierumgebungen
- Objektive Logik: Überprüfung der Codelogik und Korrektheit zur Verbesserung von KI-Modellen
Open Source & Self-Hosting
Der Code Interpreter-Dienst ist unter der Apache 2.0-Lizenz als Open Source unter ClickHouse/code-interpreter verfügbar. Indem die Code-Ausführung als separater Dienst beibehalten wird, bleibt die LibreChat-Kernanwendung schlank: Sie stellen die Sandbox-Infrastruktur nur bereit, wenn Sie sie benötigen, und können sie unabhängig von der Chat-App skalieren.
Der Dienst läuft als eine Reihe unabhängig skalierbarer Komponenten (ein API-Gateway, isolierte Worker und ein Dateiserver) und unterstützt starke Isolationsmodi (NsJail oder eine microVM via libkrun), sodass Sie nicht vertrauenswürdigen Code sicher ausführen können. Siehe die README des Repositorys für Anweisungen zur Bereitstellung mittels Docker Compose und Helm.
Fazit
Die Code Interpreter API bietet eine sichere und bequeme Möglichkeit, Code auszuführen und Dateien in einer isolierten Sandbox zu verwalten. Egal, ob Sie sie über die Agents von LibreChat nutzen oder direkt in Ihre Anwendungen integrieren, sie bietet eine robuste Lösung für Anforderungen an die Codeausführung.
Für detaillierte technische Spezifikationen, Bereitstellungsanleitungen und die API-Referenz siehe das code-interpreter repository.
#LibreChat #CodeExecution #API #Development
Wie finden Sie diese Anleitung?