hi ▾

क्विकस्टार्ट: apertus ai चैट इंटीग्रेट करें

एकल बेस यूआरएल और एक API कुंजी के साथ अनसेंसर्ड मॉडल को इंटीग्रेट करें। किसी भी OpenAI-कम्पैटिबल SDK में ड्रॉप करें और तुरंत टेक्स्ट जनरेट करना शुरू करें।

आवश्यकताएँ और सेटअप

खाता बनाकर और अपनी API कुंजी प्राप्त करके शुरू करें। कुंजी जनरेशन पेज पर Google या एक ईमेल पासवर्ड का उपयोग करके साइन अप करें। सिस्टम तुरंत आपकी कुंजी प्रदर्शित करता है, इसलिए आप इसे बिना किसी देरी के कॉपी कर सकते हैं। रजिस्ट्रेशन के लिए फ़ोन नंबर की आवश्यकता नहीं है। आपको $0.50 का ट्रायल क्रेडिट मिलता है जो सात दिनों के लिए मान्य है, इसलिए आप बिना फंड जोड़े कनेक्टिविटी का परीक्षण कर सकते हैं।

अपने पर्यावरण चर या SDK क्लाइंट को सही बेस URL की ओर इशारा करने के लिए कॉन्फ़िगर करें। यह URL मानक OpenAI लाइब्रेरी के साथ काम करता है। केवल बेस URL और अपनी कुंजी बदलें। मॉडल ID "uncensored" है। यह एकल एंडपॉइंट सभी टेक्स्ट पूर्णताओं को संभालता है। आपको रूटिंग प्रबंधित करने या अलग-अलग मॉडल चुनने की आवश्यकता नहीं है।

सुनिश्चित करें कि आपका क्लाइंट लाइब्रेरी OpenAI चैट कंप्लीशंस प्रोटोकॉल को समर्थन करती है। अधिकांश आधुनिक SDK आउट ऑफ द बॉक्स काम करते हैं। पुष्टि करें कि आपका नेटवर्क आउटबाउंड HTTPS रिक्वेस्ट की अनुमति देता है। सेवा मानक JSON पेलोड स्वीकार करती है। ऑथेंटिकेशन के अलावा कोई विशेष हेडर्स की आवश्यकता नहीं है।

API कुंजियों के साथ प्रमाणीकरण

हर अनुरोध के लिए Authorization हेडर में अपना API कुंजी पास करें। Bearer स्कीम का उपयोग करें और उसके बाद अपनी कुंजी स्ट्रिंग। सेवा कुंजी की जांच आपके खाते के खिलाफ करती है। अमान्य कुंजियां 401 Unauthorized त्रुटि लौटाती हैं। समाप्त या अपर्याप्त फंड 402 Payment Required प्रतिक्रिया ट्रिगर करते हैं। यदि अनुरोध विफल होते हैं तो डैशबोर्ड में अपना बैलेंस जांचें।

अपनी कुंजी सुरक्षित रखें। प्रत्येक खाते में एक सक्रिय कुंजी होती है। एक नई कुंजी जनरेट करने से पिछली कुंजी अमान्य हो जाती है। अपनी कुंजी को सार्वजनिक रिपॉजिटरीज में साझा न करें। API कुंजी आपके उपयोग के लिए एकमात्र पहचानकर्ता है। दर सीमाएं प्रति खाते के बजाय प्रति कुंजी लागू होती हैं।

curl https://api.apertusaichat.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Set role to assistant"}]
  }'

प्रमाणीकरण स्टेटलेस है। सर्वर प्रत्येक कॉल पर टोकन की जाँच करता है। यदि आप अपनी कुंजी बदलते हैं, तो सभी चल रहे क्लाइंट्स को तुरंत अपडेट करें। हेडर न मिलने पर तुरंत अस्वीकृति होती है। त्रुटि संदेश प्रमाणीकरण विफलता को स्पष्ट रूप से दर्शाता है।

अपना पहला रिक्वेस्ट भेजना

