OpenAI
यह पेज मशीन द्वारा अनुवादित है. मूल अंग्रेज़ी आर्टिकल देखें.

टोकन को समझना और गिनना

जानें कि इनपुट, आउटपुट, कैश किए गए और रीज़निंग टोकन एपीआई के उपयोग, मॉडल की सीमाओं और लागतों को कैसे प्रभावित करते हैं.

अपडेट किया गया: 17 days ago

सारांश

टोकन वे इकाइयाँ हैं जिनका उपयोग OpenAI के मॉडल टेक्स्ट को संसाधित करने के लिए करते हैं. एक टोकन किसी वर्ण, शब्द के अंश, पूरे शब्द या विराम चिह्न को दर्शा सकता है. स्पेस भी टेक्स्ट को टोकन में बाँटने के तरीके को प्रभावित करते हैं.

टोकन की संख्या और शब्दों की संख्या एक नहीं होती. मॉडल, उसकी एन्कोडिंग और भाषा के आधार पर एक ही टेक्स्ट के लिए टोकन की संख्या अलग हो सकती है.

समझें कि टेक्स्ट टोकन में कैसे बदलता है

जब आप किसी मॉडल को टेक्स्ट भेजते हैं:

  1. टेक्स्ट को टोकन में बाँटा जाता है.

  2. मॉडल उन टोकन को संसाधित करता है.

  3. मॉडल आउटपुट टोकन जनरेट करता है. इनमें आपको मिलने वाला टेक्स्ट और रीज़निंग मॉडल के मामले में वे आंतरिक रीज़निंग टोकन शामिल हो सकते हैं जो उत्तर के टेक्स्ट में दिखाई नहीं देते.

अंग्रेज़ी टेक्स्ट के लिए मोटे अनुमान लगाएँ

इन अनुमानों से अंग्रेज़ी टेक्स्ट के आकार का अंदाज़ा लगाया जा सकता है:

  • 1 टोकन लगभग 4 वर्णों के बराबर होता है.

  • 1 टोकन लगभग तीन-चौथाई शब्द के बराबर होता है.

  • 100 टोकन लगभग 75 शब्दों के बराबर होते हैं.

ये अनुमान हैं, सटीक संख्याएँ नहीं. वाक्यों और अनुच्छेदों की लंबाई अलग-अलग होती है, और अन्य भाषाओं में वर्णों, शब्दों और टोकन के बीच संबंध भिन्न हो सकते हैं.

स्पेस और बड़े-छोटे अक्षरों का ध्यान रखें

किसी शब्द की वर्तनी, बड़े-छोटे अक्षरों और आस-पास के टेक्स्ट के आधार पर उसे अलग-अलग टोकन में बाँटा जा सकता है.

उदाहरण के लिए, red, Red और red का टेक्स्ट एक जैसा नहीं है: अंतिम उदाहरण के आरंभ में एक स्पेस है. एन्कोडिंग इन्हें अलग-अलग ढंग से दर्शा सकती है.

टोकन आईडी भी एन्कोडिंग पर निर्भर करती हैं. यह न मानें कि किसी उदाहरण की टोकन आईडी हर मॉडल पर लागू होती है.

इनपुट और आउटपुट टोकन में अंतर समझें

श्रेणीयह क्या बताता है
इनपुट टोकनकिसी अनुरोध में मॉडल को दिए गए टोकन. इन्हें प्रॉम्प्ट टोकन भी कहा जाता है.
आउटपुट टोकनमॉडल द्वारा जनरेट किए गए टोकन. Chat Completions में इन्हें पूर्णता टोकन कहा जाता है.
कैश किए गए इनपुट टोकनप्रॉम्प्ट कैशिंग के ज़रिए दोबारा उपयोग किए गए इनपुट टोकन. इनकी कीमत कैश न किए गए इनपुट टोकन से अलग हो सकती है.
रीज़निंग टोकनवे टोकन जिनका उपयोग रीज़निंग मॉडल दिखाई देने वाला उत्तर तैयार करने से पहले आंतरिक रूप से करता है.

रीज़निंग टोकन उत्तर के टेक्स्ट में दिखाई नहीं देते, लेकिन वे आउटपुट के उपयोग में गिने जाते हैं और उनका शुल्क आउटपुट टोकन के रूप में लिया जाता है.

इसलिए कोई छोटा दिखाई देने वाला उत्तर अपने प्रदर्शित टेक्स्ट से अधिक टोकन उपयोग कर सकता है.

अनुरोध भेजने से पहले टोकन गिनें

सादे टेक्स्ट के टोकन गिनें

टेक्स्ट को टोकन में कैसे बाँटा जाता है, यह देखने के लिए टोकनाइज़र का उपयोग करें.

प्रोग्राम के ज़रिए सादे टेक्स्ट का टोकनाइज़ेशन करने के लिए tiktoken का उपयोग करें. अपने लक्षित मॉडल के लिए एन्कोडिंग चुनें, जैसे tiktoken.encoding_for_model(model) से.

सादे टेक्स्ट की टोकन संख्या में एपीआई अनुरोध के सभी टोकन शामिल हों, यह ज़रूरी नहीं है. संदेश की संरचना, टूल, स्कीमा, इमेज और फ़ाइलें इनपुट की कुल संख्या को प्रभावित कर सकती हैं.

