Switchyard: un proxy Rust per la gestione e traduzione del traffico LLM tra OpenAI e Anthropic
NVIDIA presenta Switchyard, un proxy Rust per la gestione del traffico LLM tra OpenAI e Anthropic, in versione pre-alpha.

NVIDIA ha rilasciato Switchyard, un proxy e una libreria in Rust progettata per gestire e tradurre il traffico di modelli linguistici di grandi dimensioni (LLM) tra le API di OpenAI e Anthropic. Il progetto, ancora in fase pre-alpha e non destinato all’uso in produzione, permette ai team di gestire richieste da modelli diversi senza modificare l’agente di codifica. Switchyard è disponibile sotto licenza Apache 2.0 e include documentazione completa. Il progetto è stato presentato da Michal Sutter, esperto in scienze dati e machine learning, e si integra con strumenti come vLLM, NVIDIA NIM e Ollama.
Funzionalità e architettura
Switchyard permette ai client di mantenere la loro API originale, traducendo le richieste in formati neutri e re-encoding le risposte in base al backend scelto. Il server accetta tre formati d’ingresso: OpenAI Chat Completions, OpenAI Responses e Anthropic Messages. Ogni client configurato seleziona un formato upstream specifico, permettendo una decoupling tra l’API dell’agente e quella del backend. La libreria switchyard-libsy integra algoritmi di routing senza possedere uno stack HTTP, delegando ogni chiamata al chiamante.
Switchyard non richiede la riscrittura dell’agente, quindi la traduzione deve avvenire in un altro livello.
Algoritmi di routing e metriche
Switchyard supporta diversi algoritmi di routing, tra cui passthrough, random, LLM-classifier e stage router. L’LLM-classifier utilizza un target classificatore per determinare la capacità del modello e decide se inviare la richiesta a un target debole o forte. L’opzione “escalation” esegue prima la richiesta su un livello debole e permette a un giudice di decidere se rilanciare su un livello forte. Le metriche, disponibili tramite Prometheus, isolano il sovraccarico di routing dal tempo di latenza delle chiamate al modello, permettendo un monitoraggio dettagliato.
Le metriche di Switchyard permettono di distinguere il tempo di routing dal tempo di chiamata al modello.
Installazione e utilizzo
Switchyard può essere installato tramite uv tool install –python 3.12 “nemo-switchyard[cli]” e lanciato con comandi come switchyard launch claude, switchyard launch codex o switchyard launch openclaw. Il server può essere installato con cargo install –locked switchyard-server e configurato con –dry-run. La configurazione è gestita tramite file TOML, che definiscono client, target e route. Le chiavi API non sono memorizzate nel file, ma si riferiscono a variabili d’ambiente. Switchyard è un’opzione utile per valutare le prestazioni e le capacità di diversi modelli LLM, ma non è ancora pronto per l’uso in produzione. Il progetto è in fase pre-alpha e richiede ulteriori sviluppi prima della versione 1.0.