चैट कंप्लीशन्स एंडपॉइंट पर एक POST रिक्वेस्ट भेजें। मॉडल आईडी "uncensored" और अपनी मेसेज हिस्ट्री शामिल करें। एपीआई एक टेक्स्ट रिस्पॉन्स लौटाता है। आप आउटपुट को स्ट्रीम कर सकते हैं या फुल कंप्लीशन के लिए इंतजार कर सकते हैं। प्रत्येक रिक्वेस्ट इनपुट और आउटपुट टोकन्स का उपभोग करता है। एरर्स क्रेडिट चार्ज नहीं करते हैं। रिफ्यूज़ल फ्री हैं।

from openai import OpenAI

client = OpenAI(base_url="https://api.apertusaichat.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)

प्रतिक्रिया में उपयोग सांख्यिकी शामिल है। अपने पूर्वभुगतान वाले क्रेडिट का प्रबंधन करने के लिए टोकन खपत को ट्रैक करें। मॉडल कानूनी वयस्क उपयोग के लिए सामग्री अस्वीकृति के बिना उत्तर देता है। आप व्यवहार को परिभाषित करने के लिए सिस्टम प्रॉम्प्ट भेज सकते हैं। उपयोगकर्ता संदेश बातचीत को चलाते हैं। संदर्भ विंडो कुल 100,000 टोकनों का समर्थन करती है।

कनेक्टिविटी और प्रतिक्रिया गुणवत्ता की पुष्टि करने के लिए एक सरल दो-संदेश आदान-प्रदान के साथ शुरू करें। रचनात्मक या सटीक आउटपुट के लिए तापमान और top_p को समायोजित करें। API मानक पैरामीटरों का समर्थन करता है। स्टॉप सीक्वेंस अपेक्षित के रूप में काम करते हैं। सीड मान प्रतिलिपि प्रस्तुत करने योग्य परिणाम सुनिश्चित करते हैं।

SSE के माध्यम से स्ट्रीमिंग रिस्पॉन्सेस

स्ट्रीम-पैरामीटर को true सेट करके स्ट्रीमिंग सक्षम करें। API एकल JSON ऑब्जेक्ट के बजाय सर्वर-सेंट इवेंट्स (SSE) लौटाती है। प्रत्येक चंक में जनरेटेड पाठ का एक हिस्सा होता है। स्ट्रीम समाप्त होने तक चंक पढ़ें। अंतिम चंक में कुल टोकन उपयोग शामिल होता है।

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)

स्ट्रीमिंग उपयोगकर्ताओं को रियल-टाइम में टेक्स्ट दिखाई देता है। यह चैट इंटरफेस के लिए आदर्श है। आंशिक टोकन को सावधानी से संभालें। पूर्ण प्रतिक्रिया बनाने के लिए खंडों को संयोजित करें। जनरेशन समाप्त होने पर सर्वर कनेक्शन बंद कर देता है।

स्ट्रीम त्रुटियों की निगरानी करें। नेटवर्क विच्छेद स्ट्रीम को रोक सकते हैं। यदि आवश्यक हो तो पुनः कनेक्शन तर्क लागू करें। API इतिहास को पुनः भेजता नहीं है। यदि स्ट्रीम विफल हो जाती है तो एक नया अनुरोध शुरू करें। अंतिम चंक में टोकन गणना पूरी जनरेशन को दर्शाती है।

पैरामीटर और मोड हैंडल करना

जनरेशन को नियंत्रित करने के लिए मानक पैरामीटर का उपयोग करें। यादृच्छिकता के लिए तापमान सेट करें। न्यूक्लियस सैंपलिंग के लिए top_p समायोजित करें। जनरेशन को जल्दी रोकने के लिए स्टॉप सीक्वेंस परिभाषित करें। निर्धारक आउटपुट के लिए एक बीज पास करें। response_format को json_object पर सेट करके JSON मोड सक्षम करें। मॉडल अनुरोध करने पर मान्य JSON लौटाता है।

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

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.apertusaichat.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);