Responses के पूरे इनपुट के टोकन गिनें

Responses API के पूरे इनपुट के लिए इनपुट-टोकन गिनने वाली एपीआई का उपयोग करें.

यह संदेश, इमेज, फ़ाइल, टूल और बातचीत सहित Responses के इनपुट प्रारूप स्वीकार करती है. इसकी गणना में अनुरोध की संरचना के लिए उपयोग होने वाले फ़ॉर्मैटिंग टोकन भी शामिल होते हैं, जैसे संदेश की भूमिकाएँ और सीमाएँ.

इनपुट की टोकन संख्या से यह अनुमान नहीं लगाया जा सकता कि मॉडल कितने आउटपुट टोकन जनरेट करेगा.

टोकन के वास्तविक उपयोग की जाँच करें

अनुरोध के बाद उसके उपयोग की जानकारी देखें. फ़ील्ड के नाम एंडपॉइंट के अनुसार अलग-अलग होते हैं:

  • Chat Completions में prompt_tokens, completion_tokens और total_tokens की जानकारी मिलती है.

  • Responses में input_tokens, output_tokens और total_tokens की जानकारी मिलती है.

आप उपयोग डैशबोर्ड में समय के साथ हुई गतिविधि भी देख सकते हैं. स्ट्रीमिंग के उपयोग सहित निर्देशों के लिए, यह देखें: एपीआई के उपयोग और लागतों की समीक्षा करना.

मॉडल की सीमाओं के भीतर रहें

मॉडल की कॉन्टेक्स्ट विंडो और अधिकतम आउटपुट के लिए उसका दस्तावेज़ देखें. ये सीमाएँ अलग-अलग मॉडल में भिन्न हो सकती हैं.

कॉन्टेक्स्ट विंडो उन टोकन की संख्या सीमित करती है जिन पर मॉडल एक अनुरोध में काम कर सकता है. मॉडल की एक आउटपुट सीमा भी होती है. रीज़निंग मॉडल के लिए दिखाई देने वाले उत्तर के साथ रीज़निंग टोकन की जगह भी रखें.

अगर आपका इनपुट बहुत बड़ा है, तो आप:

  • प्रॉम्प्ट को छोटा करें या दूसरे शब्दों में लिखें.

  • अनावश्यक या दोहराया गया संदर्भ हटाएँ.

  • बड़े इनपुट को छोटे भागों में बाँटें.

  • टेक्स्ट भेजने से पहले उसका सार बनाएँ या उसे पहले से संसाधित करें.

अपने एंडपॉइंट और मॉडल के समर्थित आउटपुट-टोकन विकल्प का उपयोग करें. Chat Completions में max_completion_tokens और Responses में max_output_tokens का उपयोग होता है.

अनुरोध के आकार की ये सीमाएँ एपीआई की दर सीमाओं और मासिक उपयोग या खर्च की सीमाओं से अलग हैं. अपने मॉडल के लिए मॉडल के दस्तावेज़ देखें.

टोकन का मूल्य निर्धारण समझें

टोकन-आधारित एपीआई मूल्य निर्धारण में दर मॉडल और टोकन की श्रेणी पर निर्भर करती है. इनपुट, कैश किए गए इनपुट और आउटपुट टोकन की कीमतें अलग-अलग हो सकती हैं. एपीआई की अन्य क्षमताओं के लिए बिलिंग की अलग इकाइयाँ हो सकती हैं.

मौजूदा दरों के लिए एपीआई मूल्य निर्धारण पेज देखें.

मॉडल की तुलना करते समय अपना काम पूरा करने के लिए आवश्यक कुल टोकन और लागत पर विचार करें. प्रति दस लाख टोकन कम कीमत का अर्थ हमेशा कम कुल लागत नहीं होता: मॉडल एक ही टेक्स्ट का अलग-अलग टोकनाइज़ेशन कर सकते हैं और अलग मात्रा में आउटपुट या रीज़निंग जनरेट कर सकते हैं.

केवल दिखाई देने वाले उत्तर की लंबाई की तुलना करने के बजाय प्रतिनिधि कार्यों का परीक्षण करें.

एकाधिक पूर्णताओं का हिसाब रखें

जब कोई एंडपॉइंट और मॉडल एकाधिक पूर्णताएँ जनरेट करने की सुविधा देते हैं, तो उन अतिरिक्त पूर्णताओं में भी टोकन उपयोग होते हैं.

Chat Completions में n को 1 से अधिक सेट करने पर एकाधिक विकल्प जनरेट होते हैं. उन सभी विकल्पों में जनरेट हुए टोकन का शुल्क लिया जाता है.

पुराने Completions API में best_of ऐसे उम्मीदवार जनरेट कर सकता है जिन्हें पूरा लौटाया नहीं जाता. उदाहरण के लिए, best_of = 3 उम्मीदवारों में अधिकतम 3 × max_tokens पूर्णता टोकन जनरेट कर सकता है.

ये पैरामीटर एंडपॉइंट के लिए विशिष्ट हैं. यह न मानें कि किसी अन्य एपीआई या मॉडल में n या best_of समर्थित है.

क्या यह लेख मददगार था?