OpenAI API मूल्य निर्धार: सामान्य गलतियां और उन्हें कैसे टालें
OpenAI API मूल्य निर्धार अक्सर डेवलपर्स को हैरान करता है क्योंकि इनपुट और आउटपुट टोकन अलग-अलग बिल किए जाते हैं, और स्ट्रीमिंग रिस्पॉन्स लागतों को बढ़ा सकते हैं यदि सावधानी से ट्रैक न किया जाए। इन यांत्रिकी को समझना आपको अप्रत्याशित चार्ज से बचने और अपने बजट के लिए सही मॉडल कॉन्फ़िगरेशन चुनने में मदद करता है।
सारांश
- इनपुट टोकन की कीमत $0.15 प्रति मिलियन है जबकि आउटपुट टोकन की कीमत $0.50 प्रति मिलियन है हमारे अनसेंसर्ड मॉडल के साथ।
- स्ट्रीमिंग प्रतिक्रियाएं सभी जनरेटेड टोकन को आपके प्रीपेड बैलेंस के लिए गिना जाती हैं।
- संदर्भ विंडो सीमाएँ इनपुट और आउटपुट टोकन गणना दोनों को प्रभावित करती हैं।
- प्रीपेड क्रेडिट कभी समाप्त नहीं होते और वास्तविक उपयोग सहित त्रुटियों के लिए भी चार्ज करते हैं।
टोकन लागतों को समझना: इनपुट बनाम आउटपुट
OpenAI API मूल्य निर्धार इनपुट और आउटपुट टोकन के लिए अलग-अलग शुल्क लेता है। इसका मतलब है कि आपकी कुल लागत इस पर निर्भर करती है कि आप कितना भेजते हैं और मॉडल कितना जनरेट करता है। इनपुट टोकन आपके प्रॉम्प्ट और किसी भी कन्वर्सेशन हिस्ट्री को कवर करते हैं। आउटपुट टोकन मॉडल के रिस्पॉन्स टेक्स्ट को कवर करते हैं।
हमारा अनकैप्ड मॉडल 1 मिलियन इनपुट टोकन के लिए $0.15 और 1 मिलियन आउटपुट टोकन के लिए $0.50 चार्ज करता है। उच्च आउटपुट लागत टेक्स्ट जनरेट करने की आवश्यकता कंप्यूट को दर्शाती है। छोटी प्रतिक्रियाएं कम खर्च करती हैं लेकिन फिर भी आपके प्रीपेड क्रेडिट का उपयोग करती हैं।
- इनपुट टोकन में आपका प्रॉम्प्ट और कन्वर्सेशन हिस्ट्री शामिल होती है
- आउटपुट टोकन मॉडल की पूर्ण प्रतिक्रिया को कवर करते हैं
- दोनों टोकन प्रकार आपके प्रीपेड बैलेंस के लिए गिने जाते हैं
- त्रुटियाँ और अस्वीकृतियाँ शून्य टोकन खाती हैं
curl https://api.mistralopenaicompatibleapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list top 5 linux commands for disk cleanup"}]
}'
संदर्भ विंडो सीमाएँ और अप्रत्याशित चार्ज
संदर्भ विंडो सीमाएँ सीधे आपके टोकन लागत को प्रभावित करती हैं क्योंकि लंबी बातचीत अधिक इनपुट टोकन खपत करती है। हमारा अनसेंसर्ड मॉडल प्रॉम्प्ट प्लस कंप्लीशन दोनों के लिए 100,000 टोकन की संदर्भ विंडो का समर्थन करता है। आप प्रति अनुरोध 16,000 टोकन तक जनरेट कर सकते हैं। यदि आप max_tokens छोड़ देते हैं तो सीमा 2,048 टोकन पर आ जाती है।
लंबे संदर्भ विंडो का मतलब उच्च इनपुट टोकन लागत है लेकिन साथ ही अधिक जटिल तर्क की सुविधा भी देते हैं। बातचीत के इतिहास को काटने से इनपुट लागत कम होती है लेकिन प्रतिक्रिया की गुणवत्ता कम हो सकती है। अपने उपयोग मामले के लिए वह संतुलन खोजें।
- इनपुट और आउटपुट के लिए 100,000 कुल संदर्भ विंडो
- प्रति अनुरोध 16,000 अधिकतम आउटपुट टोकन
- यदि max_tokens छोड़ दिया जाए तो 2,048 डिफ़ॉल्ट आउटपुट टोकन
- संदर्भ विंडो लागत और प्रतिक्रिया गुणवत्ता दोनों को प्रभावित करता है
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralopenaicompatibleapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
स्ट्रीमिंग बनाम नॉन-स्ट्रीमिंग टोकन गणना
स्ट्रीमिंग रिस्पॉन्स टोकन की गणना नॉन-स्ट्रीमिंग रिक्वेस्ट की तरह ही करते हैं। क्लाइंट को भेजा गया हर टोकन आपकी प्रीपेड बैलेंस में गिना जाता है, चाहे डिलीवरी का तरीका कुछ भी हो। स्ट्रीमिंग सिर्फ टोकन को क्रमिक रूप से भेजती है, एक साथ नहीं।
स्ट्रीमिंग का उपयोग तब करें जब आपको वास्तविक समय में प्रतिक्रिया की आवश्यकता हो लेकिन टोकन उपयोग की सावधानी से निगरानी करनी हो। अंतिम चंक में इनपुट और आउटपुट दोनों के लिए कुल टोकन गणना शामिल होती है। अपने बजट के भीतर रहने के लिए इन गणनाओं की निगरानी करें।
- स्ट्रीमिंग और नॉन-स्ट्रीमिंग में टोकन गणना समान है।
- क्लाइंट को भेजा गया प्रत्येक टोकन क्रेडिट खर्च करता है
- अंतिम चंक में कुल इनपुट और आउटपुट टोकन गणनाएँ शामिल हैं
- अपने स्ट्रीमिंग इम्प्लीमेंटेशन में टोकन उपयोग ट्रैक करें
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
सामान्य SDK कॉन्फ़िगरेशन त्रुटियाँ
SDK गलत कॉन्फ़िगरेशन अचानक शुल्क का कारण बन सकता है, बहुत सारे टोकन भेजकर या अनावश्यक अनुरोध करके। डेवलपर्स अक्सर max_tokens सेट करना भूल जाते हैं, जिसके परिणामस्वरूप अप्रत्याशित रूप से लंबे उत्तर आते हैं। अन्य स्ट्रीमिंग इम्प्लीमेंटेशन मिस कर देते हैं जो प्रतिक्रिया पूरी होने के बाद भी टोकन भेजते रहते हैं।
अपने SDK को स्पष्ट पैरामीटरों के साथ कॉन्फ़िगर करें। आउटपुट लंबाई को नियंत्रित करने के लिए max_tokens सेट करें। केवल तभी स्ट्रीमिंग सक्षम करें जब आपको रियल-टाइम फीडबैक की आवश्यकता हो। अपने एप्लिकेशन लॉग में टोकन उपयोग की निगरानी करें।
- आउटपुट की लंबाई को नियंत्रित करने के लिए स्पष्ट max_tokens सेट करें
- केवल तभी स्ट्रीमिंग सक्षम करें जब वास्तविक समय की प्रतिक्रिया की आवश्यकता हो
- अपने एप्लिकेशन लॉग में टोकन गणना की निगरानी करें
- हंगिंग अनुरोधों को रोकने के लिए टाइमआउट मान कॉन्फ़िगर करें
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralopenaicompatibleapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
प्रीपेड क्रेडिट्स आपको पैसे क्यों बचाते हैं
प्रीपेड क्रेडिट सदस्यता अपव्यय को समाप्त करते हैं केवल वास्तविक टोकन उपयोग के लिए चार्ज करके। हमारा सिस्टम प्रति मिलियन इनपुट टोकन के लिए $0.15 और प्रति मिलियन आउटपुट टोकन के लिए $0.50 चार्ज करता है। त्रुटियां और अस्वीकृतियां शून्य टोकन का उपभोग करती हैं इसलिए आप कभी विफल अनुरोधों के लिए भुगतान नहीं करते हैं।
$20 से $500 तक क्रिप्टो का भुगतान TRC20 पर USDT या Base पर USDC के लिए करें। $50 या उससे अधिक टॉप-अप करने पर बोनस क्रेडिट प्राप्त करें। क्रेडिट कभी समाप्त नहीं होते हैं, इसलिए आप उन्हें तब उपयोग कर सकते हैं जब आपको आवश्यकता हो। मासिक शुल्क का अर्थ है कि आप केवल उसी के लिए भुगतान करते हैं जो आप वास्तव में उपभोग करते हैं।
- प्रीपेड क्रेडिट केवल वास्तविक टोकन उपयोग के लिए चार्ज करते हैं
- त्रुटियाँ और अस्वीकृतियाँ शून्य टोकन खाती हैं
- $20 से $500 तक crypto में टॉप अप करें
- क्रेडिट कभी समाप्त नहीं होते हैं और बोनस क्रेडिट लागू होता है
रेट लिमिट पेनल्टी से बचें
दर सीमाएं दुरुपयोग को रोकती हैं, लेकिन यदि गलत तरीके से कॉन्फ़िगर की जाएं तो वे आपके एप्लिकेशन में बाधा डाल सकती हैं। हमारी API प्रति कुंजी 300 अनुरोध प्रति मिनट और प्रति कुंजी 8 संवहन अनुरोध की अनुमति देती है। अस्वीकृति से बचने के लिए अनुरोध बॉडी 8 MB से कम रहनी चाहिए।
रेट लिमिट्स पर पहुंचने पर एक्सपोनेंशियल बैकऑफ़ के साथ रिट्राई तर्क लागू करें। सीमाओं के भीतर रहने के लिए प्रति मिनट अपने अनुरोध गण की निगरानी करें। लोड वितरित करने के लिए अलग-अलग एप्लिकेशन घटकों के लिए अलग-अलग कुंजियों का उपयोग करें। एक खाते के लिए एक सक्रिय कुंजी का मतलब है कि आपको कुंजी रोटेशन का सावधानीपूर्वक प्रबंधन करना होगा।
- 300 अनुरोध प्रति मिनट प्रति एपीआई कुंजी
- 8 कन्करेंट रिक्वेस्ट प्रति कुंजी की अनुमति है
- अनुरोध बॉडी 8 MB से कम होनी चाहिए
- प्रति खाता एक सक्रिय कुंजी, प्रतिस्थापन क्षमता के साथ
अनसेंसर्ड मॉडल लागत की तुलना
अनसेंसर्ड मॉडल्स अक्सर स्टैंडर्ड मॉडल्स की तुलना में अधिक महंगे होते हैं क्योंकि इनकी विशेष प्रशिक्षण और इनफरेंस आवश्यकताएं होती हैं। हमारा मॉडल प्रति मिलियन इनपुट टोकन के लिए $0.15 और प्रति मिलियन आउटपुट टोकन के लिए $0.50 चार्ज करता है। यह मूल्य अनसेंसर्ड जनरेशन के लिए आवश्यक कंप्यूट संसाधनों को दर्शाता है।
मानक मॉडल कम खर्चीले हो सकते हैं लेकिन उनमें सामग्री प्रतिबंध शामिल होते हैं जो प्रतिक्रिया की गुणवत्ता को प्रभावित करते हैं। अनसेंसर्ड मॉडल कानूनी वयस्क सामग्री, काल्पनिक लेखन और अनुसंधान के लिए असीमित प्रतिक्रियाएं प्रदान करते हैं। अपनी सामग्री आवश्यकताओं के आधार पर चुनें, न कि केवल कीमत के आधार पर।
- अनकैप्ड मॉडल को विशेष प्रशिक्षण और इनफ़्रस्ट्रक्चर की आवश्यकता होती है
- हमारा मूल्य निर्धारण अनसेंसर्ड जनरेशन कंप्यूट लागतों को दर्शाता है
- सामग्री प्रतिबंध प्रतिक्रिया की गुणवत्ता और लागत को प्रभावित करते हैं
- मूल्य से परे सामग्री आवश्यकताओं के आधार पर चुनें
उपयोग और बिलिंग अलर्ट ट्रैकिंग
टोकन उपयोग ट्रैकिंग आपको लागत की निगरानी करने और बजट ओवररन को रोकने में मदद करती है। हमारी API प्रत्येक प्रतिक्रिया में टोकन गणना लौटाती है, स्ट्रीमिंग प्रतिक्रियाओं सहित। अपने एप्लिकेशन लॉग और डैशबोर्ड में इन गणनाओं को ट्रैक करें।
जब उपयोग certain थ्रेशोल्ड तक पहुंच जाता है तो अलर्ट सेट करें। अपने प्रॉम्प्ट को अनुकूलित करने के लिए इनपुट बनाम आउटपुट टोकन अनुपात की निगरानी करें। वास्तविक लागत की गणना करने और अपने प्रीपेड बैलेंस के साथ तुलना करने के लिए टोकन गणना का उपयोग करें।
- टोकन गिनती प्रत्येक प्रतिक्रिया में दिखाई देती है, स्ट्रीमिंग सहित
- इनपुट बनाम आउटपुट टोकन अनुपात की निगरानी करें
- बजट ओवररन से बचने के लिए उपयोग अलर्ट सेट करें
- टोकन गणना का उपयोग करके वास्तविक लागत की गणना करें
अक्सर पूछे जाने वाले प्रश्न
अपने API लागत की गणना कैसे करें?
अपने इनपुट टोकन की संख्या को प्रति मिलियन $0.15 से गुणा करें और अपने आउटपुट टोकन की संख्या को प्रति मिलियन $0.50 से गुणा करें। इन मानों को जोड़कर एकल अनुरोध के लिए अपनी कुल लागत प्राप्त करें। समय के साथ उपयोग की निगरानी करने के लिए अपने एप्लिकेशन लॉग में टोकन गणना ट्रैक करें।
क्या स्ट्रीमिंग रिस्पॉन्स, नॉन-स्ट्रीमिंग की तुलना में अधिक खर्च करते हैं?
नहीं। स्ट्रीमिंग और नॉन-स्ट्रीमिंग रिस्पॉन्सेस समान टोकन गिनती का उपयोग करते हैं। क्लाइंट को भेजा गया हर टोकन आपके प्रीपेड बैलेंस के लिए गिना जाता है, डिलीवरी विधि से स्वतंत्र। अंतिम स्ट्रीमिंग चंक इनपुट और आउटपुट दोनों के लिए कुल टोकन गणनाएं शामिल करता है।
यदि अपनी रेट लिमिट पर पहुँच जाता हूँ तो क्या होता है?
प्रति मिनट 300 अनुरोधों या 8 समवर्ती अनुरोधों की सीमा को पार करने वाले अनुरोधों को एक त्रुटि प्रतिक्रिया मिलती है। ये त्रुटियाँ शून्य टोकन खपत करती हैं, इसलिए आपको शुल्क नहीं लगता है। दर सीमाओं को प्रभावी ढंग से संभालने के लिए एक्सपोनेंशियल बैकऑफ के साथ रीट्राई लॉजिक लागू करें।
क्या प्रीपेड क्रेडिट्स समाप्त हो जाते हैं?
नहीं। प्रीपेड क्रेडिट कभी समाप्त नहीं होते हैं ताकि आप जब भी आवश्यकता हो तब उनका उपयोग कर सकें। आप केवल वास्तविक टोकन उपयोग के लिए भुगतान करते हैं, जिसमें त्रुटियां और अस्वीकृतियां शामिल हैं जो शून्य टोकन का उपभोग करती हैं। जब भी आवश्यक हो तो क्रिप्टो के साथ टॉप-अप करें।
अपना API key प्राप्त करें
रजिस्टर करें, कुंजी प्राप्त करें, अपने एंडपॉइंट बेस URL अपडेट करें। बस इतना ही।