hi ▾
कुंजी बनाएं

क्विकस्टार्ट: ड्रॉप-इन OpenAI संगत API

ड्रॉप-इन OpenAI कम्पैटिबिलिटी का मतलब है कि आप केवल एक बेस यूआरएल और एक कुंजी बदलते हैं, फिर आपका मौजूदा कोड हमारे अनसेंसर्ड मॉडल के खिलाफ बिना लॉजिक रीराइट किए चलता है। यह क्विकस्टार्ट आपको मिनटों में शून्य से स्ट्रीमिंग रिस्पॉन्स तक ले जाता है।

बेस_url सेट करें और API की डालें

पहला कदम अपने SDK को हमारे एंडपॉइंट की ओर इशारा करना है। उपयोग करें https://api.whatisopenrouterai.com/v1 अपने बेस URL के रूप में और डैशबोर्ड से अपनी कुंजी को पेस्ट करें। यह एकमात्र परिवर्तन सभी कॉल को हमारे अनसेंसर्ड लार्ज लैंग्वेज मॉडल पर रीडायरेक्ट करता है जबकि आपके मानक OpenAI-संगत हेडरों को nguyên intact रखता है।

  • Google या ईमेल के माध्यम से एक कुंजी जनरेट करें।
  • इसे अपने एनवायरनमेंट वेरिएबल्स में स्टोर करें।
  • सुनिश्चित करें कि कुकी एक सरल अनुरोध के साथ काम करती है।
curl https://api.whatisopenrouterai.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Set variable x to five"}]
  }'

रिक्वेस्ट भेजें /v1/chat/completions पर

हमारा API मानक चैट पूरक (chat completions) स्वीकार करता है जिसमें टेक्स्ट इनपुट होता है और टेक्स्ट आउटपुट लौटाता है। आप POST अनुरोध भेजते हैं /v1/chat/completions एंडपॉइंट अपने मॉडल आईडी और मैसेज हिस्ट्री के साथ। मॉडल आईडी बस uncensored, जो मॉडल को बिना अस्वीकृति के कानूनी वयस्क सामग्री के लिए जवाब देने के लिए ट्यून्ड करता है।

from openai import OpenAI

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

SSE के साथ टोकन स्ट्रीम करें

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

import OpenAI from "openai";

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

response_format के साथ json_object फ़ोर्स करें

का उपयोग करें response_format पैरामीटर सेट है {"type": "json_object"} कठोर JSON आउटपुट लागू करने के लिए। यह सुनिश्चित करता है कि आपके एप्लिकेशन के लिए पूर्वानुमेय पार्सिंग हो, बिना मॉडल पर भरोसा किए कि हर बार सही संरचना का अनुमान लगाए।

टूल्स और tool_choice का उपयोग करें

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

उपलब्ध मॉडल की जांच करें

क्वेरी GET /v1/models उपलब्ध एकमात्र अनसेंसर्ड मॉडल देखने के लिए। यह एंडपॉइंट मॉडल आईडी और विवरण लौटाता है, पुष्टि करता है कि हमारी सेवा सक्रिय है और अनुरोध प्राप्त करने के लिए तैयार है। हम multiple मॉडल विकल्प नहीं प्रदान करते हैं, इंटीग्रेशन को सरल और केंद्रित रखते हुए।

स्ट्रीमिंग

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)

अक्सर पूछे जाने वाले प्रश्न

ओपन रूटर AI क्या है

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

मैं रेट लिमिट्स और त्रुटियों को कैसे हैंडल करूं?

अमान्य कुंजी के लिए आपको 401 त्रुटि, क्रेडिट न होने पर 402 और रेट लिमिट के लिए 429 मिलती है। हमारा लिमिट प्रति कुंजी मिनट में 300 अनुरोध है। त्रुटियां और रिफ्यूजल आपके प्रीपेड टोकन खर्च नहीं करते।

कॉन्टेक्स्ट विंडो का आकार क्या है?

प्रॉम्प्ट और कंप्लीशन दोनों के लिए कंटेक्स्ट विंडो 100,000 टोकन है। प्रति अनुरोध अधिकतम आउटपुट 16,000 टोकन है, या 2,048 यदि आप max_tokens निर्दिष्ट नहीं करते हैं। इससे बिना तुरंत ट्रंकेट किए महत्वपूर्ण वार्तालाप संभव होते हैं।