DeepSeek, Claude और किसी भी OpenAI-compatible API के साथ LiteLLM प्रॉक्सी और SDK

LiteLLM एक मुफ़्त, ओपन-सोर्स Python SDK और प्रॉक्सी सर्वर है जो कई मॉडल प्रोवाइडरों के आगे एक OpenAI-स्टाइल API रख देता है। हमने इसे Zurelay की OpenAI-compatible API के साथ सेट किया, इसके ज़रिए SDK, प्रॉक्सी और Claude Code चलाए, और हर वह सेटिंग लिख ली जिसने दिक्कत की।

· Zurelay गाइड · कीमतें लाइव अपडेट होती हैं

LiteLLM क्या करता है

  • SDK एक Python फ़ंक्शन, completion(), है जो किसी भी प्रोवाइडर को OpenAI के फ़ॉर्मैट में कॉल करता है। मॉडल नाम का प्रीफ़िक्स प्रोवाइडर तय करता है: openai/ का मतलब है कोई भी OpenAI-compatible API।
  • प्रॉक्सी एक सर्वर है जिसे आप खुद चलाते हैं, डिफ़ॉल्ट रूप से http://localhost:4000 पर। ऐप्स इसे OpenAI या Anthropic के फ़ॉर्मैट में कॉल करते हैं, और यह आपके प्रोवाइडरों के आगे कीज़, बजट, लॉगिंग और फ़ॉलबैक जोड़ता है।

प्रॉक्सी सेट करें

  1. इसे इंस्टॉल करें एक वर्चुअल एनवायरनमेंट में। LiteLLM 1.106 के लिए Python 3.10 या उससे नया वर्शन चाहिए।
terminal
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install "litellm[proxy]"
  1. config.yaml लिखें। यही वह फ़ाइल है जिसे हमने टेस्ट किया: OpenAI-compatible एंडपॉइंट के ज़रिए DeepSeek V4.1 Flash, LiteLLM के Anthropic प्रोवाइडर के ज़रिए Claude Sonnet 5.5, और एक वाइल्डकार्ड जो बाकी हर मॉडल को zurelay/<model ID> के रूप में पहुँचाता है। model_info की कीमतें Zurelay की मौजूदा कीमतें हैं।
