>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Go

Jak poskromić menażerię sieci neuronowych dzięki TokenHub

TokenHub

Gdy zespół zaczyna integrować sieci neuronowe ze swoimi usługami, zarządzanie kluczami niemal zawsze zamienia się w chaos. Deweloperzy używają OpenAI, analitycy eksperymentują z DeepSeek i Qwen, ktoś uruchamia lokalnego Llamę przez Ollamę, a designerzy chcą mieć dostęp do generowania obrazów. Pod koniec miesiąca księgowość widzi całkowity rachunek i próbuje ustalić, który dział wydał budżet.

Brzmi znajomo? Jeśli kiedykolwiek próbowałeś scentralizować dostęp do dziesiątek różnych LLM-ów, wiesz, ile taśmy izolacyjnej i drutu potrzeba: proxy, domowej roboty routery, agregatory logów. Autor popularnego frameworka Go Beego (astaxie) wydał projekt o nazwie TokenHub, który rozwiązuje ten problem.

TokenHub supported providers

Co kryje się pod maską i dlaczego tego potrzebujesz

TokenHub to prywatna brama AI napisana w Go. Wdrażasz ją w swojej infrastrukturze, dodajesz klucze API od zewnętrznych dostawców lub adresy lokalnych modeli i udostępniasz na zewnątrz jeden ujednolicony interfejs.

Główna idea jest taka, że deweloperzy aplikacji nie powinni musieć przepisywać kodu dla każdego nowego API. TokenHub obsługuje standardowe punkty końcowe OpenAI (/v1/chat/completions, /v1/embeddings, /v1/responses) oraz specyfikację wiadomości Anthropic (/v1/messages). Jeśli Twoja usługa potrzebuje przełączyć się z GPT-4o na Claude 3.5 Sonnet lub lokalny vLLM, nie będziesz musiał zmieniać kodu klienta—just update the model name or configure a routing rule on the gateway.

TokenHub interface

Główne funkcje bramy

Repozytorium koncentruje się na scenariuszach enterprise, gdzie kontrola kosztów i jasny podział odpowiedzialności są kluczowe.

Jasny podział ról

Interfejs i prawa dostępu w TokenHub są podzielone na trzy poziomy:

  • Zwykły użytkownik. Widzi dostępny katalog modeli, tworzy własne klucze API projektu, przegląda osobiste statystyki i dokumentację.
  • Team Leader. Zarządza obszarami roboczymi projektu, członkami zespołu, współdzielonymi limitami i widzi szczegółowe raporty kosztów dla konkretnego projektu.
  • Administrator. Konfiguruje zewnętrznych dostawców, łączy korporacyjny SSO przez OAuth/OIDC oraz konfiguruje reguły failover i audytu.

Ta konfiguracja jest wygodna: team leaderzy nie muszą zawracać głowy DevOps za każdym razem, gdy nowy stażysta potrzebuje klucza testowego.

Inteligentny routing i failover

Jeśli zewnętrzny dostawca zwróci błąd 500 lub osiągnie limit zapytań, TokenHub może automatycznie przełączyć żądania na kanały zapasowe (failover). Możesz ustawić priorytety, wagi dla dystrybucji obciążenia między wieloma kontami oraz sprawdzać stan tras za pomocą wbudowanej diagnostyki.

Wsparcie dla ponad 150 szablonów dostawców

Out of the box, brama współpracuje z natywnymi adapterami dla Azure OpenAI, Anthropic, Google Gemini, DeepSeek, Qwen, a także lokalnych serwerów inferencyjnych jak vLLM i Ollama. Każda usługa zewnętrzna z API kompatybilnym z OpenAI łączy się przez gotowe szablony w kilka kliknięć.

Warto wyróżnić integrację z subskrypcją Codex: TokenHub może proxy wywołania z lokalnych narzędzi CLI (np. Gemini CLI) przez izolowane profile.

Generowanie i edycja obrazów

Oprócz tekstu i embeddingów, system obsługuje żądania generowania obrazów przez punkty końcowe /v1/images/generations i /v1/images/edits. Brama wspiera zadania asynchroniczne i przechowywanie wygenerowanych obrazów po stronie serwera, eliminując potrzebę natychmiastowego pobierania plików do własnego S3 przez aplikacje klienckie.

Wdrożenie i architektura

Projekt jest napisany w Go i zużywa minimalne zasoby. SQLite służy do przechowywania danych domyślnie, więc możesz uruchomić usługę dla małego zespołu dosłownie w kilka minut bez konieczności uruchamiania ciężkich baz danych.

Do testowania na Linuksie przez systemd:

curl -fsSL https://raw.githubusercontent.com/astaxie/TokenHub/main/deploy/native/install.sh \
  -o /tmp/tokenhub-install.sh
sudo bash /tmp/tokenhub-install.sh install

Albo klasyczne uruchomienie przez Docker Compose:

cp deploy/.env.example deploy/.env
# Задайте надежные пароли в deploy/.env
./deploy/install.sh

Po uruchomieniu konsola zarządzania web jest dostępna na porcie 3000, a samo API przyjmuje żądania na porcie 8080.

Jeśli planujesz duże obciążenie z wieloma replikami backendu, SQLite łatwo zastąpić zewnętrznym PostgreSQL. W tym przypadku stan jest dystrybuowany między instancjami, a aktualizacje wersji można wdrażać centralnie.

Dla kogo ten projekt jest teraz idealny

TokenHub świetnie się sprawdzi, jeśli:

  1. Rozwijasz wewnętrzne narzędzia AI w swojej firmie i chcesz centralnie śledzić wydatki według projektów i działów.
  2. Budujesz odporną konfigurację z wieloma dostawcami LLM, gdzie awaria jednego API nie powinna wyłączyć Twojej usługi klienckiej.
  3. Chcesz bezpiecznie udostępnić dostęp do lokalnie wdrożonych modeli (Ollama / vLLM) całemu zespołowi bez udzielania bezpośredniego dostępu do serwerów inferencyjnych.
  4. Masz dość ręcznego zarządzania dziesiątkami kluczy API na różnych dashboardach.

Projekt jest jeszcze świeży, ale ma doświadczonego maintainera, a kod w Go wygląda na czysty i zrozumiały. Jeśli wybierasz między ciężkimi komercyjnymi rozwiązaniami a proxy własnej roboty, uruchomienie TokenHub w środowisku testowym zdecydowanie warto wypróbować.

Powiązane projekty