NsfwLocalडेवलपर दस्तावेज़
API दस्तावेज़ीकरण
मानक OpenAI-संगत टूल्स का उपयोग करके मिनटों में uncensored LLM API के साथ शुरुआत करें। टेक्स अनुरोध भेजें और सीधे, असफिल्टर्ड प्रतिक्रियाएं प्राप्त करें।
अपना पहला अनुरोध क्विकस्टार्ट करें
तुरंत टेक्स्ट जनरेट करना शुरू करें, अपने क्लाइंट को हमारे बेस URL की ओर इशारा करें और एक जनरेटेड API कुंजी के साथ प्रमाणीकरण करें। इंटरफ़ेस मानक अनुपालन का पालन करता है, इसलिए आप नए प्रोटोकॉल को सीखे बिना मौजूदा SDKs का उपयोग कर सकते हैं। आप प्रॉम्प्ट्स भेजेंगे uncensored मॉडल और कानूनी वयस्तु उपयोग के लिए सामान्य सामग्री फिल्टर लागू न करने वाली टेक्स्ट प्रतिक्रियाएं प्राप्त करें।
बेस URL और कुंजी कॉन्फ़िगर करें
अपने पर्यावरण चर को अनुरोधों को हमारे विशिष्ट एंडपॉइंट की ओर रूट करने के लिए सेट करें। साइनअप के दौरान उत्पन्न की के साथ प्लेसहोल्डर कुंजी को बदलें। यह सुनिश्चित करता है कि सभी बाद के कॉल सही uncensored मॉडल इंस्टेंस का उपयोग करते हैं।
- बेस यूआरएल:
https://api.nsfwlocalllm.com/v1 - Auth हेडर:
Authorization: Bearer YOUR_API_KEY
आप मॉडल्स एंडपॉइंट को जांचकर यह सत्यापित कर सकते हैं कि आपकी कुंजी काम करती है। एक मान्य कुंजी तुरंत उपलब्ध मॉडल आईडी लौटाती है।
चैट पूर्णता अनुरोध भेजें
टेक्स्ट जनरेट करने के लिए एक मानक चैट कंप्लीशन पेलोड भेजें। सिस्टम आपके इनपुट को प्रोसेस करता है और मॉडल की प्रतिक्रिया लौटाता है। uncensored अनफिल्टर्ड इंस्टेंस को हिट कर रहे हैं यह सुनिश्चित करने के लिए मॉडल ID।
प्रतिक्रिया में जनरेटेड टेक्स्ट और टोकन उपयोग आँकड़े शामिल होते हैं। आप इसे सीधे अपने एप्लिकेशन लॉजिक में पार्स कर सकते हैं।
curl https://api.nsfwlocalllm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Send me the server uptime stats"}]
}'सफलता या विफलता मामलों को संभालने के लिए मानक HTTP स्टेटस कोड के लिए जाँच करें।
रियल-टाइम आउटपुट के लिए स्ट्रीमिंग सक्षम करें
उपयोगकर्ताओं के लिए अदृश्य लेटेंसी कम करने के लिए स्ट्रीम रिस्पॉन्स। स्ट्रीमिंग को सक्षम करने के लिए सेट करें stream: true अपने अनुरोध बॉडी में। API आंशिक टोकन वाले सर्वर-सेंट इवेंट्स (SSE) की एक श्रृंखला लौटाती है।
पूर्ण संदेश को पुनर्निर्मित करने के लिए क्लाइंट साइड पर इन टोकन को एग्रीगेट करें। यह दृष्टिकोण चैट इंटरफ़ेस के लिए आदर्श है जहां तत्कल प्रतिक्रिया मायने रखती है। अंतिम SSE इवेंट में अनुरोध के लिए कुल टोकन उपयोग होता है।
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwlocalllm.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)एक smooth उपयोगकर्ता अनुभव सुनिश्चित करने के लिए कनेक्शन त्रुटियों को सहजता से संभालें।
संरचित डेटा के लिए JSON मोड का उपयोग करें
प्रोग्रामेटिक खपत के लिए मॉडल को वैध JSON आउटपुट करने के लिए फोर्स करें। सेट करें response_format को {"type": "json_object"} आपके अनुरोध में। यह पार्सिंग त्रुटियों को कम करता है और स्थिर डेटा संरचनाओं को सुनिश्चित करता है।
संरचित प्रॉम्प्ट जनरेट करने, एंटिटीज़ निकालने, या गतिशील सामग्री बनाने के लिए इसका उपयोग करें। मॉडल आपके सिस्टम निर्देशों में प्रदान की गई फॉर्मेट बाधाओं का पालन करता है। यह अन्य सेवाओं के साथ विश्वसनीय एकीकरण के लिए महत्वपूर्ण है।
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwlocalllm.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);कोई भी किनारे के मामलों को पकड़ने के लिए अंत-क्लाइंट पर आउटपुट JSON की जांच करें।
फंक्शन कॉलिंग लागू करें
मॉडल की क्षमताओं को विस्तारित करने के लिए टूल्स परिभाषित करें। एक पास करें tools function definitions के साथ array को request में जोड़ें। मॉडल context के आधार पर इन फ़ंक्शंस को कॉल करने का विकल्प चुन सकता है।
यह कॉम्प्लेक्स वर्कफ्लो को सक्षम बनाता है जहां LLM तय करता है कि डेटा फेच करने या एक्शंस लेने का समय कब है। आपको रिस्पॉन्स में फंक्शन आर्गुमेंट्स मिलते हैं और आप उन्हें अपनी तरफ एक्जीक्यूट करते हैं। आगे की रीजनिंग के लिए रिजल्ट्स को मॉडल को वापस पास करें।
सेट करें tool_choice को auto लचीले निर्णय लेने के लिए। यह फीचर बाहरी डेटा एक्सेस की आवश्यकता वाले उन्नत रोलप्ले सिनेरियो को सपोर्ट करता है।
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)अक्सर पूछे जाने वाले प्रश्न
कॉन्टेक्स्ट विंडो का आकार क्या है?
संदर्भ विंडो 100,000 टोकन की है, जो प्रॉम्प्ट और पूर्णता दोनों को कवर करती है। इसका मतलब है कि लंबी बातचीत और बड़े दस्तावेज़ संभव हैं। संदर्भ खोए बिना प्रसंस्करण किया जा सकता है।
यदि क्रेडिट खत्म हो जाता है तो क्या होता है?
अगर आपका पूर्व-भुगतान बैलेंस अपर्याप्त है, तो अनुरोध 402 स्टेटस कोड के साथ विफल हो जाते हैं। सेवा को तुरंत फिर से शुरू करने के लिए आप क्रिप्टो के माध्यम से टॉप अप कर सकते हैं। दर सीमा जैसी त्रुटियाँ क्रेडिट खपत नहीं करती हैं।
मैं रेट लिमिट्स को कैसे हैंडल करूं?
API प्रति कुंजी प्रति मिनट 300 अनुरोधों की सीमा लागू करता है। यदि आप इससे अधिक करते हैं, तो आपको 429 स्टेटस कोड मिलता है। इन विलंबताओं को प्रभावी ढंग से संभालने के लिए अपने क्लाइंट में एक्सपोनेंशियल बैकऑफ लागू करें।
तुरंत अपनी API कुंजी प्राप्त करें
साइन अप करें, टोकन कॉपी करें, बेस यूआरएल अपडेट करें। सेटअप पूरा हो गया है।
API कुंजी प्राप्त करें