SDK संगतता और बेस URL सेटअप
अपने मौजूदा क्लाइंट कोड को कनेक्ट करें उसे हमारे समर्पित एंडपॉइंट पर पॉइंट करके। यह openai compatible API कोड बदलाव के बिना मानक हेडर्स और SDK कॉन्फ़िगरेशन स्वीकार करता है। आपको केवल बेस URL अपडेट करने और डैशबोर्ड से अपना API की प्रदान करने की आवश्यकता है।
https://api.openrouterratelimits.com/v1 सभी अनुरोधों के लिए एकमात्र एंट्री पॉइंट है। प्रमाणीकरण (Authentication) अधिकांश आधुनिक LLM लाइब्रेरीज़ में पाए जाने वाले मानक Bearer टोकन स्कीम का उपयोग करता है। अपना कुंजी (key) इसमें पास करें। Authorization हेडर अपनी पहचान की पुष्टि करने के लिए। यह सेटअप किसी भी क्लाइंट के साथ काम करता है जो OpenAI-शैली की इंटरफेस की उम्मीद करता है, जिससे टीमों के लिए वेंडर लॉक-इन से थक जाने पर माइग्रेशन तुरंत हो जाता है।
- बेस यूआरएल:
https://api.openrouterratelimits.com/v1 - Auth हेडर:
Authorization: Bearer YOUR_API_KEY - मॉडल ID:
uncensored
SSE के साथ स्ट्रीमिंग प्रतिक्रियाएं
सेटिंग करके स्ट्रीमिंग सक्षम करें stream: true अपने अनुरोध पेलोड में। API रियल-टाइम टोकन डिलीवरी के लिए सर्वर-संदेशित इवेंट्स (SSE) लौटाता है। प्रत्येक चंक जनरेटेड टेक्स्ट रखता है जब तक कि अंतिम चंक में उपयोग आंकड़े शामिल न हों। यह दृष्टिकोण लंबे संदर्भ विंडो के लिए भी आपके UI को प्रतिक्रियाशील रखता है।
स्ट्रीमिंग चैट इंटरफेस या रोलप्ले परिदृश्यों के लिए आदर्श है जहां लेटेंसी मायने रखती है। आपको टेक्स्ट रेंडर करने के लिए पूरे कंप्लीशन का इंतजार करने की आवश्यकता नहीं है। अंतिम चंक में सटीक बिलिंग के लिए टोकन गणनाएं हमेशा शामिल होती हैं। स्ट्रीमिंग के दौरान त्रुटियों के बावजूद तुरंत हैंडलिंग के लिए उचित HTTP स्टेटस कोड लौटाए जाते हैं।
फंक्शन कॉलिंग और JSON मोड
विश्वसनीय डेटा एक्सट्रैक्शन या टूल एकीकरण के लिए संरचित आउटपुट का उपयोग करें। सक्षम करें response_format के साथ {"type": "json_object"} JSON अनुपालन को बल देने के लिए। यह मोड अतिरिक्त क्लीनप लॉजिक के बिना जटिल नेस्टेड संरचनाओं को पार्स करने के लिए आवश्यक है। फंक्शन कॉलिंग गतिशील एजेंट वर्कफ्लो के लिए मानक टेक्स्ट जनरेशन के साथ काम करती है।
अपने टूल्स को tools एरे और निर्दिष्ट tool_choice कठोर प्रवर्तन के लिए। मॉडल मानक OpenAI प्रारूप में फ़ंक्शन कॉल लौटाता है। यह सुविधा एक ही टर्न में एकल और बहु-टूल कॉल दोनों का समर्थन करती है। बाहरी API या डेटाबेस के साथ विश्वसनीय रूप से इंटरैक्ट करने वाले एजेंट्स बनाने के लिए इसका उपयोग करें।
टोकन और पैरामीटर का प्रबंधन
मानक पैरामीटर जैसे तापमान और top_p का उपयोग करके जनरेशन व्यवहार को नियंत्रित करें। temperature, top_p, और stop. कॉन्टेक्स्ट विंडो प्रॉम्प्ट और कंप्लीशन के लिए 100,000 टोकन तक का समर्थन करता है। यह एकल अनुरोध में विस्तृत ऐतिहासिक संदर्भ या बड़े दस्तावेज प्रोसेसिंग की अनुमति देता है।
सेट करें max_tokens आउटपुट लंबाई को सीमित करने के लिए, यदि निर्दिष्ट नहीं किया जाए तो डिफ़ॉल्ट 2,048 है। मॉडल हैंडल करता है presence_penalty और frequency_penalty शैली नियंत्रण के लिए। टोकन उपयोग वास्तविक इनपुट और आउटपुट गणना के आधार पर चार्ज किया जाता है। त्रुटियां टोकन खर्च नहीं करतीं, जिससे विफल अनुरोधों के लिए निष्पक्ष बिलिंग सुनिश्चित होती है।
प्रति कुंजी दर सीमाओं को समझना
प्रत्येक API कुंजी प्रति मिनट 300 अनुरोधों का समर्थन करती है, जिसकी सहयोग्यता सीमा 8 एक साथ अनुरोध है। यह सीमा प्रति कुंजी लागू होती है, इसलिए कई कुंजियां बनाने से आपकी थ्रूपुट रैखिक रूप से बढ़ जाती है। अधिकतम अनुरोध बॉडी का आकार 8 MB है, जो अधिकांश उपयोग मामलों के लिए संदर्भ विंडो के भीतर फिट बैठता है।
रेट लिमिट्स स्लाइडिंग विंडो के आधार पर लगातार रीसेट होते हैं। यदि आप सीमा को पार करते हैं, तो API एक 429 त्रुटि लौटाता है। प्राथमिकता एक्सेस बनाए रखने के लिए अपनी प्रीपेड क्रेडिट अपग्रेड करें। शेयर्ड टियर्स के विपरीत, हमारे डेडिकेटेड सर्वर पड़ोसी शोर से प्रभावित नहीं होते हैं। स्थिर प्रदर्शन के लिए इन सीमाओं के भीतर रहने के लिए अपने उपयोग डैशबोर्ड की निगरानी करें।
सामान्य त्रुटियों का निवारण
HTTP स्टेटस कोड और रिस्पॉन्स बॉडी की जांच करके त्रुटियों को हैंडल करें। 401 त्रुटि एक अमान्य या अनुपस्थित API कुंजी को संकेत देती है। यदि प्रमाणीकरण विफल हो जाए तो डैशबोर्ड से अपनी कुंजी पुनः जनरेट करें। 402 त्रुटि का अर्थ है कि आपका प्रीपेड क्रेडिट समाप्त हो गया है; सेवा जारी रखने के लिए क्रिप्टो के माध्यम से टॉप अप करें।
429 त्रुटि संकेत देती है कि आपने रेट लिमिट को पार कर लिया है। अपनी अनुरोध आवृत्ति को कम करें या कार्यभार को कई कुंजियों में बांटें। API इन त्रुटियों के लिए टोकन चार्ज नहीं करता है, इसलिए आप पुनः प्रयासों के लिए क्रेडिट नहीं खोते। सुनिश्चित करें कि आपकी क्लाइंट लाइब्रेरी मजबूती के लिए एक्सपोनेंशियल बैकऑफ के साथ पुनः प्रयासों को संभालती है।
cURL
curl https://api.openrouterratelimits.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Process one million logs"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterratelimits.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterratelimits.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);स्ट्रीमिंग
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)