المصادقة وعنوان URL الأساسي
تم تصميم واجهة API الخاصة بنا لتكون بديلاً جاهزًا لعملاء OpenAI الحاليين. تحتاج فقط إلى تغيير شيئين في تكوينك: عنوان URL الأساسي ومفتاح API. عنوان URL الأساسي لهذه الخدمة هو https://api.uncensoredgpt.top/v1. يمكنك إنشاء مفتاح API الخاص بك فورًا بعد تسجيل الدخول عبر Google أو البريد الإلكتروني في لوحة التحكم. لا يتطلب رقم هاتف، ويظهر المفتاح مرة واحدة عند إنشائه.
تأكد من تخزين مفتاحك بأمان. إذا فقدته، يمكنك إنشاء مفتاح جديد من لوحة التحكم، مما سيؤدي إلى إبطال المفتاح السابق. يسمح هذا الإعداد البسيط بالاتصال بواجهة برمجة التطبيقات AI غير الخاضعة للرقابة باستخدام المكتبات القياسية دون محولات مخصصة.
نقطة نهاية إكمال المحادثة
تُقدَّم الوظيفة الأساسية عبر نقطة النهاية القياسية POST /v1/chat/completions. تقبل هذه النقطة مدخلات نصية وتُرجي مخرجات نصية، وتدعم الطلبات المتزامنة والطلبات غير المتزامنة. لا داعي للقلق بشأن توجيه النموذج أو تجميعه؛ إذ نخدم نموذجًا لغويًا كبيرًا واحدًا عالي الأداء وبدون رقابة، ومُضبطًا للمحتوى غير المقيد.
عند إرسال طلب، يجب تحديد معرف النموذج كـ uncensored. هذا النموذج مفتوح الأوزان ومُستضاف على خوادمنا الخاصة، وهو منفصل عن نماذج GPT أو Claude أو نماذج البائعين الآخرين. صُمم للإجابة بدون رفض المحتوى للاستخدام القانوني للبالغين، مما يجعله مثاليًا لمواضيع NSFW أو المثيرة للجدل.
للبدء، يمكنك اختبار نقطة النهاية باستخدام أمر cURL بسيط. استبدل YOUR_API_KEY بمفتاحك الفعلي.
curl https://api.uncensoredgpt.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
استجابات البث المتدفق (SSE)
لتطبيقات الوقت الفعلي، تدعم واجهة API أحداث الإرسال من الخادم (SSE). يسمح البث المتدفق باستلام الرموز بمجرد إنشائها، مما يوفر تجربة مستخدم أفضل لواجهات الدردشة. عند تعيين stream: true في طلبك، تُرجع واجهة API تدفقًا من القطع بدلاً من استجابة كاملة واحدة.
تحتوي كل قطعة على نص جزئي، وتشمل القطعة الأخيرة إحصائيات استخدام الرموات لأغراض الفوترة. هذه الميزة مفيدة بشكل خاص للتطبيقات التي تتطلب تغذية راجعة فورية. يمكنك التعامل مع التدفق في لغتك المفضلة باستخدام واجهة برمجة التطبيقات المناسبة.
إليك مثالًا حول كيفية بدء طلب بث متدفق باستخدام cURL:
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)
استدعاء الدوال والأدوات
تدعم واجهة برمجة التطبيقات استدعاء الدوال، مما يتيح لتطبيقك التفاعل مع الأدوات والخدمات الخارجية. يمكنك تحديد قائمة بالدوال في المعلمة tools، وسيرد النموذج باستدعاء دالة إذا كان ذلك مناسبًا. هذا مفيد لبناء وكلاء أو تطبيقات تحتاج إلى تنفيذ إجراءات محددة.
يمكنك التحكم في سلوك النموذج باستخدام tool_choice، والذي يمكن تعيينه إلى auto، none، أو معرف دالة محدد. سيعيد النموذج اسم الدالة والحجج في الاستجابة، والتي يمكنك بعدها تنفيذها في تطبيقك.
إليك مثال Python يوضح كيفية استخدام ميزة استدعاء الدوال مع واجهة برمجة التطبيقات المتوافقة مع OpenAI:
from openai import OpenAI
client = OpenAI(base_url="https://api.uncensoredgpt.top/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)
تكوين وضع JSON
إذا كنت بحاجة إلى مخرجات مُهيكلة، يمكنك تفعيل وضع JSON عن طريق تعيين المعلمة response_format إلى {"type": "json_object"}. وهذا يوجّه النموذج إلى توليد مخرجات تتوافق مع صيغة JSON صالحة. وهذا مفيد بشكل خاص للتطبيقات التي تتطلب تحليل الاستجابة برمجيًا.
عند استخدام وضع JSON، سيتجنب النموذج إضافة علامات التنسيق أو نص إضافي حول كائن JSON. يضمن ذلك أن يتمكن المحلل الخاص بك من استهلاك الاستجابة مباشرة دون خطوات تنظيف إضافية. إنها طريقة موثوقة للحصول على بيانات منظمة من نموذج LLM.
إليك مثال Node.js يوضح كيفية تكوين العميل لوضع JSON:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncensoredgpt.top/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);
المعاملات: درجة الحرارة و Top P
يمكنك التحكم في عشوائية وإبداع استجابات النموذج باستخدام معاملات مثل temperature و top_p. تضبط المعلمة temperature درجة أخذ العينات، حيث تجعل القيم الأقل المخرجات أكثر حتمية والقيم الأعلى أكثر إبداعًا. تتحكم المعلمة top_p في أخذ العينات النووية، مما يحد من تفكير النموذج في الكتلة الاحتمالية للرموز (token) الأعلى p فقط.
تشمل المعاملات المدعومة الأخرى تسلسلات stop، و seed للتكرار، وعقوبات لـ presence_penalty و frequency_penalty. تتيح لك هذه المعاملات ضبط سلوك النموذج ليناسب حالة الاستخدام المحددة الخاصة بك.
فهم هذه المعاملات أمر بالغ الأهمية لتحسين جودة النص الذي تم إنشاؤه. جرب قيمًا مختلفة للعثور على التوازن المناسب لتطبيقك.
مواصفات API
كل الحدود والميزات الفعلية للـ API في مكان واحد — راجعها قبل شحن الرصيد.
| البند | القيمة |
|---|---|
| صيغة API | متوافق مع OpenAI: يعمل أي SDK من OpenAI بتغيير base URL والمفتاح فقط |
| نقاط النهاية | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.uncensoredgpt.top/v1 |
| المصادقة | Authorization: Bearer YOUR_KEY |
| معرّف النموذج | uncensored |
| البث المتدفق | نعم — server-sent events؛ آخر جزء يتضمن استهلاك الرموز |
| المعاملات | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| استدعاء الدوال | نعم — tools و tool_choice؛ الرد يتضمن tool_calls حتى أثناء البث؛ تُرسل النتائج كرسالة role: tool |
| وضع JSON | response_format: {"type": "json_object"} |
| أقصى مخرجات | حتى ما تبقى من نافذة 100,000 رمزًا؛ max_tokens اختياري (بلا حد منفصل) |
| نافذة السياق | 100,000 رمز (المدخلات والمخرجات معاً) |
| حجم الطلب | حتى 8 MB |
| حدّ المعدل | 300 طلب في الدقيقة لكل مفتاح |
| الطلبات المتزامنة | حتى 8 في الوقت نفسه لكل مفتاح |
| ترويسات الرد | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| السعر | $0.25 لكل مليون رمز مدخلات · $1.00 لكل مليون رمز مخرجات |
| رصيد تجريبي مجاني | $0.50 لمدة 7 أيام، بدون بطاقة · مفتاح تجريبي: طلبان متوازيان، 60 طلبًا في الدقيقة؛ الحدود الكاملة (8 و300) بعد أول شحن |
| الفوترة | رصيد مسبق الدفع حسب الاستهلاك الفعلي؛ الأخطاء والرفض مجانية |
| شحن الرصيد | USDT (TRC20) أو USDC (Base)، أي مبلغ صحيح من $10 إلى $500 |
| مكافأة | +5% من $50، +10% من $100 |
| الصلاحية | الرصيد المدفوع لا تنتهي صلاحيته، بدون اشتراك |
| المفاتيح | مفتاح نشط واحد لكل حساب؛ المفتاح الجديد يحل محل القديم |
| المحتوى | محتوى البالغين مسموح؛ يُرفض أي محتوى جنسي يتعلق بالقاصرين |
| تسجيل الدخول | Google أو البريد الإلكتروني وكلمة المرور |
رموز الأخطاء
تصل الأخطاء بصيغة JSON مع type ثابت؛ الطلبات الفاشلة أو المرفوضة لا تُحتسب.
| الرمز | النوع | المعنى |
|---|---|---|
400 | bad_request | JSON غير صالح أو رسائل فارغة أو معامل خاطئ أو تجاوز نافذة السياق |
401 | missing_key · invalid_key · key_revoked | لا يوجد مفتاح أو المفتاح خاطئ أو تم استبداله |
402 | no_credit | الرصيد فارغ — اشحن وتستأنف الطلبات فوراً |
403 | content_blocked | محتوى جنسي يتعلق بقاصرين — مرفوض دون احتساب |
404 | not_found | نقطة نهاية غير معروفة |
413 | request_too_large | جسم الطلب أكبر من 8 MB |
429 | rate_limited · concurrency | تجاوز 300 في الدقيقة أو 8 متزامنة — انتظر ثم أعد المحاولة |
503 | upstream_busy | النموذج مشغول — أعد المحاولة بعد ثوانٍ |
أسئلة وأجوبة
ماذا يحدث إذا تجاوزت حدّ المعدل؟
إذا تجاوزت حد 300 طلب في الدقيقة أو 8 طلبات متزامنة، ستتلقى خطأ 429 Too Many Requests. مفتاح API الخاص بك محدود بـ 8 اتصالات متزامنة، لذا تأكد من معالجة طلباتك المتزامنة بشكل مناسب لتجنب تجاوز هذا الحد.
لماذا أحصل على خطأ 402؟
يشير خطأ 402 إلى استنفاد رصيدك المسبق للدفع. نظرًا لأننا نستخدم نموذج الرمز المسبق الدفع، يجب عليك شحن الرصيد للمتابعة. الأخطاء والرفض لا تستهلك الرصيد، لذا تدفع فقط مقابل استخدام الرموز الناجح.
ما هو حدّ نافذة السياق؟
يدعم النموذج نافذة سياق بحجم 100,000 رمز، والتي تشمل كلًا من الموجّه والإكمال. الحد الأقصى للإخراج لكل طلب هو 32,000 رمز، أو 2,048 رمز إذا لم تحدد قيمة max_tokens. هذا يسمح بتوليد محتوى طويل ومهام الاستدلال المعقدة.
مفتاحك على بُعد نموذج واحد
أنشئ حسابًا، انسخ المفتاح، غيّر عنوان URL الأساسي. هذا هو الإعداد الكامل.