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

API interpretera kodu

Wykonuj kod bezpiecznie i zarządzaj plikami płynnie dzięki Code Interpreter API w LibreChat

Wprowadzenie

API Code Interpreter w LibreChat zapewnia bezpieczny i bezproblemowy sposób wykonywania kodu oraz zarządzania plikami za pomocą prostego interfejsu API. Niezależnie od tego, czy korzystasz z niego za pośrednictwem Agentów LibreChat, czy integrujesz go bezpośrednio ze swoimi aplikacjami, API oferuje potężne środowisko typu sandbox do uruchamiania kodu w wielu językach programowania.

Demo Code Interpreter

Open source

Interpreter kodu LibreChat jest obsługiwany przez ClickHouse/code-interpreter, usługę uruchamiania kodu w piaskownicy o otwartym kodzie źródłowym (licencja Apache 2.0). Możesz hostować ją samodzielnie i wskazać LibreChat na własną instancję.

Wprowadzenie

  1. Wdróż usługę code-interpreter (Docker Compose lub Helm, zobacz plik README w repozytorium)
  2. Wskaż na niego LibreChat za pomocą zmiennych środowiskowych LIBRECHAT_CODE_BASEURL oraz LIBRECHAT_CODE_API_KEY
  3. Rozpocznij bezpieczne wykonywanie kodu i generowanie plików za pomocą agentów LibreChat lub przycisku "Run Code"

Kluczowe funkcje

Obsługiwane języki

Wykonuj kod w wielu językach programowania:

  • Python, Node.js (JS/TS), Go, C/C++, Java, PHP, Rust, Fortran, Rscript

Bezproblemowa obsługa plików

  • Prześlij pliki do przetworzenia
  • Pobierz wygenerowane dane wyjściowe
  • Bezpieczne zarządzanie plikami
  • Organizacja plików oparta na sesjach

Bezpieczeństwo i wygoda

  • Bezpieczne środowisko uruchomieniowe typu sandbox
  • Silne tryby izolacji (NsJail lub microVM przez libkrun)
  • Brak konieczności lokalnej konfiguracji dla użytkowników końcowych
  • Oparte na sesji, izolowane przechowywanie plików

Programmatic Tool Calling

Programmatic Tool Calling pozwala agentom LibreChat na kierowanie wybranych narzędzi MCP przez piaskownicę Code Interpreter. Zamiast prosić model o bezpośrednie wywołanie każdego narzędzia, LibreChat udostępnia narzędzie orkiestracji oparte na Code Interpreter; wygenerowany kod w piaskownicy może wywoływać zarejestrowane wycinki (stubs) narzędzi, używać pętli i instrukcji warunkowych, przetwarzać wyniki pośrednie oraz zwracać ostateczną odpowiedź.

Piaskownica nadal nie otrzymuje ogólnego dostępu do sieci. Wywołania narzędzi są obsługiwane przez Code Interpreter Tool Call Server oraz zarejestrowaną mapę narzędzi LibreChat, więc wywoływane mogą być tylko narzędzia dostępne dla agenta.

Korzystanie z API

W LibreChat

API posiada w LibreChat wsparcie najwyższej klasy poprzez następujące główne metody:

  1. AI Agents: Włącz Code Interpreter w konfiguracji swojego agenta, aby umożliwić mu automatyczne wykonywanie kodu i przetwarzanie plików.

  2. Ręczne wykonanie: Użyj przycisku "Run Code" w blokach kodu wewnątrz interfejsu czatu, jak pokazano tutaj:

  3. Programmatic Tool Calling: Włącz funkcję programmatic_tools i oznacz wybrane narzędzia MCP jako Programmatic, aby agenci mogli zarządzać tymi narzędziami z poziomu kodu uruchamianego w piaskownicy (sandboxed code).

Code Interpreter in LibreChat

Skonfiguruj klucz API

  • Konfiguracja dla użytkownika: wprowadź swój klucz API w LibreChat, gdy pojawi się monit (używając powyższych metod)
  • Konfiguracja globalna: użyj zmiennej środowiskowej LIBRECHAT_CODE_API_KEY w pliku .env swojego projektu (zapewnia dostęp wszystkim użytkownikom)

