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

शुरुआत करेंगाइड

Google Colab से पहला अनुरोध: API कुंजी को Secrets में रखें

Colab Secrets में सहेजी गई कुंजी के साथ Colab नोटबुक से अपना पहला chat completion भेजें, फिर उत्तर और token उपयोग पढ़ें।

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

Google Colab नोटबुक सेल Colab Secrets से कुंजी पढ़ रही है और CheapTokens API को कॉल कर रही है
इस पृष्ठ पर
  1. आपको क्या चाहिए
  2. कुंजी को Colab Secrets में रखें
  3. पहला अनुरोध चलाएँ
  4. अनुरोध का खर्च
  5. जब कोई सेल विफल हो
  6. साझा करना और रोटेट करना

आप अपने कंप्यूटर पर कुछ भी इंस्टॉल किए बिना Colab नोटबुक में अपना पहला अनुरोध चला सकते हैं। कुंजी को Colab Secrets में सहेजें, उसे userdata.get(...) से पढ़ें, openai पैकेज को https://api.cheaptokens.dev/v1 पर इंगित करें, और choices[0].message.content तथा usage प्रिंट करें। कुंजी कभी किसी सेल में नहीं रहती, इसलिए नोटबुक साझा करने से आपकी कुंजी साझा नहीं होती।

यही आखिरी बात इसे करने की वजह है। मान लीजिए आप नोटबुक पूरी करते हैं और लिंक किसी सहपाठी को भेजते हैं। अगर कुंजी किसी सेल में पेस्ट की गई है, तो अब उनके पास भी है। अगर वह Secrets में रहती है, तो उन्हें कोड मिलता है और बस इतना ही।

यह गाइड सादे requests के साथ पहले अनुरोध पर आगे बढ़ती है। यहाँ नई बात केवल यह है कि कुंजी कहाँ रहती है और नोटबुक उसे कैसे पढ़ती है। लैपटॉप पर इसी विचार के लिए, कुंजी को environment variable में सहेजना देखें।

आपको क्या चाहिए#

  • एक Google खाता और colab.research.google.com पर एक नई नोटबुक।
  • एक CheapTokens API कुंजी और टॉप-अप किया गया बैलेंस। कुंजियाँ और बैलेंस आपके खाते में हैं; docs सटीक चरण दिखाते हैं।
  • पाँच मिनट।

API OpenAI Chat Completions के साथ संगत है, इसलिए मानक openai Python पैकेज एक अलग base_url के साथ काम करता है। openai-python README (5 नवंबर 2026 को जाँचा गया) Python 3.10 या उससे ऊपर और pip install openai सूचीबद्ध करता है।

कुंजी को Colab Secrets में रखें#

नोटबुक के बाएँ साइडबार में एक कुंजी आइकन है, जो Secrets पैनल खोलता है। एक नया secret जोड़ें, उसका नाम CHEAPTOKENS_KEY रखें, मान के रूप में अपनी कुंजी पेस्ट करें, और जिस नोटबुक में आप काम कर रहे हैं उसके लिए नोटबुक एक्सेस चालू करें। बटनों का शब्दांकन बदल सकता है, इसलिए मेनू पथ के बजाय कुंजी आइकन देखें।

अभी वही नाम चुनें जो आप चाहते हैं: यही वह स्ट्रिंग है जिसे आप कोड को देंगे। गलत नाम देना आसान गलती है, और errors अनुभाग दिखाता है कि यह कैसा दिखता है।

पहले और बाद: सेल में पेस्ट की गई कुंजी बनाम userdata.get
बाएँ: कुंजी सेल में रहती है और नोटबुक के साथ जाती है। दाएँ: सेल केवल secret का नाम लेती है।

पहला अनुरोध चलाएँ#

Colab secrets को google.colab.userdata.get(name) से पढ़ता है, जो Google के colabtools मॉड्यूल में एक फ़ंक्शन है (docstrings 5 नवंबर 2026 को जाँचे गए)। SDK इंस्टॉल करें, secret पढ़ें, एक अनुरोध भेजें।

चरण दर चरण

तीन सेल में आपका पहला अनुरोध

पैकेज इंस्टॉल करें

इसे पहली सेल में चलाएँ। -q फ़्लैग आउटपुट को छोटा रखता है, और यह काम करता है चाहे पैकेज रनटाइम में पहले से हो या न हो।

python
!pip install -q openai

कुंजी पढ़ें और क्लाइंट बनाएँ

कुंजी Secrets से आती है। यहाँ कुछ भी पेस्ट नहीं किया गया है।

python
from google.colab import userdata
from openai import OpenAI

client = OpenAI(
    api_key=userdata.get('CHEAPTOKENS_KEY'),
    base_url='https://api.cheaptokens.dev/v1',
)

एक अनुरोध भेजें और परिणाम प्रिंट करें

devloper प्रीफ़िक्स के साथ पूरा model id उपयोग करें। छोटे id स्वीकार नहीं किए जाते।

python
resp = client.chat.completions.create(
    model='deepseek-ai/DeepSeek-V4-Flash-0731',
    messages=[{'role': 'user', 'content': 'Explain a token in one sentence.'}],
    max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)

