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

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.

Code Interpreter Demo

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

  1. Stellen Sie den code-interpreter Dienst bereit (Docker Compose oder Helm, siehe README des Repositorys)
  2. Verweisen Sie LibreChat mit den Umgebungsvariablen LIBRECHAT_CODE_BASEURL und LIBRECHAT_CODE_API_KEY darauf.
  3. 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:

  1. AI Agents: Aktivieren Sie den Code Interpreter in der Konfiguration Ihres Agents, damit dieser automatisch Code ausführen und Dateien verarbeiten kann.

  2. Manuelle Ausführung: Verwenden Sie die Schaltfläche „Code ausführen“ („Run Code“) in Codeblöcken innerhalb der Chat-Oberfläche, wie hier gezeigt:

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

Code Interpreter in LibreChat

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

  1. Stellen Sie Ihre eigene code-interpreter Instanz bereit und erstellen Sie einen API-Schlüssel
  2. Fügen Sie den API-Schlüssel in Ihre Anfragen unter Verwendung des x-api-key Headers 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?