ब्लॉग पर वापस जाएं

टूल्स और इंटीग्रेशनगाइड

LibreChat को CheapTokens से कनेक्ट करें: librechat.yaml कस्टम एंडपॉइंट

सेल्फ-होस्टेड LibreChat में CheapTokens एंडपॉइंट जोड़ें: librechat.yaml में एक एंट्री, एनवायरनमेंट वेरिएबल के रूप में कुंजी, मेनू में तीन मॉडल।

CheapTokens Team द्वाराप्रकाशित 7 मिनट का पाठ

CheapTokens API की ओर इंगित करती LibreChat कॉन्फ़िगरेशन एंट्री
इस पृष्ठ पर
  1. एंट्री को क्या चाहिए
  2. इसे तीन चरणों में जोड़ें
  3. एक मेनू में तीन मॉडल
  4. यदि एंडपॉइंट न दिखे या त्रुटि के साथ उत्तर दे

आपका LibreChat चल रहा है, लेकिन मॉडल मेनू में केवल वही दिखता है जो इसके साथ आया था। CheapTokens जोड़ने के लिए आप librechat.yaml में एक endpoints.custom एंट्री लिखते हैं: एक नाम, बेस URL https://api.cheaptokens.dev/v1, एनवायरनमेंट वेरिएबल के रूप में कुंजी और मॉडल आईडी की एक सूची। कंटेनर को रीस्टार्ट करें, और मेनू में एक "CheapTokens" एंडपॉइंट दिखाई देगा।

नीचे दिए गए फ़ील्ड नाम LibreChat के कस्टम एंडपॉइंट संदर्भ से आते हैं (docs "Latest (dev)" ब्रांच, 30 अक्टूबर 2026 को जाँचा गया)। पेज पर कोई वर्ज़न नंबर नहीं है, इसलिए यदि आपका इंस्टॉल पुराना है और कोई फ़ील्ड अलग व्यवहार करता है, तो अपने रिलीज़ के docs से तुलना करें। API पक्ष हमारे docs वाला है: OpenAI Chat Completions फ़ॉर्मेट, हर मॉडल के लिए एक बैलेंस।

एंट्री को क्या चाहिए#

चार फ़ील्ड आवश्यक हैं, और हर एक का सीधा काम है:

  • name — मेनू में एंडपॉइंट का नाम क्या होगा।
  • apiKey — कुंजी। docs ${VAR} जैसा संदर्भ सुझाते हैं, कुंजी के बजाय, ताकि सीक्रेट YAML से बाहर रहे।
  • baseURL — अनुरोध कहाँ जाते हैं: https://api.cheaptokens.dev/v1।
  • models.default — मेनू में दिखाए जाने वाले मॉडल आईडी की सूची।

दो वैकल्पिक फ़ील्ड सेट करने योग्य हैं। titleConvo: true LibreChat को आपकी चैट के नाम रखने देता है (शीर्षक तब तक बनाए जाते हैं जब तक यह false न हो), और modelDisplayLabel उत्तरों के बगल में लेबल है (डिफ़ॉल्ट "AI" है)। models.fetch डिफ़ॉल्ट रूप से false है, इसलिए LibreChat API से मॉडल सूची नहीं माँगेगा; मेनू models.default से आता है। इसीलिए नीचे आईडी पूरी तरह लिखी गई हैं।

इसे तीन चरणों में जोड़ें#

चरण दर चरण

LibreChat (Docker) कनेक्ट करें

कंटेनर को कुंजी दें

कुंजी को एनवायरनमेंट वेरिएबल के रूप में LibreChat कंटेनर तक पहुँचना चाहिए। LibreChat के docs आपको environment के अंतर्गत docker-compose.override.yml में वेरिएबल सेट करने देते हैं, इसलिए वह फ़ाइल docker-compose.yml के बगल में बनाएँ। वेरिएबल का नाम हमारा है, कोई भी चुनें, बस इसे YAML में समान रखें:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here

मान एक प्लेसहोल्डर है: अपने CheapTokens डैशबोर्ड से कुंजी का उपयोग करें।

librechat.yaml में एंडपॉइंट जोड़ें

docker-compose.yml के बगल में librechat.yaml बनाएँ। आकार LibreChat के docs में Mistral उदाहरण का अनुसरण करता है, हमारे पते और आईडी के साथ:

yaml
endpoints:
  custom:
    - name: 'CheapTokens'
      apiKey: '${CHEAPTOKENS_API_KEY}'
      baseURL: 'https://api.cheaptokens.dev/v1'
      models:
        default:
          - 'zai-org/GLM-5.3-Flash'
          - 'deepseek-ai/DeepSeek-V4-Flash-0731'
          - 'MiniMaxAI/MiniMax-M2.7'
      titleConvo: true
      modelDisplayLabel: 'CheapTokens'

फ़ाइल माउंट करें और रीस्टार्ट करें

कंटेनर को फ़ाइल दिखनी चाहिए। उसी docker-compose.override.yml में volumes जोड़ें, ताकि अब इसमें दोनों हों:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here
    volumes:
      - ./librechat.yaml:/app/librechat.yaml

फिर इसे लागू करें:

bash
docker compose up -d
कुंजी से मेनू तक: एनवायरनमेंट वेरिएबल, librechat.yaml, माउंट, फिर मॉडल सूची में CheapTokens
कुंजी से LibreChat मेनू में CheapTokens एंडपॉइंट तक का रास्ता

