À propos du projet

La passerelle LLM Inja est une passerelle API légère et sans dépendance pour les fournisseurs de modèles de langage. Elle accepte les requêtes au format Chat Completions d'OpenAI, Messages d'Anthropic ou Gemini natif, et les achemine vers tout fournisseur amont configuré, y compris OpenAI, Anthropic, Google, DeepSeek, xAI, Moonshot, OpenRouter, vLLM et autres. Le trafic de même dialecte est transmis quasi verbatim ; les requêtes inter-dialectes sont traduites automatiquement, prenant en charge les sorties structurées, l'utilisation d'outils et les blocs de raisonnement. La passerelle est entièrement sans état, sans base de données, sessions ou routage persistant, ce qui simplifie la mise à l'échelle de réplicas identiques. Elle est fournie sous forme d'un binaire statique unique pour macOS, Linux et Windows, et inclut des manifestes de déploiement Docker et Kubernetes. La seule dépendance d'exécution est gopkg.in/yaml.v3. Les principales capacités incluent un égress multi-fournisseurs avec quatre types de fournisseurs (openai, openai_compat, anthropic, google), des alias et routage de modèles, une authentification périphérique optionnelle avec secrets partagés, des sources de jetons OAuth2 et comptes de service, et un tableau de bord opérateur intégré à /ui. La comptabilisation d'usage émet un événement par requête proxy via JSONL, webhook asynchrone, SQLite optionnel ou un hook Go en processus. La passerelle prend également en charge les embeddings, la génération d'images, les tâches vidéo, la synthèse vocale, la reconnaissance vocale, les réponses OpenAI, les fichiers, les lots, les modérations et les sessions WebSocket temps réel (uniquement en mode passthrough même protocole). La configuration est un fichier YAML unique avec des remplacements par variables d'environnement. Les vérifications de santé, les métriques Prometheus, les limites de taille de corps et l'arrêt gracieux sont intégrés. Le projet est sous licence AGPL-3.0.