Qwen Abliterated API: होस्टेड मॉडल कॉल करें, GPU की आवश्यकता नहीं

आप अपने मौजूदा OpenAI SDK के साथ HTTP के माध्यम से एक बिना सेंसर चैट मॉडल को कॉल कर सकते हैं, और वजन डाउनलोड करने या GPU किराए पर लेने से बच सकते हैं। यह गाइड सेटअप, काम करने वाले कोड और सटीक लागत दिखाती है।
मुख्य बिंदु
- किसी भी OpenAI SDK को बेस URL पर पॉइंट करें और मॉडल को uncensored पर सेट करें।
- स्ट्रीमिंग, टूल कॉलिंग और JSON मोड मानक पैरामीटर के माध्यम से काम करते हैं।
- सीमाएँ: पूर्ण कुंजी पर 8 समानांतर अनुरोध और प्रति मिनट 300।
- प्रति टोकन भुगतान: 1M इनपुट के लिए $0.15, 1M आउटपुट के लिए $0.50।
संक्षिप्त उत्तर: बेस URL बदलें
यदि आप qwen abliterated api खोज रहे हैं, तो व्यावहारिक मार्ग एक ऐसा होस्टेड एंडपॉइंट है जो OpenAI प्रोटोकॉल का उपयोग करता है। आप अपना क्लाइंट कोड बनाए रखते हैं, दो मान बदलते हैं और एक ऐसे सर्वर को अनुरोध भेजते हैं जो आपके लिए मॉडल चलाता है। GGUF डाउनलोड करने की आवश्यकता नहीं, क्वांटीज़ेशन विकल्प नहीं, VRAM बजट की चिंता नहीं।
नामकरण पर एक आवश्यक नोट: यह एक स्वतंत्र सेवा है, आधिकारिक Qwen API नहीं, और होस्टेड मॉडल को Qwen चेकपॉइंट नाम से नहीं, बल्कि uncensored के रूप में संबोधित किया जाता है। यह एक ओपन-वेट मॉडल है, जो एक स्वतंत्र प्रदाता द्वारा चलाया जाता है और कानूनी वयस्क उपयोग के लिए सामग्री अस्वीकृति के बिना उत्तर देने के लिए ट्यून्ड है। यदि आपको एक विशिष्ट एबलिटरेटेड फ़ाइल की आवश्यकता है, तो उस फ़ाइल को स्थानीय रूप से चलाएँ। यदि आपको एक ऐप के लिए एक विश्वसनीय चैट एंडपॉइंट की आवश्यकता है, तो पढ़ना जारी रखें।
| सेटिंग | मान |
|---|---|
| बेस URL | https://api.qwenabliterated.top/v1 |
| मॉडल | uncensored |
| Auth हेडर | Authorization: Bearer YOUR_API_KEY |
| एंडपॉइंट | POST /v1/chat/completions, GET /v1/models |
| कॉन्टेक्स्ट विंडो | 100,000 टोकन, प्रॉम्प्ट और पूर्णता |
कुंजी प्राप्त करें
Google, या एक ईमेल और पासवर्ड के साथ साइन अप करें, फिर API कुंजी पेज खोलें। नए उपयोगकर्ता एक क्लिक के साथ $0.50 का मुफ़्त ट्रायल क्रेडिट दावा कर सकते हैं, एक व्यक्ति के लिए, 7 दिनों के लिए मान्य और बिना कार्ड के। यह नीचे दिए गए हर उदाहरण को कई बार चलाने के लिए पर्याप्त है।
ट्रायल कुंजियों की सीमाएं पूर्ण कुंजियों की तुलना में कम हैं: 2 समानांतर अनुरोध और प्रति मिनट 60 अनुरोध, जबकि पूर्ण कुंजी पर 8 और 300 हैं। यदि आप समानांतर वर्कर्स के साथ परीक्षण कर रहे हैं, तो इस बात को ध्यान में रखें।
कुंजी को स्रोत नियंत्रण में रखने के बजाय एक एनवायरनमेंट वेरिएबल में संग्रहीत करें:
export QWENABL_KEY="paste-your-key-here"पायथन में पहला अनुरोध
आधिकारिक SDK को pip install openai के साथ इंस्टॉल करें, फिर:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.qwenabliterated.top/v1",
api_key=os.environ["QWENABL_KEY"],
)
resp = client.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": "You are a blunt technical assistant."},
{"role": "user", "content": "Explain what a KV cache is in three sentences."},
],
temperature=0.7,
)
print(resp.choices[0].message.content)
print(resp.usage)
प्रतिक्रिया में एक सामान्य usage ब्लॉक होता है, इसलिए आप प्रॉम्प्ट और आउटपुट टोकन लॉग कर सकते हैं और खर्च की गणना स्वयं कर सकते हैं। हेडर में सहायता प्रश्नों के लिए X-Request-Id और शेष क्रेडिट को डैशबोर्ड खोले बिना देखने के लिए X-Balance-USD शामिल हैं।
API का उपयोग क्यों करें, GGUF फ़ाइलों के बजाय
बिना सेंसर मॉडल तक पहुंचने का सामान्य मार्ग एक क्वांटाइज़्ड फ़ाइल खोजना, उसे लोकल रनटाइम में लोड करना और लोकल सर्वर से बात करना है। यह काम करता है, और प्रयोगों के लिए यह सीखने का एक अच्छा तरीका है। घर्षण तब दिखाई देता है जब आप प्रयोगों से कुछ ऐसे में बदलते हैं जिसे अन्य लोग उपयोग करते हैं।
पहला, हार्डवेयर। एक फ़ाइल जो एक छोटी कॉन्टेक्स्ट विंडो के साथ आपके डेस्कटॉप कार्ड पर फिट होती है, वह लंबी कॉन्टेक्स्ट विंडो पर फिट नहीं हो सकती, क्योंकि एटेंशन कैश हर टोकन के साथ बढ़ता है। दूसरा, कंकरेंसी। एक अकेला लोकल प्रोसेस एक या दो चैट्स को आसानी से संभालता है, लेकिन एक साथ दस उपयोगकर्ताओं का मतलब कतारें लगना है। तीसरा, उपलब्धता। एक घर की मशीन सो जाती है, बिजली चली जाती है और गलत समय पर ड्राइवर अपडेट हो जाता है। एक होस्टेड API इन समस्याओं को किसी और की समस्या बना देता है, और आप केवल उपयोग किए गए टोकन के लिए भुगतान करते हैं।
जो आप छोड़ते हैं वह एक विशिष्ट चेकपॉइंट चुनने की स्वतंत्रता और यह गारंटी है कि बाइट्स आपके नेटवर्क से कभी बाहर नहीं जाएंगे। अपनी परियोजना के लिए उनमें से किसकी अधिक आवश्यकता है, यह तय करें।
Node.js और curl
Node SDK भी वही दो विकल्प लेता है:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.qwenabliterated.top/v1",
apiKey: process.env.QWENABL_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Give me five names for a fantasy tavern." }],
});
console.log(resp.choices[0].message.content);
और curl के साथ, जो किसी चीज़ को जोड़ने से पहले कुंजी की जांच करने के लिए उपयोगी है:
curl -s https://api.qwenabliterated.top/v1/models \
-H "Authorization: Bearer $QWENABL_KEY"
सफल कॉल पर एक JSON सूची लौटाई जाती है जिसमें uncensored शामिल होता है। 401 का अर्थ है कि कुंजी गलत है या अनुपलब्ध है। दस्तावेज़ीकरण त्रुटि प्रारूप का विस्तृत विवरण देता है।
स्ट्रीमिंग, JSON मोड और टूल्स
स्ट्रीमिंग
stream: true पास करें और सर्वर-सेंट इवेंट्स पढ़ें। उपयोग स्ट्रीम के अंत में रिपोर्ट किया जाता है।
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Write a short scene on a night train."}],
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 भेजें और वैकल्पिक रूप से tool_choice। जब मॉडल टूल का अनुरोध करता है, तो उसे चलाएं और आउटपुट को role: "tool" भूमिका वाले संदेश के रूप में वापस करें। टूल कॉल भी स्ट्रीम होते हैं। सैंपलिंग पैरामीटर temperature, top_p, stop, seed और फ्रीक्वेंसी व प्रेजेंस पेनल्टी पास कर दी जाती हैं।
इसे एक वास्तविक एप्लिकेशन में डालना
एकल स्क्रिप्ट बनाना आसान है। एक एप्लिकेशन के लिए कुछ और आदतों की आवश्यकता होती है, और वे वही हैं जो आप किसी भी OpenAI-शैली API के साथ उपयोग करते हैं।
कुंजी सर्वर पर रखें
कुंजी को ब्राउज़र कोड या मोबाइल ऐप में कभी न भेजें। API को अपने बैकएंड से कॉल करें और फ्रंट एंड के लिए अपना रास्ता उजागर करें, जहाँ आप प्रमाणीकरण और प्रति-उपयोगकर्ता सीमाएँ जोड़ सकते हैं। बंडल में कुंजी मिलने वाले किसी भी व्यक्ति द्वारा आपका क्रेडिट खर्च किया जा सकता है।
टाइमआउट सेट करें और आउटपुट को कैप करें
कम्प्लीशन 100,000-टोकन विंडो में बचे हुए सब कुछ उपयोग कर सकता है, और max_tokens वैकल्पिक है। एक चैट फीचर के लिए, एक कैप सेट करें जो आपके इंटरफ़ेस से मेल खाता है ताकि एक असामान्य रूप से लंबा उत्तर बिल बढ़ा न सके। उस क्लाइंट टाइमआउट के साथ जोड़ें और आपको हर कॉल के लिए समय और पैसे दोनों की छत मिल जाएगी।
अनुरोध ID लॉग करें
हर रिस्पॉन्स में X-Request-Id होता है। इसे कॉल के अपने रिकॉर्ड के साथ संग्रहीत करें। जब कोई रिजल्ट गलत दिखे या अनुरोध फेल हो, वह पहचानकर्ता सपोर्ट को सटीक अनुरोध ढूँढने में मदद करता है। X-Balance-USD हेडर एक सरल अलर्ट के लिए उपयोगी है: यदि संख्या एक थ्रेशोल्ड से नीचे गिर जाती है, तो किसी जॉब खत्म होने से पहले आपको एक संदेश भेजें।
स्टार्ट-अप पर मॉडल सूची जाँचें
एक हेल्थ चेक जो GET /v1/models कॉल करता है, टोकन में कुछ भी लागत नहीं करता और एक ही कदम में कुंजी, URL और नेटवर्क पथ की पुष्टि करता है। जब आपकी सेवा बूट हो, तो इसे चलाएँ और यदि यह त्रुटि लौटाए तो तेज़ी से फेल करें।
सीमाएँ और त्रुटि हैंडलिंग
सीमा से अधिक अनुरोध HTTP 429 लौटाते हैं। त्रुटि कोड बताता है कि आपने कौन सी सीमा पार की: rate_limited का मतलब प्रति मिनट बहुत सारे अनुरोध हैं, और concurrency का मतलब एक साथ बहुत सारे अनुरोध हैं। अस्थायी ओवरलोड के दौरान API 429 भी Retry-After: 5 हेडर के साथ लौटाता है। अधिकतम बॉडी 8 MB है।
हेडर का सम्मान करें और बैकऑफ़ करें:
import time
from openai import OpenAI, RateLimitError
def ask(client, messages, tries=5):
for attempt in range(tries):
try:
return client.chat.completions.create(model="uncensored", messages=messages)
except RateLimitError as e:
wait = int(e.response.headers.get("Retry-After", 5))
time.sleep(wait * (attempt + 1))
raise RuntimeError("still rate limited")
यदि आप वर्कर पूल चला रहे हैं, तो एक पूर्ण कुंजी के लिए इसे 8 थ्रेड्स तक कैप करें। उससे ऊपर जाना केवल काम को 429 में बदल देता है। फेल या अस्वीकृत अनुरोधों के लिए चार्ज नहीं किया जाता है, इसलिए जब वे फेल होते हैं तो रेट्रिज़ आपको कुछ भी अतिरिक्त लागत नहीं देते।
एक अनुरोध का खर्च
इनपुट टोकन $0.15 प्रति 1M हैं और आउटपुट टोकन $0.50 प्रति 1M हैं। कुछ उदाहरण, सटीक रूप से गणना किए गए:
- 2,000 प्रॉम्प्ट टोकन और 500 आउटपुट टोकन वाला चैट टर्न: 2,000 x $0.15 / 1M = $0.0003, प्लस 500 x $0.50 / 1M = $0.00025, इसलिए $0.00055। एक हजार टर्न का खर्च $0.55 है।
- एक बैच जॉब जो 10M इनपुट टोकन भेजता है और 2M आउटपुट टोकन प्राप्त करता है: $1.50 प्लस $1.00, इसलिए $2.50।
- एक लॉन्ग-कॉन्टेक्स्ट कॉल जिसमें 90,000 प्रॉम्प्ट टोकन और 1,000 आउटपुट टोकन हैं: $0.0135 प्लस $0.0005, इसलिए $0.014।
क्रेडिट प्रीपेड होता है, कभी समाप्त नहीं होता और कोई सदस्यता नहीं है। $20 से $500 तक किसी भी पूर्ण राशि का टॉप-अप करें; $50 जोड़ने पर 5% बोनस मिलता है, इसलिए $50 के टॉप-अप पर $52.50 का क्रेडिट मिलता है। क्रिप्टो (TRC20 पर USDT, Base पर USDC) से भुगतान करें। पूर्ण बोनस तालिका के लिए मूल्य निर्धारण पृष्ठ देखें।
होस्टेड या स्थानीय फ़ाइलें: कौन सा फिट बैठता है
एक लोकल GGUF आपको अलगाव द्वारा गोपनीयता और सटीक वेट्स पर पूर्ण नियंत्रण देता है। एक होस्टेड API आपको कोई हार्डवेयर वर्क नहीं देता, लंबी कॉन्टेक्स्ट विंडो और एक URL देता है जिसे अन्य सेवाएं कॉल कर सकती हैं। अधिकांश टीमें जो एक बॉट, लेखन टूल या गेम बैकएंड बनाती हैं, होस्टिंग को सरल पाती हैं, क्योंकि एक अतिरिक्त GPU बॉक्स चलाने के लिए एक और चीज होती है।
टोकन के आधार पर भुगतान की तुलना अन्य Qwen-शैली मॉडल तक पहुँचने के तरीकों से करने के लिए, तुलना गाइड देखें। API को भेजे गए प्रॉम्प्ट प्रशिक्षण के लिए उपयोग नहीं किए जाते। मॉडल केवल टेक्स्ट है, और नाबालिगों से संबंधित यौन सामग्री किसी भी परिस्थिति में अनुमत नहीं है।
अधिक गाइड
प्रश्न और उत्तर
क्या मुझे इसे उपयोग करने के लिए GPU की आवश्यकता है?
नहीं। मॉडल प्रदाता के सर्वरों पर चलता है। आपका कोड केवल HTTP अनुरोध भेजता है, इसलिए एक लैपटॉप या एक छोटा VPS पर्याप्त है।
मुझे कौन सा मॉडल नाम भेजना चाहिए?
मॉडल मान के रूप में uncensored भेजें। आप इसे /v1/models पर एक GET अनुरोध करके पुष्टि कर सकते हैं।
क्या यह OpenAI Python और Node SDKs का समर्थन करता है?
हाँ। बेस URL को साइट के /v1 पता पर सेट करें और अपनी कुंजी का उपयोग करें। चैट कंप्लीशन, स्ट्रीमिंग, फ़ंक्शन कॉलिंग और JSON मोड सामान्य पैरामीटर के माध्यम से काम करते हैं।
यदि आप बहुत सारे अनुरोध भेजते हैं तो क्या होता है?
आप HTTP 429 प्राप्त करते हैं जिसमें कोड rate_limited या concurrency होता है। प्रतीक्षा करें और पुनः प्रयास करें, और जब Retry-After हेडर मौजूद हो तो उसका सम्मान करें।
क्या इसका परीक्षण करने का कोई मुफ्त तरीका है?
नए उपयोगकर्ता API कुंजी पृष्ठ पर एक क्लिक के साथ $0.50 का ट्रायल क्रेडिट प्राप्त कर सकते हैं। यह 7 दिनों तक चलता है और कार्ड की आवश्यकता नहीं है।
आपकी कुंजी बस एक फ़ॉर्म दूर है
एक खाता बनाएँ, कुंजी कॉपी करें, बेस URL बदलें। सेटअप यही है।
API कुंजी पाएँ