alt_route LLM router nasıl çalışır
Router bir model değil, modellerin önünde duran bir karar katmanıdır. İstek geldiğinde önce zorluk tahmini yapılır, sonra istek seçilen modele iletilir, cevap istemciye olduğu gibi döner. İstemci tarafında değişen bir şey yoktur. Router'ların çoğu OpenAI uyumlu bir uç nokta sunduğu için mevcut kodunuzda yalnızca base_url ve model adını değiştirirsiniz.
Zorluk tahmini için üç yaygın yöntem var. Birincisi eğitilmiş sınıflandırıcı: küçük bir BERT ya da benzeri model, sorunun güçlü modele ihtiyaç duyup duymadığını tahmin eder. İkincisi benzerlik tabanlı yöntem: gelen istek, insanların hangi modeli tercih ettiği bilinen geçmiş sorularla embedding uzayında karşılaştırılır. Üçüncüsü kural tabanlı yönlendirme: prompt uzunluğu, dil, araç çağrısı olup olmadığı, kullanıcının hangi planda olduğu gibi somut ölçütlere bakılır. En ucuz ve en öngörülebilir olan üçüncüsü, en iyi kalite ve maliyet dengesini genelde ilk ikisi verir.
Yönlendirme eşiği ayarlanabilir bir kadrandır. Eşiği düşürürseniz trafiğin çoğu güçlü modele gider, maliyet artar, kalite tavana yaklaşır. Yükseltirseniz trafik ucuz modele kayar. Üretimde bu eşik bir kez ayarlanıp unutulan bir şey değil, aylık maliyet ve kalite raporuna bakılarak güncellenir.
Yaygın router araçları ve hangisi ne işe yarar
hub RouteLLM
LMSYS ekibinin açık kaynak çerçevesi. Chatbot Arena tercih verisiyle eğitilmiş yönlendiriciler sunar: matris ayrıştırma, BERT sınıflandırıcı ve benzerlik ağırlıklı sıralama. Güçlü ile zayıf model arasında ikili yönlendirme yapar, OpenAI uyumlu sunucu modu vardır.
swap_horiz LiteLLM
Yüzden fazla sağlayıcıyı tek API arkasına toplayan proxy. Zorluk tahmini yapmaz; yük dengeleme, yedek model zinciri, bütçe sınırı, hız limiti ve maliyet takibi verir. Kural tabanlı yönlendirme için en yaygın seçenek.
public OpenRouter Auto
Barındırılan API toplayıcı. Model kimliği olarak otomatik seçeneği verdiğinizde isteği kendi belirlediği modele iletir. Kurulum gerektirmez, karşılığında yönlendirme mantığı üzerinde kontrolünüz olmaz.
workspace_premium Ticari router servisleri
Not Diamond ve Martian gibi servisler yönlendirmeyi hizmet olarak satar. Kendi router'ınızı eğitmek istemiyorsanız hızlı yol. Karşılığında istek başına ek ücret ve bir sağlayıcıya daha bağımlılık gelir.
route Semantik router
Model seçmek yerine niyeti sınıflandırıp isteği doğru akışa gönderen embedding tabanlı yaklaşım: RAG'a mı gitsin, araca mı, yoksa hazır cevapla mı kapansın. Model maliyetini değil, gereksiz LLM çağrısını azaltır.
smart_toy Ürüne gömülü yönlendiriciler
Büyük sohbet ürünlerinde yönlendirme artık arka planda yerleşik geliyor. Kullanıcı model seçmiyor, sistem sorunun zorluğuna göre hızlı modelle düşünen model arasında karar veriyor. Aynı fikrin ürünleşmiş hali.
terminal RouteLLM ve LiteLLM kurulumu: ilk yönlendirme
RouteLLM kurulumu tek satır: pip install "routellm[serve,eval]". Ardından güçlü ve zayıf model için sağlayıcı anahtarlarını ortam değişkeni olarak tanımlarsınız, örneğin OPENAI_API_KEY.
Python tarafında bir Controller nesnesi oluşturulur: Controller(routers=["mf"], strong_model="gpt-4o", weak_model="..."). İstek atarken model adını router-mf-0.11593 biçiminde verirsiniz. Buradaki mf yönlendirici tipini (matris ayrıştırma), sondaki sayı ise eşiği belirtir. Bu sayıyı elle uydurmayın. Kütüphanenin kalibrasyon komutu, isteklerin yüzde kaçının güçlü modele gitmesini istediğinizi sorar ve o orana karşılık gelen eşiği hesaplar.
Sunucu modunda routellm.openai_server çalıştırılır ve çıkan uç nokta OpenAI uyumludur. İstemci kodunuzda base_url ile model adını değiştirmeniz yeterli, geri kalan her şey aynı kalır.
LiteLLM ile kural tabanlı kurulum daha kısa. pip install litellm ile kurarsınız, bir config.yaml içinde model listesini ve fallback zincirini tanımlarsınız, litellm --config config.yaml komutu proxy'yi ayağa kaldırır. Zorluk tahmini istemiyorsanız ve ucuz modeli önce dene, başarısız olursa pahalıya geç davranışı işinizi görüyorsa bu yol çok daha az bakım ister.
payments Maliyet hesabı: router gerçekte ne kadar kazandırır
- check_circle Modeller arası fiyat farkı: Amiral gemisi modellerle küçük modeller arasında milyon token başına on kat ve üzeri fark olabiliyor. Router'ın bütün mantığı bu farkı kullanmak: trafiğin yarısı küçük modele kayarsa fatura yarıya değil, çok daha aşağıya iner.
- check_circle RouteLLM makalesinin bildirdiği sonuç: LMSYS ekibinin çalışmasında MT-Bench üzerinde GPT-4 performansının yüzde 95'i korunurken maliyetin yüzde 85'in üzerinde azaldığı raporlandı. MMLU ve GSM8K gibi daha zor kümelerde tasarruf oranı belirgin şekilde düşüyor.
- check_circle Kendi trafiğinizle doğrulayın: Bu oranlar kıyaslama setlerine ait. Sizdeki gerçek sayı, isteklerinizin ne kadarının gerçekten basit olduğuna bağlı. En sağlıklı ölçüm, bir hafta boyunca isteklerin bir kopyasını iki modele birden gönderip çıktıları karşılaştırmak.
- check_circle Gözden kaçan maliyetler: Router'ın kendisi gecikme ekler; küçük bir sınıflandırıcı çalıştırmak genelde on milisaniyelerle ifade edilir ama sıfır değildir. Ticari router kullanıyorsanız istek başına ücret, kendi router'ınızı eğitiyorsanız etiketli veri ve sürekli bakım maliyeti çıkar.
- check_circle Türkçe trafikte kalibrasyon: Türkçe istekler için yayımlanmış hazır yönlendirici yok. Arena verisiyle eğitilmiş router'lar ağırlıklı olarak İngilizce sorulara göre kalibre edildi. Türkçe trafikte eşiği kendi örnekleriniz üzerinde yeniden ayarlamanız gerekir, çünkü küçük modellerin Türkçe performansı İngilizceye göre daha hızlı düşer.
- check_circle Nereden başlanmalı: İlk adım router kurmak değil, mevcut isteklerinizi zorluk açısından etiketlemek. Trafiğinizin yüzde 80'i zaten zorsa router size az kazandırır; basit isteklerin oranı yüksekse kazanç hemen görünür.
warning Sık yapılan hatalar
- check_circle Eşiği kalibre etmeden seçmek: Gelişigüzel seçilen eşik ya her şeyi pahalı modele gönderir ve tasarruf sağlamaz ya da kaliteyi kullanıcıların fark edeceği kadar düşürür. Önce hedef oranı belirleyin, eşiği ona göre hesaplatın.
- check_circle Konuşma geçmişini yok saymak: Çok turlu sohbette her mesajı bağımsız yönlendirirseniz kullanıcı tur ortasında model değiştirmiş olur. Üslup değişir, bağlam kopar. Oturum başına model sabitlemek genelde daha iyi sonuç verir.
- check_circle Araç çağrısı içeren istekleri ucuz modele göndermek: Küçük modeller tool calling ve yapılandırılmış çıktı üretiminde belirgin şekilde zayıf. Fonksiyon şeması içeren istekleri yönlendirmenin dışında tutmak yaygın ve işe yarayan bir kural.
- check_circle Router ile fallback'i karıştırmak: Fallback hata durumunda devreye girer. Router ise hata yokken bilerek ucuz modeli seçer. İkisi farklı sorunları çözer ve genelde birlikte kurulur, ama biri diğerinin yerini tutmaz.
- check_circle Kalite panosu kurmamak: Maliyet takibi varken kalite ölçümü yoksa router sessizce kaliteyi düşürür ve bunu aylar sonra kullanıcı şikayetinden öğrenirsiniz. Örnekleme yoluyla düzenli değerlendirme kurmadan üretime almayın.
- check_circle Yönlendirme kararını loglamamak: Hangi isteğin hangi modele gittiğini kaydetmezseniz bir şikayet geldiğinde sorunun modelden mi yönlendirmeden mi kaynaklandığını anlayamazsınız. Karar ve eşik değeri her istekte loglanmalı.
help Sıkça Sorulan Sorular
- check_circle LLM router nedir, ne işe yarar? Gelen isteği zorluğuna göre farklı bir dil modeline yönlendiren ara katmandır. Basit sorular ucuz ve hızlı modele, zor sorular güçlü modele gider. Amaç, kullanıcı tarafında kalite kaybı hissettirmeden API maliyetini düşürmek ve yanıt süresini kısaltmak.
- check_circle RouteLLM nedir, LiteLLM'den farkı nedir? RouteLLM, isteğin zor olup olmadığını tahmin eden eğitilmiş yönlendiriciler sunar ve kalite ile maliyet arasında ayarlanabilir bir eşik verir. LiteLLM bu tahmini yapmaz; yüzden fazla sağlayıcıyı tek API arkasına toplayan bir proxy olarak yük dengeleme, yedekleme, bütçe ve maliyet takibi sağlar. Optimizasyon istiyorsanız RouteLLM, altyapı ve operasyon istiyorsanız LiteLLM. İkisi birlikte de kullanılır.
- check_circle Router kullanmak kaliteyi düşürür mü? Eşiği doğru kalibre ederseniz düşüş çoğu istekte fark edilmez, çünkü gerçek trafiğin büyük kısmı küçük modelin rahatlıkla çözebileceği isteklerden oluşur. Eşik agresif ayarlanırsa düşüş nettir ve önce uzun, çok adımlı isteklerde görünür. Bu yüzden maliyet takibiyle birlikte düzenli kalite ölçümü kurmak gerekir.
- check_circle Kendi router'ımı eğitmem gerekir mi? Çoğu ekip için gerekmiyor. Prompt uzunluğu, dil, araç çağrısı olup olmadığı ve kullanıcının planı gibi ölçütlere dayalı kural tabanlı bir yönlendirme trafiğin önemli kısmını doğru yere gönderir. Hazır yönlendiriciler yetersiz kalıyorsa ve elinizde kendi tercih veriniz varsa eğitmek anlamlı hale gelir.
- check_circle OpenRouter ile LLM router aynı şey mi? Değil. OpenRouter, çok sayıda modeli tek API arkasına toplayan bir servisin adı ve içinde otomatik yönlendirme seçeneği de var, ama asıl işlevi erişim sağlamak. LLM router ise yönlendirme kararının kendisini tanımlayan genel kavram. OpenRouter bu kavramı uygulayan araçlardan biri.
- check_circle Router gecikmeyi artırır mı? Karar adımı kadar artırır. Kural tabanlı yönlendirmede bu maliyet ihmal edilebilir. Küçük bir sınıflandırıcı çalıştıran yönlendiricilerde on milisaniyelerle ifade edilen bir ek gelir. Buna karşılık isteklerin çoğu daha hızlı yanıt veren küçük modele gittiği için toplam yanıt süresi genelde kısalır.