NVIDIA'dan Switchyard: OpenAI ve Anthropic API'leri arasında çeviri yapan Rust proxy'si
NVIDIA, LLM trafiğini sağlayıcılar arasında yönlendiren ve OpenAI ile Anthropic formatlarını karşılıklı çeviren Switchyard'ı Apache 2.0 lisansıyla yayınladı.
NVIDIA, Switchyard adlı Rust tabanlı bir proxy ve kütüphaneyi Apache 2.0 lisansıyla yayınladı. Araç, LLM isteklerini sağlayıcılar arasında yönlendiriyor, OpenAI ve Anthropic formatları arasında çeviri yapıyor, operasyonel metrikleri kaydediyor ve tipli, birleştirilebilir yönlendirme algoritmaları sunuyor. Dokümantasyon docs.nvidia.com/nemo/switchyard adresinde.
Çözülen sorun şu: Claude Code Anthropic Messages API'sini konuşuyor, Codex CLI OpenAI'ı konuşuyor, ekibin gerçekten sunmak istediği model ise vLLM, NVIDIA NIM veya Ollama arkasında duruyor. Ajanı yeniden yazmak seçenek olmadığı için çeviri katmanının başka bir yerde yaşaması gerekiyor.
Nasıl çalışıyor
İstemci kendi doğal API'sini kullanmaya devam ediyor. Switchyard gelen isteği sağlayıcıdan bağımsız Rust tiplerine çözüyor, bir yönlendirme algoritmasıyla arka uç seçiyor, isteği o arka ucun kendi formatında yeniden kodluyor, çağırıyor ve akış olayları dahil yanıtı istemcinin beklediği biçime geri çeviriyor. Sunucu üç giriş formatı kabul ediyor: OpenAI Chat Completions, OpenAI Responses ve Anthropic Messages. Üçü de herhangi bir rotaya gidebiliyor.
Bir rota, istemcinin gördüğü tek bir model kimliği ile arkasındaki algoritmadan oluşuyor. Strong, weak, capable ve efficient birer rol; modelin sabit özelliği değil, aynı model farklı rotalarda farklı rol üstlenebiliyor.
Üç kurulum yolu var: uv tool install ile gelen launcher (switchyard launch claude, codex veya openclaw), cargo install --locked switchyard-server ile bağımsız proxy ve HTTP yığını olmadan algoritmaları gömen switchyard-libsy kütüphanesi.
Metrikler ve yapılandırma
GET /metrics uç noktası OpenTelemetry sağlayıcısından Prometheus metni döndürüyor; istek, hata, model çağrısı gecikmesi ve token aileleri kapsanıyor. switchyard_routing_overhead_ms ise algoritmanın çalışma süresini, isteği karşılayan çağrı çıkarılmış olarak raporluyor; kovalar 0,1 ms'den başlıyor.
TOML yapılandırması üç katmanlı: llm_clients, targets ve routes. Sırlar dosyada tutulmuyor, api_key_env yalnızca ortam değişkeninin adını veriyor. max_retries varsayılan olarak 2 ve taşıma hataları, zaman aşımları, HTTP 408/429 ile 5xx yanıtlarında geçerli.
NVIDIA aracı pre-alpha ve deneysel olarak etiketliyor, üretimde kullanılmaması gerektiğini belirtiyor ve v1.0 öncesinde API ile algoritmaların önemli ölçüde değişmesini bekliyor. Ayrıntılar için MarkTechPost'un haberine bakabilirsiniz.