बेस URL और प्रमाणीकरण
हमारे से कनेक्ट करें openai compatible API अपने क्लाइंट कॉन्फ़िगरेशन को अपडेट करके https://api.openaicompatibleapiendpoints.com/v1. आपको मान्य API कुंजी की आवश्यकता भेजी Authorization हेडर को Bearer टोकन के रूप में सेट करें। यह सेटअप आधिकारिक OpenAI SDKs और किसी भी संगत क्लाइंट लाइब्रेरी के साथ काम करता है। जटिल गेटवे कॉन्फ़िगरेशन की आवश्यकता नहीं होती है।
curl https://api.openaicompatibleapiendpoints.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return 500 status code"}]
}'हर अनुरोध में आपकी अद्वितीय कुंजी शामिल होनी चाहिए। यदि कुंजी गायब है या अमान्य है, तो सर्वर तुरंत 401 त्रुटि लौटाता है। यह सुनिश्चित करता है कि आपके कॉल रूटिंग विलंबता के बिना सही अनसेंसर्ड LLM तक पहुंचते हैं।
चैट कंप्लीशंस एंडपॉइंट
को संदेश भेजें POST /v1/chat/completions अनसेंसर्ड मॉडल से टेक्स्ट प्रतिक्रियाएँ प्राप्त करने के लिए एंडपॉइंट। uncensored मॉडल। यह एंडपॉइंट मानक संवादात्मक बारी-बारी को संभालता है और 100,000 टोकन की संदर्भ विंडो का समर्थन करता है। आप प्रति अनुरोध 16,000 टोकन का अधिकतम आउटपुट सेट कर सकते हैं। मॉडल कानूनी वयस्तु विषयों के लिए सामग्री अस्वीकृतियों के बिना जवाब देता है।
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapiendpoints.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)स्टैंडर्ड messages एरे प्रारूप। एपीआई उन अतिरिक्त फ़ील्ड्स को नज़रअंदाज़ करता है जिन्हें यह पहचान नहीं पाता है, जिससे माइग्रेशन आसान हो जाता है। आप केवल उन टोकन के लिए भुगतान करते हैं जो मॉडल द्वारा वास्तव में उपभोग किए गए हैं।
स्ट्रीमिंग रिस्पॉन्सेस
रियल-टाइम टोकन डिलीवरी को सक्षम करने के लिए सेटिंग करें stream: true आपके अनुरोध में। सर्वर प्रतिक्रिया पूर्ण होने तक Server-Sent Events (SSE) की एक श्रृंखला भेजता है। टोकन उपयोग सांख्यिकी स्ट्रीम के अंतिम chunk में दिखाई देती है। यह लंबे उत्तरों की प्रतीक्षा कर रहे उपयोगकर्ताओं के लिए अनुभवजन्य विलंबता को कम करती है।
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)क्लाइंट साइड पर आने वाले टोकन को बफर करें ताकि पूरा टेक्स्ट पुनर्निर्मित किया जा सके। स्ट्रीमिंग के दौरान त्रुटियां दुर्लभ हैं, लेकिन अंतिम इवेंट में एरर कोड जांचकर उन्हें हैंडल किया जाना चाहिए। स्ट्रीम स्वचालित रूप से तब रुक जाती है जब कॉन्टेक्स्ट लिमिट या मैक्स टोकन तक पहुंच जाता है।
JSON मोड और टूल्स
सेट करके संरचित आउटपुट फ़ोर्स करें response_format को {"type": "json_object"}. यह सुनिश्चित करता है कि मॉडल मार्कडाउन टेक्स्ट के बजाय मान्य JSON लौटाए। आप tools फ़ंक्शन कॉलिंग के लिए पैरामीटर। API समर्थित है tool_choice निर्भरता के लिए कि मॉडल किन फंक्शनों को कॉल करता है।
उपयोग करें temperature और top_p यादृच्छिकता को समायोजित करें। सेट करें seed डिबगिंग के दौरान पुनरुत्पादनीय परिणामों के लिए। ये पैरामीटर मानक OpenAI-कम्पैटिबल इंटीग्रेशन में अपेक्षित के रूप में काम करते हैं।
त्रुटि हैंडलिंग और सीमाएँ
क्लाइंट-साइड विफलताओं को सहजता से प्रबंधित करने के लिए मानक HTTP त्रुटियों को हैंडल करें। 401 स्टेटस का अर्थ है कि आपकी API कुंजी अमान्य है। 402 स्टेटस संकेत देता है कि आपकी प्रीपेड क्रेडिट समाप्त हो गई है। 429 त्रुटि संकेत देती है कि आपने प्रति मिनट 300 अनुरोधों की सीमा को पार कर दिया है।
प्रत्येक कुंजी आठ समवर्ती अनुरोधों की अनुमति देती है। अनुरोध बॉसी 8 MB तक सीमित है। उपयोग किए गए क्रेडिट के लिए रिफंड जारी नहीं किए जाते हैं, लेकिन प्रसंस्करण के दौरान त्रुटियां मुफ्त होती हैं। हमेशा जांचें error object JSON रिस्पॉन्स में विवरण के लिए।
संदर्भ विंडो और मॉडल विवरण
मॉडल प्रॉम्प्ट और पूर्णता दोनों के लिए 100,000 टोकन संदर्भ विंडो का समर्थन करता है। यह लंबे दस्तावेजों या विस्तृत बातचीत के लिए गहन संदर्भ रखरखाव की अनुमति देता है। यदि आप निर्दिष्ट नहीं करते हैं, तो अधिकतम आउटपुट डिफ़ॉल्ट रूप से 2,048 टोकन होता है max_tokens. आप इसे प्रति अनुरोध 16,000 टोकन तक बढ़ा सकते हैं।
मॉडल GPT, Claude या किसी अन्य विक्रेता मॉडल नहीं है। यह एक ओपन-वेइट मॉडल है जिसे अनसेंसर्ड प्रतिक्रियाओं के लिए ट्यून किया गया है। आपके प्रॉम्प्ट से कोई डेटा प्रशिक्षण के लिए उपयोग नहीं किया जाता है। यह आपके स्वामित्व वाले डेटा के लिए गोपनीयता सुनिश्चित करता है।
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapiendpoints.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);