पहला print मॉडल का उत्तर दिखाता है। दूसरा दो संख्याएँ प्रिंट करता है: आपके भेजे गए tokens और मॉडल द्वारा लिखे गए tokens। यही अनुरोध का पूरा बिल है, इसलिए हम इसे हर बार प्रिंट करते हैं।

अनुरोध का खर्च#

आप tokens के लिए भुगतान करते हैं, इसलिए आउटपुट की दूसरी पंक्ति देखें। मान लीजिए ऊपर जैसा छोटा प्रश्न लगभग 40 tokens इन लेता है और उत्तर 150 tokens आउट है। वह अनुरोध वर्तमान मूल्य पर $0.000016 का है, और उनमें से एक हज़ार का $0.0156। 40 और 150 को उन दो संख्याओं से बदलें जो आपकी नोटबुक ने प्रिंट कीं।

DeepSeek-V4-Flash यहाँ डिफ़ॉल्ट है, एक कारण से: 380K context, प्रति उत्तर अधिकतम 32,768 output tokens, और दिन के किसी भी समय एक ही मूल्य, बिना peak hours के। एक बैलेंस हर मॉडल को कवर करता है, इसलिए आप इस सेल में मॉडल बदल सकते हैं और बाकी कुछ भी बदलने की ज़रूरत नहीं। zai-org/GLM-5.3-Flash (390K context, अधिकतम 8,192 output tokens) आज़माएँ और सेल फिर से चलाएँ। पूरी सूची के लिए सभी मॉडल और मूल्य देखें।

स्वयं आज़माएँआज़माएँ: resp.choices[0].finish_reason क्या है?उत्तर दिखाएँ

अन्य prints के नीचे print(resp.choices[0].finish_reason) जोड़ें। अगर उत्तर स्वाभाविक रूप से समाप्त हुआ तो आपको stop दिखेगा। max_tokens=5 सेट करें और फिर से चलाएँ: उत्तर कट जाता है और आपको length दिखता है, जिसका अर्थ है कि सीमा ने इसे रोका, मॉडल ने नहीं।

जब कोई सेल विफल हो#

secrets की ओर से आने वाली त्रुटियाँ पहले आती हैं, इससे पहले कि कोई अनुरोध Colab छोड़े। colabtools स्रोत (5 नवंबर 2026 को जाँचा गया) कहता है कि userdata.get तीन त्रुटियाँ उठा सकता है।

Colab त्रुटि: SecretNotFoundError
SecretNotFoundError का अर्थ है कि कोड में नाम किसी भी secret से मेल नहीं खाता।
  • SecretNotFoundError: उस नाम से कोई secret नहीं है। userdata.get('...') में स्ट्रिंग की Secrets पैनल के नाम से अक्षर-दर-अक्षर तुलना करें। केस मायने रखता है।
  • NotebookAccessError: secret मौजूद है, लेकिन इस नोटबुक की उस तक पहुँच नहीं है। Secrets पैनल में एक्सेस टॉगल चालू करें और सेल फिर से चलाएँ।
  • TimeoutException: Colab ने secret के अनुरोध का उत्तर नहीं दिया। त्रुटि संदेश कहता है कि secrets केवल तब प्राप्त किए जा सकते हैं जब कोड Colab UI से चले, इसलिए सेल को Colab नोटबुक में ही चलाएँ, निर्यात की गई स्क्रिप्ट में नहीं।

अगर secret लोड हो जाता है और अनुरोध फिर भी विफल होता है, तो समस्या API की ओर है। 401 का अर्थ है कुंजी गलत या अनुपस्थित है; 404 आमतौर पर गलत base URL या model id की ओर इशारा करता है। API 401 या 404: कुंजी, base URL, model id दोनों को समझाता है, और GET /v1/models के साथ मॉडल सूचीबद्ध करना दिखाता है कि सटीक id कैसे कॉपी करें।

साझा करना और रोटेट करना#

नोटबुक साझा करें और userdata.get को कॉल करने वाला कोड उसके साथ जाता है; कुंजी किसी सेल या आउटपुट में नहीं है, इसलिए लीक करने के लिए कुछ नहीं है। जो भी नोटबुक खोलता है उसे उसी नाम के साथ अपना secret चाहिए, अन्यथा उन्हें SecretNotFoundError मिलता है (ऊपर देखें)।

अगर आप नई कुंजी बनाते हैं, तो Secrets पैनल में मान अपडेट करें; कोड वही रहता है क्योंकि यह केवल secret का नाम लेता है।

एक आदत फिर भी मायने रखती है: कुंजी कभी प्रिंट न करें। print(userdata.get('CHEAPTOKENS_KEY')) जैसी सेल इसे आउटपुट में डाल देती है, और आउटपुट नोटबुक के साथ सहेजे जाते हैं।

त्वरित जाँच

साझा Colab नोटबुक में API कुंजी कहाँ रहनी चाहिए?

उत्तर दिखाएँ

उत्तर: Colab Secrets में, userdata.get से पढ़ी गई

एक सेल और उसका आउटपुट नोटबुक के साथ सहेजे जाते हैं और उसके साथ साझा होते हैं; कोड केवल secret का नाम लेता है।

अगला कदम: उत्तर को एक लूप, चैट या छोटे टूल में डालें। docs बाकी API को कवर करते हैं।