HI ▾
API कुंजी पाएँ

Ollama API: यह कैसे काम करता है और इसके विकल्प क्या हैं

Ollama API: यह कैसे काम करता है और इसके विकल्प क्या हैं

Ollama API स्थानीय LLMs चलाने के लिए एक मानकीकृत इंटरफ़ेस प्रदान करता है, लेकिन उन डेवलपर्स के लिए जो स्व-होस्टिंग के बिना प्रोडक्शन-ग्रेड विश्वसनीयता चाहते हैं, एक होस्टेड ड्रॉप-इन विकल्प महत्वपूर्ण संचालनात्मक लाभ प्रदान करता है। यह गाइड समझाता है कि Ollama API इकोसिस्टम के साथ एकीकृत कैसे करें, इसकी सीमाओं को समझें और यह मूल्यांकन करें कि कब आपकी पाइपलाइन के लिए एक होस्टेड, बिना सेंसर एंडपॉइंट व्यावहारिक विकल्प है।

अद्यतन

कार्ड की आवश्यकता नहीं। साइन-अप करने के बाद, एक क्लिक के साथ $0.50 का मुफ्त टेस्ट क्रेडिट क्लेम करें (प्रति व्यक्ति एक बार)।

API कुंजी पाएँ

मुख्य बिंदु

  • Ollama का मानक API लोकल इनफरेंस के लिए अनुकूलित है, जिसके लिए आपको हार्डवेयर, अपडेट और अपटाइम का प्रबंधन स्वयं करना होगा।
  • होस्टेड विकल्प समान OpenAI-कम्पैटिबल सिंटैक्स प्रदान करते हैं, जिससे इंफ्रास्ट्रक्चर ओवरहेड हट जाता है और बिना सेंसर मॉडल का समर्थन किया जाता है।
  • कॉन्टेक्स्ट विंडो और टोकन लिमिट लोकल इंस्टेंस और होस्टेड सेवाओं के बीच काफी अलग होते हैं, जो प्रॉम्प्ट डिज़ाइन को प्रभावित करते हैं।
  • स्ट्रीमिंग, फ़ंक्शन कॉलिंग और JSON मोड दोनों इकोसिस्टम में मानक सुविधाएँ हैं, लेकिन त्रुटि हैंडलिंग में अंतर होता है।

कॉन्टेक्स्ट विंडो को समझना

कॉन्टेक्स्ट विंडो एक LLM द्वारा एकल अनुरोध में प्रोसेस किए जा सकने वाले टोकन की कुल संख्या को परिभाषित करता है, जिसमें इनपुट प्रॉम्प्ट और जनरेट किया गया आउटपुट दोनों शामिल हैं। स्थानीय Ollama डिप्लॉयमेंट में, यह सीमा आपकी उपलब्ध VRAM और सिस्टम RAM द्वारा निर्धारित की जाती है। यदि आपका मॉडल इन भौतिक सीमाओं से अधिक होता है, तो इनफरेंस विफल हो सकता है या महत्वपूर्ण रूप से खराब हो सकता है। होस्टेड API प्रदाता, जैसे कि बिना सेंसर मॉडल प्रदान करने वाले, आमतौर पर स्थिर कॉन्टेक्स्ट विंडो का विज्ञापन करते हैं—आधुनिक आर्किटेक्चर के लिए अक्सर 100,000 टोकन—जो आपको भविष्यवाणी योग्य सीमाओं के साथ पाइपलाइन डिज़ाइन करने की अनुमति देता है।

स्थानीय Ollama से होस्टेड API पर माइग्रेट करते समय, आपको इनपुट और आउटपुट टोकन के बीच विभाजन को ध्यान में रखना होगा। कुछ सेवाएँ एक अलग अधिकतम आउटपुट सीमा लगाती हैं, भले ही कुल कॉन्टेक्स्ट विंडो बड़ा हो। लंबे-प्रारूप जनरेशन कार्यों के लिए यह अंतर महत्वपूर्ण है। स्थानीय सेटअप आपको हार्डवेयर अपग्रेड करके बड़े कॉन्टेक्स्ट के साथ प्रयोग करने की अनुमति देते हैं, जबकि होस्टेड सेवाएँ बहु-भोक्ता प्रदर्शन बनाए रखने के लिए कठोर सीमाएं लागू करती हैं। रनटाइम के दौरान ट्रंक्शन त्रुटियों से बचने के लिए हमेशा अपने चुने हुए एंडपॉइंट की विशिष्ट इनपुट/आउटपुट स्प्लिट की जाँच करें।

