واجهة برمجة تطبيقات Qwen Abliterated API: استدعاء نموذج مستضاف، بدون بطاقة رسوميات

يمكنك استدعاء نموذج دردشة بدون رقابة عبر HTTP باستخدام حزمة OpenAI SDK التي تستخدمها بالفعل، وتخطي تنزيل الأوزان أو استئجار بطاقة رسوميات. يوضح هذا الدليل الإعداد، مع أكواد عاملة وتكاليف دقيقة.
نقاط رئيسية
- وجّه أي مكتبة OpenAI SDK إلى عنوان URL الأساسي واضبط النموذج على uncensored.
- تعمل الميزات: البث المتدفق، استدعاء الأدوات، ووضع JSON عبر المعاملات القياسية.
- الحدود: 8 طلبات متزامنة و300 في الدقيقة باستخدام مفتاح كامل.
- الدفع حسب الرمز: $0.15 لكل مليون رمز مدخل، و$0.50 لكل مليون رمز مخرج.
الإجابة المختصرة: غيّر عنوان URL الأساسي
إذا كنت تبحث عن واجهة برمجة تطبيقات qwen abliterated، فإن المسار العملي هو نقطة نهاية مستضافة تتحدث بروتوكول OpenAI. تحتفظ بكود العميل الخاص بك، وتغيّر قيمتين، وترسل الطلبات إلى خادم يشغّل النموذج لك. لا تنزيل ملفات GGUF، ولا اختيار التكميم، ولا ميزانية VRAM.
ملاحظة ضرورية حول التسمية: هذه خدمة مستقلة، وليست واجهة برمجة تطبيقات Qwen الرسمية، والنموذج المستضاف يُشار إليه باسم uncensored بدلاً من اسم نقطة تفتيش Qwen. إنه نموذج واحد مفتوح الأوزان، يشغّله مزوّد مستقل ومضبوط للإجابة بدون رفض المحتوى للاستخدام القانوني للبالغين. إذا كنت بحاجة إلى ملف abliterated معين، قم بتشغيل الملف محلياً. إذا كنت بحاجة إلى نقطة نهاية دردشة موثوقة لتطبيق، تابع القراءة.
| الإعداد | القيمة |
|---|---|
| عنوان URL الأساسي | https://api.qwenabliterated.top/v1 |
| النموذج | uncensored |
| رأس المصادقة | Authorization: Bearer YOUR_API_KEY |
| نقاط النهاية | POST /v1/chat/completions، GET /v1/models |
| نافذة السياق | 100,000 رمز، الموجّه بالإضافة إلى الإكمال |
احصل على مفتاح
سجّل باستخدام Google، أو باستخدام بريد إلكتروني وكلمة مرور، ثم افتح صفحة مفتاح API. يمكن للمستخدمين الجدد المطالبة برصيد تجريبي مجاني بقيمة $0.50 بنقرة واحدة، لكل شخص، صالح لمدة 7 أيام وبدون بطاقة. هذا يكفي لتشغيل كل مثال أدناه عدة مرات.
للمفاتيح التجريبية حدود أقل من المفاتيح الكاملة: طلبين متزامنين و60 طلباً في الدقيقة، مقابل 8 و300 في المفتاح الكامل. ضع ذلك في الاعتبار إذا كنت تختبر باستخدام عملاء متزامنين.
احفظ المفتاح في متغير بيئة بدلاً من التحكم في المصدر:
export QWENABL_KEY="paste-your-key-here"الطلب الأول في Python
ثبّت 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 بحيث يمكنك مراقبة الرصيد المتبقي دون فتح لوحة التحكم.
لماذا استخدام واجهة برمجة التطبيقات بدلاً من ملفات 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 من الخادم الخلفي الخاص بك، وعرّف مساراً خاصاً بك للواجهة الأمامية، حيث يمكنك إضافة المصادقة وحدود لكل مستخدم. أي شخص يعثر على مفتاح في الحزمة البرمجية يمكنه إنفاق رصيدك.
ضبط مهلات الوقت وتحديد الحد الأقصى للإخراج
يمكن أن يستهلك الإكمال أي مساحة متبقية من نافذة السياق التي تتسع لـ 100,000 رمز، وmax_tokens اختياري. بالنسبة إلى ميزة الدردشة، اضبط حداً يتوافق مع واجهتك حتى لا يؤدي إجابة طويلة بشكل غير عادي إلى زيادة الفاتورة. اربط ذلك بمهلة زمنية على جانب العميل، وستحصل على سقف لكل من الوقت والمبلغ لكل استدعاء.
تسجيل معرّف الطلب
يحمل كل استجابة X-Request-Id. احفظه بجانب سجلك الخاص للمكالمة. عندما يبدو الناتج خاطئاً أو يفشل الطلب، يكون هذا المعرف هو ما يسمح للدعم بالعثور على الطلب المحدد. رأس X-Balance-USD مفيد لتنبيه بسيط: إذا انخفض الرقم دون عتبة، أرسل رسالة لنفسك قبل نفاد العمل.
فحص قائمة النماذج عند بدء التشغيل
فحص الصحة الذي يستدعي GET /v1/models لا يكلف أي رموز (token)، ويؤكد صحة مفتاح API، وURL، ومسار الشبكة في خطوة واحدة. نفذه عند بدء تشغيل خدمتك، وأبلغ عن الخطأ بوضوح إذا عاد بترميز خطأ.
الحدود ومعالجة الأخطاء
تعود الطلبات التي تتجاوز الحد بـ HTTP 429. يحدد رمز الخطأ الحد الذي وصلته: rate_limited يعني طلبات كثيرة في الدقيقة، وconcurrency يعني طلبات كثيرة في آن واحد. أثناء الحمل الزائد المؤقت، تعيد الواجهة أيضاً 429 مع رأس Retry-After: 5. الحد الأقصى للجسم هو 8 ميجابايت.
احترم الرأس وتراجع:
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 لكل مليون رمز، ورموز الإخراج بسعر $0.50 لكل مليون رمز. بعض الأمثلة، محسوبة بدقة:
- دورة دردشة مع 2,000 رمز توجيه و500 رمز إكمال: 2,000 × $0.15 / 1M = $0.0003، زائد 500 × $0.50 / 1M = $0.00025، أي $0.00055. تكلفة ألف دورة هي $0.55.
- عمل دفعة يرسل 10 ملايين رمز إدخال ويتلقى 2 مليون رمز إخراج: $1.50 زائد $1.00، أي $2.50.
- استدعاء سياق طويل مع 90,000 رمز توجيه و1,000 رمز إخراج: $0.0135 زائد $0.0005، أي $0.014.
الرصيد مسبق الدفع، لا ينتهي، ولا يوجد اشتراك. قم بشحن أي مبلغ صحيح من $20 إلى $500؛ يضيف $50 نسبة 5%، لذا فإن شحن بقيمة $50 يمنح رصيداً بقيمة $52.50. ادفع بالعملات المشفرة فقط (USDT على TRC20، USDC على Base). انظر صفحة الأسعار للحصول على جدول المكافآت الكامل.
الملفات المستضافة أو المحلية: أيهما يناسب
يوفر لك GGUF المحلي الخصوصية بالعزل والتحكم الكامل في الأوزان الدقيقة. تمنحك الـ API المستضافة عدم وجود عمل للأجهزة، سياق طويل، وURL يمكن للخدمات الأخرى استدعاؤه. تجد معظم الفرق التي تبني روبوتاً، أداة كتابة، أو خادم خلفي للعبة أن الاستضافة أسهل، لأن صندوق GPU احتياطي هو شيء آخر يجب الحفاظ على تشغيله.
للحصول على نظرة أوسع على الدفع لكل رمز مقارنة بطرق أخرى للوصول إلى نموذج بأسلوب Qwen، انظر دليل المقارنة. لا تُستخدم الموجّهات المرسلة إلى الواجهة للتدريب. النموذج للنصوص فقط، ومحتوى الجنس الذي يتضمن قاصرين غير مسموح به تحت أي ظرف.
المزيد من الأدلة
أسئلة وأجوبة
هل أحتاج إلى وحدة معالجة رسومات لاستخدامه؟
لا. يعمل النموذج على خوادم المزود. كودك يرسل فقط طلبات HTTP، لذا فإن جهاز لابتوب أو VPS صغير يكفي.
ما اسم النموذج الذي أرسله؟
أرسل uncensored كقيمة للنموذج. يمكنك تأكيد ذلك بطلب GET إلى /v1/models.
هل يدعم SDKs الخاصة بـ OpenAI لـ Python وNode.js؟
نعم. اضبط URL الأساسي على عنوان /v1 للموقع واستخدم مفتاحك. تعمل إكمالات الدردشة، والبث المتدفق، واستدعاء الأدوات، ووضع JSON من خلال المعلمات العادية.
ماذا يحدث إذا أرسلت الكثير من الطلبات؟
تتلقى HTTP 429 مع الرمز rate_limited أو concurrency. انتظر وأعد المحاولة، واحترم رأس Retry-After عند وجوده.
هل توجد طريقة مجانية لتجربته؟
يمكن للمستخدمين الجدد المطالبة برصيد تجريبي بقيمة $0.50 بنقرة واحدة في صفحة مفتاح API. يستمر لمدة 7 أيام ولا يحتاج إلى بطاقة.
مفتاحك على بُعد نموذج تعبئة واحد
أنشئ حساباً، وانسخ المفتاح، ثم غيّر URL الأساسي. هذه هي عملية الإعداد الكاملة.
احصل على مفتاح API