config.yaml
model_list:
- model_name: deepseek-v4.1-flash
litellm_params:
model: openai/deepseek-v4.1-flash
api_base: https://api.zurelay.com/v1
api_key: os.environ/ZURELAY_API_KEY
use_chat_completions_api: true
model_info:
input_cost_per_token: 0.00000003
output_cost_per_token: 0.00000012
cache_read_input_token_cost: 0.00000000074
- model_name: claude-sonnet-5-5
litellm_params:
model: anthropic/claude-sonnet-5-5
api_base: https://api.zurelay.com
api_key: os.environ/ZURELAY_API_KEY
model_info:
input_cost_per_token: 0.00000079
output_cost_per_token: 0.00000395
cache_read_input_token_cost: 0.000000079
- model_name: zurelay/*
litellm_params:
model: openai/*
api_base: https://api.zurelay.com/v1
api_key: os.environ/ZURELAY_API_KEY
use_chat_completions_api: true
litellm_settings:
use_chat_completions_url_for_anthropic_messages: true
check_provider_endpoint: true
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
  1. शुरू करें अपनी Zurelay कुंजी और अपनी खुद की मास्टर कुंजी के साथ। क्लाइंट मास्टर कुंजी भेजते हैं; LiteLLM को ऐसी कुंजियाँ चाहिए जो sk- से शुरू हों।
terminal
export ZURELAY_API_KEY="zr_live_..."
export LITELLM_MASTER_KEY="sk-choose-a-long-random-key"
litellm --config config.yaml
  1. इसे कॉल करें किसी भी OpenAI-संगत API की तरह, कॉन्फ़िग की model_name के साथ।
terminal
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-v4.1-flash", "messages": [{"role": "user", "content": "Hello"}]}'

या Python SDK इस्तेमाल करें

प्रॉक्सी के बिना, हर कॉल में बेस URL और कुंजी पास करें। LiteLLM के anthropic/ प्रोवाइडर से Claude के लिए बेस URL https://api.zurelay.com है, /v1 के बिना।

app.py
import os
from litellm import completion
response = completion(
model="openai/deepseek-v4.1-flash",
api_base="https://api.zurelay.com/v1",
api_key=os.environ["ZURELAY_API_KEY"],
messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)
claude = completion(
model="anthropic/claude-sonnet-5-5",
api_base="https://api.zurelay.com",
api_key=os.environ["ZURELAY_API_KEY"],
messages=[{"role": "user", "content": "Hello"}],
)

LiteLLM के ज़रिए Claude Code

प्रॉक्सी Anthropic की Messages API भी सर्व करता है, इसलिए Claude Code कॉन्फ़िग के किसी भी मॉडल पर चल सकता है। Claude Code को प्रॉक्सी की ओर पॉइंट करें और बताएँ कि वह कौन-से मॉडल इस्तेमाल करे:

terminal
export ANTHROPIC_BASE_URL="http://localhost:4000"
export ANTHROPIC_AUTH_TOKEN="$LITELLM_MASTER_KEY"
export ANTHROPIC_MODEL="deepseek-v4.1-flash"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-sonnet-5-5"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5-5"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4.1-flash"
claude

सिर्फ़ Claude मॉडल के लिए LiteLLM की ज़रूरत नहीं: Claude Code सीधे Zurelay से बात करता है, जैसा Claude Code की कीमतें में दिखता है। YAML फ़ाइल की जगह वेब पेज वाले राउटर के लिए Claude Code Router देखें।

जिन सेटिंग्स से दिक्कत आई

  1. DeepSeek पर Claude Code फ़ेल हो गया, Unknown request URL: POST /v1/responses एरर के साथ। openai/ मॉडल के लिए LiteLLM, Anthropic Messages रिक्वेस्ट को OpenAI की Responses API पर कॉल में बदल देता है, जिसे Zurelay सर्व नहीं करता। एक बार फ़ेल होने के बाद LiteLLM ने मॉडल को कूलडाउन में भी डाल दिया, इसलिए अगली रिक्वेस्ट पर 429 No deployments available for selected model मिला। litellm_settings के तहत use_chat_completions_url_for_anthropic_messages: true उन्हें Chat Completions पर भेजता है।
  2. Responses API क्लाइंट भी इसी तरह फ़ेल हुए। प्रॉक्सी के /v1/responses पर भेजी गई रिक्वेस्ट, या SDK में litellm.responses(), जस की तस अपस्ट्रीम चली गई, जब तक मॉडल पर use_chat_completions_api: true सेट नहीं किया गया।
  3. बेस URL में /v1 के साथ Claude ने /v1/v1/messages कॉल किया और 404 मिला। anthropic/ प्रोवाइडर /v1/messages खुद जोड़ता है; openai/ मॉडल को /v1 चाहिए।
  4. वाइल्डकार्ड ने गलत मॉडल दिखाए। openai/* के साथ, प्रॉक्सी के /v1/models में LiteLLM की बिल्ट-इन 216 OpenAI नामों की सूची (gpt-3.5-turbo, babbage-002) दिखी और Zurelay का कोई मॉडल नहीं। असली मॉडल ID वाली रिक्वेस्ट फिर भी चलती रहीं। check_provider_endpoint: true से वह Zurelay के मॉडल दिखाने लगा।
  5. Windows पर प्रॉक्सी स्टार्टअप के समय क्रैश हो गया और UnicodeEncodeError: 'charmap' codec can't encode characters त्रुटि आई, जब उसका आउटपुट लॉग फ़ाइल में जा रहा था: बैनर में ऐसे अक्षर हैं जो डिफ़ॉल्ट कोड पेज में नहीं होते। Python के UTF-8 मोड से यह ठीक हो गया: एनवायरनमेंट में PYTHONUTF8=1 सेट करें, या python -X utf8 का उपयोग करें।

लागत ट्रैकिंग

LiteLLM की खर्च ट्रैकिंग हर रिक्वेस्ट की कीमत अपनी सूची से लगाती है। जिन मॉडलों को वह जानता है, उनके लिए यह लैब की लिस्ट प्राइस होती है: उसने हमारी Claude Sonnet 5.5 रिक्वेस्ट Anthropic की दर पर गिनी, जो Zurelay के बिल से करीब 2.5 गुना थी। जिन मॉडलों को वह नहीं जानता, जैसे openai/ के पीछे DeepSeek V4.1 Flash, उनकी कोई लागत दर्ज ही नहीं होती। ऊपर कॉन्फ़िग की model_info लाइनें दोनों समस्याएँ ठीक करती हैं: इनके साथ LiteLLM ने अपने x-litellm-response-cost हेडर में जो लागत लौटाई, वह हमारे बिल से मेल खाती थी।

हमारे टेस्ट में कितना खर्च आया

प्रॉक्सी के ज़रिए Claude Code ने DeepSeek V4.1 Flash पर एक छोटी Python फ़ाइल लिखी, फिर Claude Sonnet 5.5 पर उसे एडिट किया। दोनों ने Claude Code के फ़ाइल टूल सही तरह इस्तेमाल किए। Zurelay का बिल:

मॉडलकामअनुरोधप्रॉम्प्ट टोकन (कैश किए गए)लागत
DeepSeek V4.1 Flashhello.py बनाएँ339,725 (25,845)$0.0005
Claude Sonnet 5.5hello.py में बदलाव करें351,310 (32,523)$0.023

हर रिक्वेस्ट में Claude Code के निर्देश और टूल डेफ़िनिशन थे, 13,000 से 18,000 टोकन, और दूसरी रिक्वेस्ट से ज़्यादातर हिस्सा कैश से पढ़ा गया। Claude वाले टास्क के लिए Claude Code का अपना अनुमान Anthropic की लिस्ट प्राइस पर $0.054 था। उससे पहले की SDK कॉल, हर एक में एक छोटा जवाब, DeepSeek पर $0.000006 और Claude Sonnet 5.5 पर $0.0003 की रहीं।

जानने लायक बातें

  • प्रॉक्सी हर नेटवर्क इंटरफ़ेस (0.0.0.0) पर सुनता है, जब तक आप --host 127.0.0.1 न दें। मास्टर कुंजी सेट रखें, वरना आपके नेटवर्क पर कोई भी आपका क्रेडिट खर्च कर सकता है।
  • वाइल्डकार्ड मॉडल में प्रीफ़िक्स के बाद उनकी असली ID आती है: रिक्वेस्ट में zurelay/gpt-6.1-terra Zurelay पर gpt-6.1-terra बन जाता है।
  • Windows पर छोटे फ़ोल्डर पाथ में इंस्टॉल करें। temp फ़ोल्डर में गहराई पर बना वर्चुअल एनवायरनमेंट ModuleNotFoundError: No module named 'openai.types...' के साथ फ़ेल हो गया, क्योंकि कुछ फ़ाइल पाथ Windows की 260 अक्षरों की सीमा पार कर गए।

इसके पीछे लगाए जाने वाले मॉडलों की कीमतें

प्रति 1M टोकन, लैब की लिस्ट कीमत और Zurelay की कीमत:

मॉडलइनपुटआउटपुटZurelay पर (इनपुट / आउटपुट)
DeepSeek V4.1 Flash$0.30$1.20$0.03 / $0.12
Claude Sonnet 5.5$2.00$10.00$0.79 / $3.95
Claude Opus 5.5$4.00$20.00$1.40 / $7.00
GPT-6.1 Terra$1.00$5.00$0.25 / $1.25
Gemini 3.8 Flash$0.75$3.75$0.22 / $1.10
Kimi K3.1 Pro$2.00$10.00$0.80 / $4.00
GLM-5.3$1.40$4.40$0.38 / $1.21

3 नवंबर 2026 पर टेस्ट किया गया, LiteLLM 1.106.6, Python 3.12 और Claude Code 2.1.317 के साथ, Windows पर, Zurelay की API के विरुद्ध। छोटा सेटअप डॉक्स में LiteLLM में है। LiteLLM के अपने डॉक्यूमेंटेशन: OpenAI-संगत एंडपॉइंट और प्रॉक्सी कॉन्फ़िग।

एक ही OpenAI-संगत कुंजी से हर मॉडल, सूचीबद्ध कीमत से कम पर। $10 से क्रेडिट, कोई सब्सक्रिप्शन नहीं।अपनी API कुंजी पाएँ

अक्सर पूछे जाने वाले सवाल

अक्सर पूछे जाने वाले सवाल

कुछ और पूछना है? हमारी टीम से पूछें और हम ईमेल से जवाब देंगे.

LiteLLM क्या है?

BerriAI का ओपन-सोर्स Python SDK और प्रॉक्सी सर्वर। SDK एक OpenAI-स्टाइल फ़ंक्शन से कई मॉडल प्रोवाइडर को कॉल करता है; प्रॉक्सी एक सर्वर है जिसे आप चलाते हैं और ऐप्स उसे OpenAI या Anthropic के फ़ॉर्मैट में कॉल करते हैं, जिसमें आपके प्रोवाइडर के आगे कुंजियाँ, बजट, लॉगिंग और फ़ॉलबैक रहते हैं।

क्या LiteLLM मुफ़्त है?

हाँ। SDK और प्रॉक्सी MIT लाइसेंस के तहत ओपन सोर्स हैं, सिवाय रिपॉज़िटरी के enterprise फ़ोल्डर की एंटरप्राइज़ सुविधाओं के, जिनका अपना लाइसेंस है। आप सिर्फ़ उन प्रोवाइडर को भुगतान करते हैं जिन्हें आप रिक्वेस्ट भेजते हैं।

LiteLLM के साथ OpenAI-संगत API कैसे इस्तेमाल करें?

मॉडल के नाम से पहले openai/ लगाएँ और api_base को प्रोवाइडर के बेस URL पर सेट करें, /v1 समेत, जैसे model: openai/deepseek-v4.1-flash के साथ api_base: https://api.zurelay.com/v1। कुंजी api_key में जाती है, या प्रॉक्सी की config.yaml में os.environ/NAME।

LiteLLM /v1/responses को क्यों कॉल करता है?

openai/ मॉडल के लिए LiteLLM, Anthropic Messages रिक्वेस्ट (जैसे Claude Code से) और Responses API रिक्वेस्ट को प्रोवाइडर की Responses API पर भेजता है। जो प्रोवाइडर सिर्फ़ Chat Completions सर्व करते हैं, वे 404 देते हैं। litellm_settings के तहत use_chat_completions_url_for_anthropic_messages: true और मॉडल पर use_chat_completions_api: true सेट करें।

LiteLLM के साथ Claude Code कैसे इस्तेमाल करें?

config.yaml में दिए मॉडल के साथ LiteLLM प्रॉक्सी चलाएँ, फिर ANTHROPIC_BASE_URL को http://localhost:4000, ANTHROPIC_AUTH_TOKEN को प्रॉक्सी की मास्टर की, और ANTHROPIC_MODEL तथा तीनों ANTHROPIC_DEFAULT_*_MODEL वेरिएबल को कॉन्फ़िग में दिए मॉडल नामों पर सेट करें, और claude चलाएँ।

LiteLLM की लागत गलत क्यों दिखती है?

LiteLLM अनुरोधों की कीमत अपनी सूची से तय करता है: जिन मॉडल को वह जानता है उनके लिए लैब की लिस्ट प्राइस, और जिन्हें नहीं जानता उनके लिए कुछ नहीं। आपका प्रोवाइडर असल में जितना चार्ज करता है उसे ट्रैक करने के लिए, हर मॉडल के model_info में input_cost_per_token, output_cost_per_token और cache_read_input_token_cost जोड़ें।

LiteLLM प्रॉक्सी कौन-सा पोर्ट इस्तेमाल करता है?

पोर्ट 4000, सभी नेटवर्क इंटरफ़ेस (0.0.0.0) पर, जब तक आप --host न दें। पोर्ट बदलने के लिए --port या PORT एनवायरनमेंट वेरिएबल का इस्तेमाल करें।

और गाइड

पूरी कीमत देना बंद करें.
आज से बचत शुरू करें.

सेकंडों में एक कुंजी बनाएं, अपने मौजूदा SDK को Zurelay से जोड़ें, और पहले टोकन से ही हर अनुरोध पर 90% तक कम खर्च करें.