टोकन गणना त्रुटियां

टोकनाइज़ेशन असंगतियाँ API त्रुटियों का एक सामान्य स्रोत हैं, विशेष रूप से स्थानीय Ollama इंस्टेंस और बाहरी होस्टेड सेवाओं के बीच स्विच करते समय। विभिन्न मॉडल अलग-अलग टोकनाइज़र का उपयोग करते हैं, जिसका अर्थ है कि एक ही टेक्स्ट अलग-अलग टोकन गण दे सकता है। स्थानीय Ollama वेपर अक्सर लोड किए गए विशिष्ट मॉडल फ़ाइल के आधार पर टोकन का अनुमान लगाते हैं, जबकि होस्टेड APIs सेवा मॉडल के टोकनाइज़र के अनुसार कठोरता से गिनते हैं। यदि आप बाहरी API अनुरोधों को प्रबंधित करने के लिए स्थानीय टोकन गण पर निर्भर करते हैं, तो यह अप्रत्याशित रेट लिमिट हिट या कॉन्टेक्स्ट ओवरफ्लो का कारण बन सकता है।

इन त्रुटियों को कम करने के लिए, अनुरोध भेजने से पहले अपने क्लाइंट कोड में एक मजबूत टोकन गणना तंत्र लागू करें। वर्ण-आधारित अनुमानों के बजाय अपने मॉडल से मेल खाने वाले आधिकारिक टोकनाइज़र लाइब्रेरी का उपयोग करें (उदाहरण के लिए, Llama 3 या Mistral टोकनाइज़र)। होस्टेड अनसेंसर्ड API का उपयोग करते समय, सत्यापित करें कि टोकनाइज़ेशन मॉडल की अपेक्षित फॉर्मेट से मेल खाता है। कुछ APIs टोकन गिनने के लिए एक समर्पित एंडपॉइंट प्रदान करते हैं, लेकिन क्लाइंट-साइड गणना पर निर्भर रहने से आपको 100,000-टोकन विंडो के भीतर रहने में मदद मिलती है।

स्ट्रीमिंग रिस्पॉन्स हैंडलिंग

स्ट्रीमिंग रिस्पॉन्स आपको मॉडल आउटपुट को रियल-टाइम में प्राप्त करने की अनुमति देते हैं, जो चैट इंटरफेस और लंबे-जनरेशन कार्यों के लिए उपयोगकर्ता अनुभव को बेहतर बनाते हैं। स्थानीय Ollama APIs और होस्टेड वैकल्पिक दोनों स्ट्रीमिंग के लिए Server-Sent Events (SSE) का समर्थन करते हैं। हालाँकि, स्ट्रीमिंग चंक की संरचना अलग-अलग हो सकती है। स्थानीय Ollama इंस्टेंस हर चंक में मेटाडेटा शामिल कर सकते हैं, जबकि होस्टेड APIs अक्सर उपयोग आँकड़ों या स्टॉप कारणों को अंतिम चंक में बांडल करते हैं।

स्ट्रीमिंग लागू करते समय, सुनिश्चित करें कि आपका क्लाइंट आंशिक JSON ऑब्जेक्ट्स को संभाल सके और उन्हें सही ढंग से पुनः संयोजित कर सके। होस्टेड बिना सेंसर APIs में, अंतिम चंक आमतौर पर पूर्ण रिस्पॉन्स ऑब्जेक्ट शामिल करता है, जिसमें टोकन उपयोग और फिनिश कारण शामिल हैं। यदि आप एक चैट एप्लिकेशन बना रहे हैं, तो स्ट्रीमिंग टोकन को बफर करें और UI को क्रमिक रूप से अपडेट करें। कनेक्शन ड्रॉप को हमेशा सहजता से हैंडल करें, क्योंकि नेटवर्क अस्थिरता स्थानीय हार्डवेयर विफलताओं की तुलना में स्ट्रीम्स को अलग तरह से बाधित कर सकता है। डेटा संरचना में स्थिरता सुनिश्चित करने के लिए अपने स्ट्रीमिंग पार्सर को स्थानीय और होस्टेड दोनों एंडपॉइंट के खिलाफ परीक्षण करें।

