LLM रूटिंग लेयर LiteLLM, OpenRouter, Portkey
Type: Learn
Languages: Python (stdlib, routing + failover + cost tracker)
Prerequisites: Phase 13 · 02 (function calling), Phase 13 · 17 (gateways)
Time: ~45 minutes
सीखने के लक्ष्य
- स्व-होस्ट, प्रबंधित और उत्पादन-स्तर के रूटिंग विकल्पों में अंतर करें।
- एक बैक-अप श्रृंखला को लागू करें जो एक परिभाषित प्राथमिकता क्रम में प्रदाता विफलताओं पर पुनः प्रयास करता है।
- प्रदाताओं के बीच प्रति अनुरोध लागत और टोकन उपयोग का ट्रैक करें।
- किसी दिए गए उत्पादन प्रतिबंध के लिए LiteLLM, OpenRouter और Portkey के बीच निर्णय लें।
समस्या
ऐसे परिदृश्य जहां प्रदाता रूटिंग महत्वपूर्ण हैः
- Cost.क्लाउड सोनेट की कीमत हैकू की कीमत का 3 गुना है। एक triage कार्य के लिए, हैकू पर्याप्त है; एक संश्लेषण कार्य के लिए, सोनेट इसके लायक है. अनुरोध पर मार्ग।
- Failover.OpenAI एक बुरा समय है, हर अनुरोध विफल रहता है आप पुनः तैनात किए बिना मानव स्वचालित वापसी चाहते हैं।
- Latency.एक लाइव चैट UI को तेजी से समय-से-पहले टोकन की आवश्यकता है। एक बैच सारांशक नहीं करता है. विलंबता द्वारा मार्ग एसएलए.
- Compliance.यूरोपीय संघ के उपयोगकर्ताओं को यूरोपीय संघ के क्षेत्रों में रहना होगा।
- Experimentation.एक ही काम के भार पर दो मॉडल, परीक्षण बाल्टी द्वारा मार्ग।
एक रूटिंग गेटवे एक ओपनएआई संगत एपीआई देता है और बाकी को संभालता है।
अवधारणा
OpenAI संगत प्रॉक्सी आकार
सभी OpenAI-शैली में बात करते हैं. रूटिंग गेटवे उजागर करता है।/v1/chat/completions, OpenAI योजना को स्वीकार करता है, और आंतरिक रूप से मानव / मिथुन / कोहरे / Ollama / कुछ भी प्रॉक्सी। ग्राहक परवाह नहीं करता।
मॉडल उपनाम
एक चिपचिपा स्नैपशॉट आईडी के बजाय, आपका कोड कहता है our_smart_model. गेटवे नक्शे वास्तविक मॉडल के लिए उपनाम. जब एक प्रदाता एक नई पीढ़ी भेजता है, आप उपनाम सर्वर-साइड बदलते हैं; अपने कोड कुछ भी छू नहीं है.
पतन श्रृंखलाएँ
primary: openai/gpt-4o
on 5xx: anthropic/claude-3-5-sonnet
on 5xx: google/gemini-1.5-pro
on 5xx: refuseगेटवेज इसे एक कॉन्फ़िग में परिभाषित करते हैं। रिट्रीट बजट के खिलाफ गिनती करते हैं ताकि पतन झरने लागत में विस्फोट न करें।
अर्थिक कैशिंग
एक ही या लगभग समान प्रॉम्प्ट प्रदाता के बजाय कैश पर हिट करते हैं। दोहराए गए एजेंट लूप पर बचत 30 से 60 प्रतिशत हो सकती है। कुंजी एम्बेडिंग-आधारित हैं; लगभग समान प्रॉम्प्ट एक कैश स्लॉट साझा करते हैं।
गार्डरेल्स
गेटवे स्तरः
- PII redaction.सूचना भेजने से पहले रेजेक्स या एमएल आधारित पास।
- Policy violations.निषिद्ध सामग्री वाले संकेतों को अस्वीकार करें।
- Output filters.लीक के लिए स्क्रब पूर्णता।
पोर्टकी और कांग दोनों जहाजों के विचार की रक्षा करते हैं।
प्रति कुंजी दर सीमाएं
एक एपीआई कुंजी = एक टीम. प्रति कुंजी बजट एक टीम को साझा कोटा का उपभोग करने से रोकता है। अधिकांश गेटवे इसे समर्थन करते हैं।
स्व-होस्ट किए गए बनाम प्रबंधित ट्रेडऑफ
| Factor | LiteLLM (self-hosted) | OpenRouter (managed) | Portkey (production) |
|---|---|---|---|
| Code | Open source, Python | Managed SaaS | Open source (Mar 2026) + managed |
| Setup | Deploy a proxy | Sign up | Either |
| Providers | 100+ | 300+ | 100+ |
| Billing | Your own keys | OpenRouter credits | Your own keys |
| Observability | OpenTelemetry | Dashboard | Full OTel + PII redaction |
| Best for | Teams that want full control | Rapid prototyping | Production with compliance |
LiteLLM जब आप एक SRE टीम है और डेटा संप्रभुता चाहते हैं जीतता है OpenRouter जब आप एक सदस्यता चाहते हैं और कोई infra नहीं चाहते हैं जब आप सुरक्षा रीलों और अनुपालन की जरूरत है जब आप बॉक्स से बाहर जीतता है.
लागत ट्रैकिंग
हर अनुरोध में शामिल है provider,model,input_tokens,output_tokens. प्रति मॉडल प्रति टोकन की कीमतों से गुणा करें (गेटवे द्वारा बनाए रखे गए मूल्य निर्धारण पत्र से खींचा गया) प्रति उपयोगकर्ता / प्रति टीम / प्रति परियोजना संश्लेषण।
एमसीपी प्लस रूटिंग
एक गेटवे एलएलएम कॉल और एमसीपी नमूना अनुरोध दोनों को रूट कर सकता है। जब एक नमूना अनुरोध का मॉडल प्राथमिकताएं एक विशिष्ट मॉडल पसंद करते हैं, तो गेटवे सही बैकेंड में अनुवादित होता है। यह वह जगह है जहां चरण 13 · 17 (एमसीपी गेटवे) और इस पाठ का रूटिंग गेटवे कभी-कभी एक सेवा में विलय होता है।
रूटिंग रणनीतियाँ
- Static priority.सूची में प्रथम; त्रुटि पर वापस गिरें।
- Load balancing.गोल-रोबिन या वजनदार।
- Cost-aware.विलंबता / गुणवत्ता को पूरा करने के लिए सबसे सस्ता मॉडल चुनें।
- Latency-aware.पिछले N मिनट में सबसे तेज़ मॉडल चुनें।
- Task-aware.एक मॉडल में कोडिंग करने वाले त्वरित वर्गीकरण मार्ग, दूसरे मॉडल में संक्षेप।
इसका प्रयोग करें
code/main.py~ 150 पंक्तियों में एक रूटिंग गेटवे लागू करता हैः ओपनएआई के आकार के अनुरोधों को स्वीकार करता है, प्रति प्रदाता स्टब में अनुवाद करता है, एक प्राथमिकता fallback श्रृंखला चलाता है, प्रति अनुरोध लागत को ट्रैक करता है, और इनपुट पर PII संपादन पास लागू करता है। इसे तीन परिदृश्यों के साथ चलाएंः सामान्य अनुरोध, प्राथमिक प्रदाता आउटेज से fallback, संपादन द्वारा पकड़ा गया PII लीक।
क्या देखना हैः
ROUTESdict: alias -> ठोस प्रदाताओं की प्राथमिकता-क्रमबद्ध सूची।- 5xx पर बैक लूप पुनः प्रयास करें।
- लागत ट्रैकर प्रति मॉडल दरों से टोकन उपयोग को गुणा करता है।
- पीआईआई संपादक आगे भेजने से पहले एसएसएन-आकार के पैटर्न को स्क्रब करता है।
इसे भेजें
यह सबक हमें फल देता हैoutputs/skill-routing-config-designer.md. कार्यभार प्रोफ़ाइल (लैटेंसी, लागत, अनुपालन) को देखते हुए, कौशल LiteLLM / OpenRouter / Portkey का चयन करता है और एक रूटिंग कॉन्फ़िगरेशन उत्पन्न करता है।
व्यायाम
- दौड़ें
code/main.py. विराम के परिदृश्य को ट्रिगर करें; पुष्टि करें कि दूसरे प्रदाता पर गिरावट आती है और लागत का सही ढंग से श्रेय दिया जाता है।
- अर्थिक कैशिंग जोड़ेंः प्रॉम्प्ट का SHA256 एक खोज कुंजी है; कैश हिट तुरंत लौटते हैं। दोहराए गए कॉल पर लागत बचत का माप करें।
- एक त्वरित वर्गीकरण जोड़ें जो "कोड ..." को निर्देशित करता है एक गुप्तीकरण को बढ़ावा देने वाले उपनाम और "संक्षेप ..." को गति को बढ़ावा देने वाले एक उपनाम के लिए निर्देशित करता है।
- प्रति टीम बजट डिजाइन करेंः प्रत्येक टीम के पास मासिक खर्च की सीमा होती है; गेटवे सीमा को एक बार हिट करने के बाद अनुरोधों को अस्वीकार करता है। एक प्रवर्तन granularity चुनें (प्रति अनुरोध या विंडो में) ।
- लीटएलएम, ओपनरॉटर और पोर्टकी डॉक्स को एक साथ पढ़ें। प्रत्येक जहाज में एक विशेषता का नाम दें जो अन्य दो में नहीं है।
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| Routing gateway | "LLM proxy" | One-API-surface layer in front of many providers |
| OpenAI-compatible | "Speaks the OpenAI schema" | Accepts /v1/chat/completions shape, translates to any backend |
| Model alias | "our_smart_model" | Name in your code that the gateway maps to a concrete model |
| Fallback chain | "Retry list" | Ordered list of providers attempted on failure |
| Semantic caching | "Prompt-embedding cache" | Key is embedding of the prompt; near-duplicates share a cache hit |
| Guardrails | "Input/output filters" | Redact PII, reject policy violations |
| Per-key rate limit | "Team budget" | Quota scoped to an API key |
| Cost tracking | "Per-request spend" | Aggregate token usage x price per model |
| LiteLLM | "The open proxy" | Self-hostable OSS routing gateway |
| OpenRouter | "The managed SaaS" | Hosted gateway with credit-based billing |
| Portkey | "The production option" | Open-source + managed with guardrails built in |
आगे पढ़ना
- LiteLLM — docs स्व-होस्ट रूटिंग गेटवे
- OpenRouter — quickstart प्रबंधित राउटिंग SaaS
- Portkey — docs गार्डरेल के साथ उत्पादन मार्ग
- TrueFoundry — LiteLLM vs OpenRouter निर्णय गाइड
- Relayplane — LLM gateway comparison 2026 विक्रेता सर्वेक्षण
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.