अधिकतम टोकन एकल प्रतिक्रिया की लंबाई को सीमित करते हैं। डिफ़ॉल्ट 2,048 टोकन है। यदि आवश्यक हो तो उच्च मान सेट करें। प्रति अनुरोध कठोर सीमा 16,000 टोकन है। कॉन्टेक्स्ट विंडो 100,000 टोकन है। अपनी इतिहास लंबाई का उसी अनुसार योजना बनाएं। फ्रीक्वेंसी और प्रेजेंस पेनल्टी दोहराव कम करने में मदद करती हैं।

सीमाओं और त्रुटियों को समझें

दर सीमाएं सेवा स्थिरता की रक्षा करती हैं। आप 300 अनुरोध प्रति मिनट भेज सकते हैं। संवहन प्रति कुंजी आठ एक साथ अनुरोधों तक सीमित है। अनुरोध बॉडी 8 MB से अधिक नहीं होनी चाहिए। सीमाओं को पार करने पर 429 Too Many Errors लौटाया जाता है। पुनः प्रयास करने से पहले प्रतीक्षा करें।

डायग्नोस्टिक्स के लिए त्रुटि कोड की जाँच करें। 401 का अर्थ है अमान्य या अनुपस्थित कुंजी। 402 का संकेत है कि प्रीपेड क्रेडिट अपर्याप्त है। सेवा जारी रखने के लिए क्रिप्टो के माध्यम से टॉप-अप करें। 429 दर सीमा निर्धारण (rate limiting) का संकेत देता है। 400 का अर्थ है खराब अनुरोध संरचना। विवरण के लिए त्रुटि संदेश की समीक्षा करें।

संदर्भ विंडो प्रबंधन महत्वपूर्ण है। प्रॉम्प्ट और पूर्णता टोकन जोड़ें। 100,000 टोकन से काफी नीचे रहें। यदि आवश्यक हो तो पुराने संदेश ट्रंक करें। API स्वचालित रूप से ट्रंक नहीं करता है। आप इतिहास की लंबाई नियंत्रित करते हैं। कुशल संदर्भ उपयोग लागत कम करता है।

सामान्य प्रश्न

समानांतर चैट API प्रतिक्रियाओं में गायब उद्धरणों को डीबग कैसे करें?

अनकैप्ड मॉडल में मूल रूप से उद्धरण प्रदान नहीं किए जाते हैं। यह प्रशिक्षण डेटा के आधार पर टेक्स्ट उत्पन्न करता है। यदि आपको उद्धरण चाहिए, तो आपको स्वयं एक रिट्रीवल-एम्बेडेड जनरेशन (RAG) सिस्टम लागू करना होगा। प्रासंगिक दस्तावेजों को कॉन्टेक्स्ट विंडो में पास करें और मॉडल को उन्हें संदर्भित करने का निर्देश दें।

क्या मैं TypingMind के साथ इस API का उपयोग कर सकता हूँ?

हाँ, API OpenAI-संगत है। API प्रकार को OpenAI चैट कंप्लीशन्स पर सेट करें। बेस यूआरएल HTTPS://api.apertusaichat.com/v1 का उपयोग करें। प्रमाणीकरण फ़ील्ड में अपनी API कुंजी दर्ज करें। मॉडल "uncensored" चुनें। यह कॉन्फ़िगरेशन अधिकांश OpenAI-संगत क्लाइंट्स के साथ काम करता है।

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

API यदि कुल टोकन संदर्भ विंडो से अधिक हो जाएं तो 400 बैड रिक्वेस्ट त्रुटि लौटाती है। प्रॉम्प्ट प्लस कंप्लीशन के लिए सीमा 100,000 टोकन है। आपको संदेश इतिहास या टोकन गिनती को कम करना होगा। त्रुटियां और अस्वीकृतियां टोकन नहीं खाती हैं। उपभोग को ट्रैक करने के लिए प्रतिक्रिया में उपयोग फ़ील्ड की जांच करें।

अभी अपनी API कुंजी प्राप्त करें

रजिस्टर करें, टोकन कॉपी करें, अपना बेस URL अपडेट करें। सेटअप पूर्ण हो गया है।