फ़ंक्शन कॉलिंग कॉन्फ़िगरेशन

फ़ंक्शन कॉलिंग मॉडल्स को संरचित डेटा आउटपुट करने की अनुमति देता है जिसे आपकी एप्लिकेशन प्रोग्रामेटिक रूप से निष्पादित कर सकती है। स्थानीय Ollama विशिष्ट मॉडल आर्किटेक्चर के माध्यम से टूल उपयोग का समर्थन करता है, लेकिन कार्यान्वयन विवरण मॉडल के ट्रेनिंग डेटा पर निर्भर करता है। होस्टेड APIs इसे OpenAI फ़ंक्शन कॉलिंग स्कीमा का पालन करके मानकीकृत करते हैं, जिससे आपको न्यूनतम कोड परिवर्तनों के साथ मौजूदा SDK का उपयोग करने की अनुमति मिलती है। यह डेटा एक्सट्रैक्शन, फॉम फिलिंग या बाहरी APIs ट्रिगर करने जैसे कार्यों के लिए विशेष रूप से उपयोगी है।

फ़ंक्शन कॉलिंग कॉन्फ़िगर करते समय, अपने टूल को अलग-अलग नामों, विवरणों और पैरामीटर स्कीमा के साथ स्पष्ट रूप से परिभाषित करें। स्थानीय और होस्टेड दोनों सेवाओं को इन स्कीमाओं के कठोर पालन की आवश्यकता होती है; अमान्य JSON आउटपुट पार्सिंग विफलता का कारण बनेगा। होस्टेड बिना सेंसर मॉडल अक्सर फ़ंक्शन कॉलिंग में उत्कृष्ट होते हैं क्योंकि वे जटिल या असामान्य टूल परिभाषाओं को अस्वीकार करने की कम संभावना रखते हैं। किनारे के मामलों के साथ अपने टूल का अच्छी तरह से परीक्षण करें, जैसे कि गायब पैरामीटर या अप्रत्याशित डेटा प्रकार, यह सुनिश्चित करने के लिए कि मॉडल उन्हें सहजता से संभालता है। याद रखें कि फ़ंक्शन कॉलिंग टोकन खपत करता है, इसलिए रेट लिमिट के भीतर रहने के लिए अपने उपयोग की निगरानी करें।

JSON मोड सत्यापन

JSON मोड मॉडल को कठोरता से मान्य JSON आउटपुट करने पर मजबूर करता है, जो प्रोग्रामेटिक खपाने के लिए आवश्यक है। स्थानीय Ollama इंस्टेंस format पैरामीटर के माध्यम से इसका समर्थन करते हैं, लेकिन कठोरता मॉडल के अनुसार भिन्न होती है। होस्टेड APIs अक्सर कठोर JSON मोड लागू करते हैं, किसी भी आउटपुट को अस्वीकार करके जो निर्दिष्ट स्कीमा से मेल नहीं खाता है। इससे आपकी एप्लिकेशन कोड में पोस्ट-प्रोसेसिंग और त्रुटि हैंडलिंग की आवश्यकता कम हो जाती है।

JSON मोड का प्रभावी ढंग से उपयोग करने के लिए, अपने अनुरोध में एक स्पष्ट स्कीमा प्रदान करें। आवश्यक फ़ील्ड, डेटा प्रकार और बाधाओं को परिभाषित करें। यदि मॉडल अमान्य JSON आउटपुट करता है, तो API आमतौर पर एक त्रुटि लौटाता है, जिससे आपको समायोजित प्रॉम्प्ट के साथ पुनः प्रयास करने की अनुमति मिलती है। होस्टेड बिना सेंसर APIs में, JSON मोड विश्वसनीय होता है क्योंकि मॉडल्स सटीकता के लिए ट्यून्ड होते हैं। इसे अपने एप्लिकेशन लॉजिक में पास करने से पहले हमेशा एक JSON पार्सर का उपयोग करके आउटपुट की सत्यापन करें। यह खराब फॉर्मेट स्ट्रिंग्स या गायब ब्रैकेट्स के कारण रनटाइम त्रुटियों को रोकता है।