ब्राउज़र में LibreChat खोलें, नई चैट शुरू करें और एंडपॉइंट मेनू में CheapTokens चुनें। तीनों मॉडल सूची में हैं। "Say hi in one sentence" भेजें और आपको उत्तर मिलना चाहिए। यदि नहीं मिले, तो अंतिम अनुभाग पर जाएँ।

एक मेनू में तीन मॉडल#

यही वह हिस्सा है जो सेल्फ-होस्टेड चैट को रखने लायक बनाता है। मान लें आप इसे एक छोटी टीम के लिए चलाते हैं। अधिकांश प्रश्न रोज़मर्रा के होते हैं: यह ईमेल फिर से लिखें, यह त्रुटि समझाएँ। उनके लिए zai-org/GLM-5.3-Flash पर्याप्त है, 390K कॉन्टेक्स्ट विंडो और प्रति उत्तर 8,192 टोकन तक। जब कोई लंबा दस्तावेज़ पेस्ट करता है और लंबा उत्तर चाहता है, तो वे उसी चैट को deepseek-ai/DeepSeek-V4-Flash-0731 पर स्विच करते हैं (380K कॉन्टेक्स्ट, प्रति उत्तर 32,768 टोकन तक)। MiniMaxAI/MiniMax-M2.7 (180K कॉन्टेक्स्ट) तीसरी राय है जब दो उत्तर असहमत हों। कोई दूसरी सदस्यता नहीं, कोई दूसरी कुंजी नहीं: तीनों एक ही बैलेंस से बिल होते हैं।

उस चैट का खर्च क्या है? पाँच लोगों की टीम लें जो प्रतिदिन 200 संदेश भेजती है, प्रत्येक में लगभग 3,000 इनपुट टोकन (इतिहास बढ़ता है) और लगभग 500 टोकन वापस मिलते हैं:

मॉडल प्रति अनुरोध 200 अनुरोध OpenRouter, 200 अनुरोध
GLM-5.3-Flash $0.00008 $0.016 $0.0284
DeepSeek-V4-Flash $0.000095 $0.019 $0.056
MiniMax-M2.7 $0.00023 $0.045 $0.54

प्रति अनुरोध 3,000 इनपुट और 500 आउटपुट टोकन। प्रति 1M टोकन की कीमतें वर्तमान हैं और हमारे टैरिफ के साथ बदलती रहती हैं; OpenRouter कॉलम समान कार्यभार के लिए संदर्भ कीमतें दिखाता है।

तालिका में, उन 200 अनुरोधों के लिए प्रत्येक मॉडल की कीमत इनपुट और आउटपुट दोनों को मिलाकर गिनी गई है, और कुल मिलाकर यह OpenRouter से सस्ता पड़ता है। अपने उपयोग से मेल खाने वाली पंक्ति चुनें और इसकी तुलना मूल्य निर्धारण पेज से करें।

स्वयं आज़माएँइसे आज़माएँ: एक प्रश्न दो मॉडलों को भेजेंउत्तर दिखाएँ

नई चैट खोलें, zai-org/GLM-5.3-Flash चुनें, और एक ऐसे पैराग्राफ का सारांश माँगें जिसे आप अच्छी तरह जानते हैं। उसी मेनू में मॉडल को deepseek-ai/DeepSeek-V4-Flash-0731 पर स्विच करें, और फिर से पूछें। दोनों उत्तरों की लंबाई और लहजे की तुलना करें — इसी से आप डिफ़ॉल्ट मॉडल तय करते हैं।

यदि एंडपॉइंट न दिखे या त्रुटि के साथ उत्तर दे#

अधिकांश समस्याएँ तीन में से एक होती हैं। जो आप देखते हैं उससे मेल खाने वाली चुनें:

अपना मामला चुनें

आप क्या देखते हैं?

मेनू में CheapTokens गायब है

LibreChat ने आपकी फ़ाइल कभी नहीं पढ़ी। जाँचें कि librechat.yaml /app/librechat.yaml पर माउंट है (ऊपर वाली ओवरराइड फ़ाइल), YAML का इंडेंटेशन बरकरार है, और आपने बदलाव के बाद docker compose up -d चलाया है।

401 Unauthorized

कुंजी गायब है या गलत है। जाँचें कि librechat.yaml में ${ के बाद का नाम बिल्कुल एनवायरनमेंट वेरिएबल के नाम जैसा है, और कुंजी में कोई स्पेस या कोट्स पेस्ट नहीं हुए हैं। इस त्रुटि पर अधिक जानकारी API 401 या 404 में।

404 या मॉडल त्रुटि

मॉडल आईडी गलत है। deepseek-ai/DeepSeek-V4-Flash-0731 जैसी पूरी आईडी का उपयोग करें; छोटा नाम स्वीकार नहीं किया जाता। आप GET /v1/models से मॉडल सूचीबद्ध करें में दिए चरणों से सटीक आईडी देख सकते हैं।

एक बार पहला संदेश चला जाए, तो जब भी आप मेनू में कोई और मॉडल चाहें, models.default में और आईडी जोड़ सकते हैं। कोई अलग फ्रंट एंड पसंद है? वही विचार, एक बेस URL प्लस एक कुंजी, Open WebUI को CheapTokens से कनेक्ट करें में है, और सामान्य तस्वीर OpenAI-compatible API: base_url क्या है में है। मॉडल स्वयं GLM पेज पर हैं।