>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Rust

Switchyard — Le routeur et traducteur de trafic LLM de NVIDIA

Imaginez le scénario suivant : vous souhaitez utiliser un outil d'autocomplétion de terminal ou un agent de codage comme Claude Code ou Codex CLI. C'est un outil pratique, mais il est adapté à une API spécifique. Si vous souhaitez rediriger ses requêtes vers un vLLM local, Ollama ou NVIDIA NIM, vous rencontrerez un problème : les formats de point de terminaison et les structures de données ne correspondront pas. Anthropic attend le format Messages, OpenAI utilise Chat Completions, et votre modèle local est réglé pour un troisième format entièrement différent.

Le projet Switchyard de l'équipe NVIDIA NeMo résout exactement ce problème. C'est un serveur proxy et une bibliothèque Rust conçus pour la traduction de protocoles d'API et le routage intelligent des requêtes entre différents modèles de langage.

Switchyard

Ce que Switchyard peut faire

Le projet repose sur deux mécanismes principaux : la conversion des requêtes à la volée et les algorithmes de routage.

L'application cliente continue de « croire » qu'elle communique avec l'API native Anthropic ou OpenAI. En réalité, Switchyard reçoit la requête, la traduit dans le format du fournisseur cible, l'envoie au backend approprié, puis transforme la réponse.

Actuellement, trois formats principaux sont pris en charge :

  • OpenAI Chat
  • Anthropic Messages
  • OpenAI Responses

Cela signifie que vous pouvez pointer Claude Code vers un modèle local via vLLM, et le client ne remarquera même pas le changement.

Un routage intelligent au lieu d'un simple round-robin

N'importe quel serveur proxy peut équilibrer la charge de manière aléatoire. Ce qui rend Switchyard intéressant, ce sont ses scénarios de distribution de trafic. Les auteurs ont intégré quatre algorithmes intégrés :

  • Stage Router. Évalue les signaux dans le dialogue lui-même. Si un appel d'outil précédent s'est terminé par une erreur, le routeur redirigera le tour suivant vers un modèle plus puissant. Si tout se passe bien, un modèle moins coûteux traitera la requête.
  • Escalation Router. Envoie d'abord la requête à un modèle plus faible. En parallèle, un modèle juge spécial évalue la qualité de la réponse. Si le résultat n'est pas satisfaisant, la même requête est automatiquement escaladée vers un modèle phare.
  • LLM Classifier. Un modèle léger distinct classifie les requêtes entrantes par complexité et sélectionne le backend approprié avant même que la génération principale ne commence.
  • Random. Distribution aléatoire standard avec un partage fixe. Utile pour les tests A/B ou l'évaluation des coûts entre différents fournisseurs.

Architecture et options d'intégration

Les développeurs ont structuré Switchyard sous forme de plusieurs modules. Le choix du mode de fonctionnement dépend de votre tâche.

Si vous avez besoin de lancer rapidement un agent de codage avec les bons paramètres, utilisez le lanceur CLI. L'ensemble de l'installation se résume à une seule commande du gestionnaire de paquets :

Après cela, l'agent démarre avec une seule ligne spécifiant la configuration :

Pour fonctionner comme un proxy réseau, construisez le binaire. Il suit les métriques via Prometheus (comptages de jetons, latences, erreurs) et est configuré par un fichier.

Si vous écrivez votre propre application Rust, vous n'aurez pas besoin d'intégrer un serveur HTTP séparé. La crate intègre la logique de routage directement dans votre code. La bibliothèque n'effectue pas elle-même d'appels réseau — elle prend simplement une décision de routage et retourne le backend cible sélectionné à votre application.

État actuel du projet

La page du dépôt porte un avertissement : Switchyard est en phase pré-alpha. Au moment de cette revue, le projet compte près de 800 étoiles sur GitHub et a le statut de logiciel expérimental.

Cela signifie que l'API publique, la structure de configuration TOML et l'architecture interne de la crate sont susceptibles de changer. L'utiliser maintenant en production critique est une démarche risquée.

Qui devrait surveiller ce projet

Switchyard semble prometteur pour deux catégories de développeurs :

  1. Ceux qui utilisent activement des agents IA de terminal (Claude Code, Codex CLI) et souhaitent économiser de l'argent en redirigeant certaines tâches simples vers des modèles locaux ou des API moins chères.
  2. Les équipes qui construisent leur propre infrastructure autour des LLM basées sur Rust. La possibilité de récupérer des algorithmes d'escalade prêts à l'emploi et des traducteurs de protocole depuis la crate fera gagner quelques semaines de travail.

Si vous cherchiez un outil propre pour la substitution transparente de backend sans réécrire le code de l'agent lui-même, ce projet mérite définitivement d'être suivi.

Projets similaires