रेट लिमिटिंग (300 RPM)

रेट लिमिट API इंफ्रास्ट्रक्चर को ओवरलो से बचाते हैं और उचित उपयोग सुनिश्चित करते हैं। स्थानीय Ollama इंस्टेंस में कोई जन्मजात रेट लिमिट नहीं होती है, यह केवल आपके हार्डवेयर द्वारा सीमित होता है। होस्टेड सेवाएं, हालांकि, कड़े लिमिट लागू करती हैं, जैसे कि प्रति API कुंजी प्रति मिनट 300 अनुरोध। यह लिमिट सफल और विफल दोनों अनुरोधों पर लागू होता है, इसलिए अक्षमतायुक्त कोड आपकी क्वाटा जल्दी खत्म कर सकता है।

रेट लिमिट त्रुटियों को सहजता से हैंडल करने के लिए अपने क्लाइंट कोड में एक्सपोनेंशियल बैकऑफ लागू करें। उन्हें हिट होने से पहले सीमाओं का अनुमान लगाने के लिए अपने उपयोग मेट्रिक्स की निगरानी करें। कुछ होस्टेड APIs समानांतर अनुरोध सीमाएं भी लागू करते हैं, जैसे कि प्रति कुंजी 8 समानांतर अनुरोध। इसका अर्थ है कि आप त्रुटियों को ट्रिगर किए बिना API को समानांतर अनुरोधों से फ्लड नहीं कर सकते। उच्च-थ्रूपुट एप्लिकेशन्स के लिए, लोड को वितरित करने के लिए कई API कुंजियों का उपयोग करने पर विचार करें। विशिष्ट रेट लिमिट विवरण के लिए हमेशा API दस्तावेज़ीकरण की जाँच करें, क्योंकि वे प्रदाता और योजना के अनुसार भिन्न होते हैं।

भुगतान और क्रेडिट समस्याएँ

होस्टेड APIs आमतौर पर एक प्रीपेड क्रेडिट मॉडल पर काम करते हैं, जहाँ आप वास्तविक टोकन उपयोग के लिए भुगतान करते हैं। लागत इनपुट और आउटपुट टोकन के आधार पर गणना की जाती है, प्रत्येक के लिए अलग-अलग दरें होती हैं। उदाहरण के लिए, इनपुट टोकन का खर्च प्रति मिलियन $0.15 हो सकता है, जबकि आउटपुट टोकन का खर्च प्रति मिलियन $0.50 हो सकता है। त्रुटियाँ और अस्वीकरण अक्सर मुफ़्त होते हैं, जिससे बर्बादी कम होती है। क्रेडिट आमतौर पर समाप्त नहीं होता, जिससे आप आवश्यकतानुसार टॉप-अप कर सकते हैं।

भुगतान विधियाँ भिन्न होती हैं, कई सेवाएँ गोपनीयता और गति के लिए क्रिप्टो को प्राथमिकता देती हैं। न्यूनतम टॉप-अप राशि, जैसे $20, और बड़े जमा के लिए बोनस संरचनाएँ आम हैं। यदि आपको बिलिंग समस्याएँ, जैसे डबल चार्ज, आती हैं, तो समाधान के लिए सहायता से संपर्क करें। सब्सक्रिप्शन मॉडल के विपरीत, प्रीपेड क्रेडिट आपको खर्च पर पूर्ण नियंत्रण देता है। अप्रत्याशित लागत से बचने के लिए हमेशा अपने उपयोग डैशबोर्ड की निगरानी करें। एकीकरण का परीक्षण करने वाले डेवलपर्स के लिए, कई प्रदाता एक छोटा मुफ़्त ट्रायल क्रेडिट प्रदान करते हैं, जिससे आपको तुरंत भुगतान किए बिना अपनी सेटअप की जाँच करने की अनुमति मिलती है।

सामग्री अस्वीकृति तर्क

