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

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.

Code Interpreter demo

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

  1. Implementeer de code-interpreter service (Docker Compose of Helm, zie de README van de repository)
  2. Wijs LibreChat ernaar met de omgevingsvariabelen LIBRECHAT_CODE_BASEURL en LIBRECHAT_CODE_API_KEY
  3. 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:

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

  2. Handmatige uitvoering: Gebruik de "Run Code"-knop in codeblokken binnen de chatinterface, zoals hier getoond:

  3. Programmatic Tool Calling: Schakel de programmatic_tools capability in en markeer geselecteerde MCP tools als Programmatic, zodat agents deze tools kunnen aansturen vanuit sandboxed code.

Code Interpreter in LibreChat

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

  1. Implementeer je eigen code-interpreter instantie en maak een API-sleutel aan
  2. Voeg de API-sleutel toe aan je verzoeken met de x-api-key header

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?