Bezpośrednia integracja z API

API Code Interpreter można zintegrować z dowolną aplikacją przy użyciu prostej autoryzacji kluczem API:

  1. Wdróż własną instancję code-interpreter i utwórz klucz API
  2. Dołącz klucz API do swoich żądań, używając nagłówka x-api-key

Podstawowy adres URL dla instancji self-hosted

Ustaw zmienną środowiskową LIBRECHAT_CODE_BASEURL, aby wskazać LibreChat na własną instancję code-interpreter, wraz z kluczem API wygenerowanym w tym wdrożeniu, używanym w taki sam sposób jak powyżej.

Podstawowa funkcjonalność

Wykonywanie kodu

  • Uruchamiaj fragmenty kodu w obsługiwanych językach
  • Odbieraj wyjście stdout/stderr
  • Pobierz statystyki wykonania (zużycie pamięci, czas procesora)
  • Obsługa argumentów programu
  • Uzyskaj dostęp do statusu wykonania i wyników

Operacje na plikach

  • Prześlij pliki wejściowe
  • Pobierz wygenerowane dane wyjściowe
  • Podgląd wygenerowanych artefaktów typu Office, CSV, tekstowych i PDF wewnątrz czatu, gdy LibreChat może bezpiecznie je wyodrębnić/wyrenderować
  • Wyświetl dostępne pliki
  • Usuń zbędne pliki
  • Zarządzaj sesjami plików

Wygenerowane podglądy artefaktów mają celowo ograniczone rozmiary. Ustaw FILE_PREVIEW_MAX_EXTRACT_BYTES w pliku .env aplikacji LibreChat, aby zmienić limit rozmiaru pliku źródłowego dla ekstrakcji podglądu wbudowanego; większe pliki pozostaną dostępne do pobrania.

Ograniczenia

  • Kod nie ma dostępu do sieci
  • Tylko 10 plików może zostać wygenerowanych na jedno uruchomienie
  • Limity zasobów (pamięć RAM na wykonanie, rozmiar przesyłanych plików oraz limity żądań) zależą od sposobu udostępnienia i konfiguracji wdrożenia.

Przypadki użycia

  • Testowanie kodu: Testuj fragmenty kodu w wielu językach
  • Przetwarzanie plików: Programowe przekształcanie i analizowanie plików
  • Aplikacje AI: Bezpieczne wykonywanie kodu wygenerowanego przez AI
  • Narzędzia programistyczne: Twórz interaktywne środowiska programistyczne
  • Logika Obiektywna: Weryfikacja logiki i poprawności kodu, ulepszanie modeli AI

Open Source i Self-Hosting

Usługa Code Interpreter jest oprogramowaniem typu open source na licencji Apache 2.0 dostępnym pod adresem ClickHouse/code-interpreter. Utrzymywanie wykonywania kodu jako oddzielnej usługi sprawia, że główna aplikacja LibreChat pozostaje lekka: wdrażasz infrastrukturę piaskownicy (sandbox) tylko wtedy, gdy jej potrzebujesz, i możesz skalować ją niezależnie od aplikacji czatu.

Usługa działa jako zestaw niezależnie skalowalnych komponentów (brama API, izolowane procesy robocze oraz serwer plików) i obsługuje tryby silnej izolacji (NsJail lub microVM przez libkrun), dzięki czemu można bezpiecznie uruchamiać niezaufany kod. Instrukcje dotyczące wdrożenia za pomocą Docker Compose i Helm znajdują się w pliku README repozytorium.


Podsumowanie

API Code Interpreter zapewnia bezpieczny i wygodny sposób wykonywania kodu oraz zarządzania plikami w izolowanym środowisku typu sandbox. Niezależnie od tego, czy korzystasz z niego za pośrednictwem agentów LibreChat, czy integrujesz go bezpośrednio ze swoimi aplikacjami, stanowi on solidne rozwiązanie dla potrzeb związanych z wykonywaniem kodu.

Szczegółowe specyfikacje techniczne, przewodniki wdrożeniowe oraz dokumentację API można znaleźć w repozytorium code-interpreter.

#LibreChat #CodeExecution #API #Development

Jaka jest ta instrukcja?