सामग्री अस्वीकृति निर्धारित करती है कि एक LLM विशिष्ट विषयों, जैसे वयस्क सामग्री या विवादास्पद राजनीतिक विचारों को तब ब्लॉक करता है जब। स्थानीय Ollama मॉडल बेस मॉडल और फाइन-ट्यूनिंग के आधार पर अपनी अस्वीकृति व्यवहार में व्यापक रूप से भिन्न होते हैं। होस्टेड बिना सेंसर API को कानूनी वयस्क सामग्री, सुरक्षा अनुसंधान और विवादास्पद विषयों के लिए अस्वीकृतियों को न्यूनतम करने के लिए डिज़ाइन किया गया है। यह उन अनुप्रयोगों के लिए आदर्श है जहाँ ब्रांड सुरक्षा की तुलना में रचनात्मक स्वतंत्रता को प्राथमिकता दी जाती है।

हालाँकि, बिना सेंसर का अर्थ अनलिमिटेड नहीं है। अधिकांश होस्टेड API अभी भी कठोर सीमाएँ लागू करते हैं, जैसे कि नाबालिगों से संबंधित यौन सामग्री को ब्लॉक करना। अस्वीकृतियों को आमतौर पर API प्रतिक्रिया में एक विशिष्ट finish reason द्वारा संकेत दिया जाता है। इंटीग्रेट करते समय, इन्हें लॉग करके और यदि आवश्यक हो तो अपने एप्लिकेशन लॉजिक को समायोजित करके संयम से हैंडल करें। उदाहरण के लिए, यदि कोई उपयोगकर्ता किसी ऐसे प्रकार की सामग्री का अनुरोध करता है जो ब्लॉक है, तो उन्हें स्पष्ट रूप से सूचित करें बिना उपयोगकर्ता अनुभव को बिगाड़े। इन सीमाओं को समझने से आपको अधिक मजबूत एप्लिकेशन डिज़ाइन करने में मदद मिलती है।

प्रश्न और उत्तर

क्या Ollama API, OpenAI API के समान है?

नहीं, लेकिन यह कम्पैटिबल है। Ollama API, OpenAI की तरह ही संरचना का पालन करता है, जैसे /v1/chat/completions जैसे एंडपॉइंट का उपयोग करके। हालाँकि, लोकल Ollama इंस्टेंस स्ट्रीमिंग और टोकनाइजेशन के लिए अलग डिफ़ॉल्ट व्यवहार रख सकते हैं। होस्टेड APIs आमतौर पर आसान माइग्रेशन के लिए OpenAI के सटीक स्कीमा की नकल करते हैं।

क्या मैं फ़ंक्शन कॉलिंग के लिए Ollama का उपयोग कर सकता हूँ?

हाँ, लेकिन यह मॉडल पर निर्भर करता है। सभी लोकल Ollama मॉडल फ़ंक्शन कॉलिंग का समर्थन नहीं करते हैं। होस्टेड बिना सेंसर APIs आमतौर पर मानक OpenAI-शैली फ़ंक्शन कॉलिंग का समर्थन करते हैं, जिससे मौजूदा टूल्स के साथ एकीकरण आसान हो जाता है।

मैं टोकन गिनती त्रुटियों को कैसे संभालूँ?

अनुरोध भेजने से पहले अपने मॉडल के लिए ऑफ़िशियल टोकनाइज़र का उपयोग करके टोकन की सटीक गणना करें। कैरेक्टर काउंट या लोकल अनुमानों पर निर्भर रहने से कॉन्टेक्स्ट ओवरफ़्लो हो सकता है। त्रुटियों से बचने के लिए API की लिमिट के मुकाबले टोकन काउंट की पुष्टि करें।

यदि मैं रेट लिमिट से अधिक हो जाता हूँ तो क्या होता है?

API 429 Too Many Requests त्रुटि लौटाएगा। अपने क्लाइंट कोड में एक्सपोनेंशियल बैकऑफ़ लागू करें ताकि देरी के बाद रीट्राई किया जा सके। यदि आपको उच्च थ्रूपुट की आवश्यकता है, तो लोड वितरित करने के लिए कई API कुंजियों का उपयोग करने पर विचार करें।