ar ▾
احصل على مفتاحك
chatunrestricted.com

توثيق واجهة برمجة التطبيقات

قم بتوصيل تطبيق Python أو Node.js الخاص بك بنموذج LLM غير مقيد في أقل من دقيقة. استخدم نقاط النهاية المتوافقة مع OpenAI لتوليد النصوص بدون رفض المحتوى.

البدء السريع: الطلب الأول بـ Python أو JS

أرسل أول موجه واحصل على مخرجات نصية خام فوراً. تقبل واجهة برمجة التطبيقات (API) حمولات إكمال الدردشة القياسية، لذا يمكنك استبدال عنوان URL الأساسي والمفتاح الخاص بك للبدء في توليد محتوى غير مقيد (uncensored) دون إعادة كتابة منطقك. استخدم أمر cURL التالي للتحقق من الاتصال وتوفر النموذج قبل دمجه في قاعدة الكود الخاصة بك.

تؤكد هذه الطلبية الأولية أن نقطة النهاية قابلة للوصول وأن رمز المصادقة الخاص بك صالح. يمكنك بعد ذلك المضي قدماً في بناء منطق تطبيقك باستخدام أغطية SDK المقدمة.

curl https://api.chatunrestricted.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the three main endpoints for user authentication"}]
  }'

المصادقة & عنوان URL الأساسي

المصادقة عن طريق تمرير مفتاح API الخاص بك في رأس HTTP. يجب أن تستهدف جميع الطلبات عنوان URL الأساسي https://api.chatunrestricted.com/v1 لضمان التوافق مع مكتلات OpenAI SDK. يمكنك إنشاء مفتاحك فوراً عبر لوحة التحكم باستخدام بيانات اعتماد Google أو البريد الإلكتروني، دون الحاجة إلى رقم هاتف.

يحدد مفتاح API حسابك ويتتبع استخدام الرموز مقابل رصيدك المدفوع مسبقاً. احفظ هذا المفتاح بأمان، فهو يوفر وصولاً مباشراً إلى رصيدك. يُسمح بمفتاح نشط واحد فقط لكل حساب؛ يؤدي إنشاء مفتاح جديد إلى إبطال المفتاح السابق تلقائياً.

POST /v1/chat/completions

إنشاء نص بإرسال طلب POST إلى نقطة نهاية إكمال الدردشة. معرف النموذج هو uncensored, والذي يشغل نموذجاً مفتوح الوزن مضبوطاً للإجابة دون رفض المحتوى للاستخدام القانوني للبالغين. يمكنك التحكم في طول الإخراج والعشوائية وشرط التوقف عبر المعلمات القياسية.

يدعم هذا الـ Endpoint البث (streaming)، استدعاء الوظائف، واستجابات وضع JSON. لا يدعم التضمينات (embeddings)، الصور، أو ضبط النماذج الدقيقة (fine-tuning). استخدم مكتة SDK الخاصة بـ Python للتعامل مع الطلب بشكل غير متزامن لتحسين الأداء في تطبيقات الويب.

from openai import OpenAI

client = OpenAI(base_url="https://api.chatunrestricted.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)

GET /v1/models

استرجع قائمة النماذج المتاحة للتحقق من هيكل الواجهة البرمجية. يتضمن الاستجابة uncensored معرف النموذج، والذي يجب عليك تحديده في طلبات الإكمال. تساعدك نقطة هذه التحقق من أن الخدمة متصلة وأن معرف النموذج لم يتغير.

استخدم هذه النهاية لتصحيح مشاكل الاتصال قبل إرسال طلبات التوليد المكلفة. تُرجع بيانات تعريف النموذج المتوافقة مع OpenAI القياسية، بما في ذلك معرف النموذج ونوع الكائن.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.chatunrestricted.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);

المعلمات: درجة الحرارة وTop P والبذلة

تحكّم في العشوائية والحتمية لمخرجاتك باستخدام معايير أخذ العينات القياسية. اضبط temperature بين 0 و2 لضبط الإبداع، واستخدم top_p لتقييد أخذ العينات النووية. الـ seed السماح لك بإنتاج مخرجات قابلة للتكرار لاكتشاف الأخطاء أو سيناريوهات لعب الأدوار المتسقة.

تؤثر هذه المعلمات بشكل مباشر على كيفية توليد النموذج للنص. تنتج درجات الحرارة الأعلى استجابات أكثر تنوعًا، بينما تجعل درجات الحرارة المنخفضة المخرجات أكثر تركيزًا وتوقعًا. استخدم stop تسلسلات لإيقاف التوليد عند علامات محددة.

البث، والأدوات، ووضع JSON

تدفق الاستجابات في الوقت الفعلي باستخدام أحداث Server-Sent (SSE) لتأخير زمني أقل. فعّل وضع JSON عن طريق تعيين response_format إلى json_object لاستخراج البيانات المُهيّأة. دعم استدعاء الوظائف للتنفيذ، مما يسمح للنموذج باستدعاء واجهات برمجة التطبيقات الخارجية.

يُعد البث المباشر ضروريًا لبناء واجهات دردشة تعرض الرموز أثناء توليدها. تحتوي الشريحة الأخيرة من البث على إجمالي استخدام الرموز للطلب، مما يتيح تتبع الفواتير بدقة. استخدم المثال التالي لتنفيذ البث المباشر في تطبيقك.

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)

حدود معدل الطلبات والفوترة

راقب حدود المعدل لتجنب انقطاع الخدمة أثناء الاستخدام عالي الحجم. تفرض واجهة البرمجة (API) حداً قدره 300 طلب في الدقيقة وحد تزامن قدره 8 طلبات متزامنة لكل مفتاح. الحد الأقصى لحجم طلب البيانات هو 8 ميجابايت.

الفوترة مدفوعة مسبقاً وتعتمد على استخدام الرموز المميزة الفعلية. الأخطاء والرفضات لا تستهلك الرصيد. إذا واجهت خطأ 401، فإن مفتاح واجهة برمجة التطبيقات الخاص بك غير صالح. يشير خطأ 402 إلى عدم كفاية الرصيد، بينما يشير خطأ 429 إلى تجاوزك لحد معدل الطلب. تدعم نافذة السياق 100,000 رمز مميز للمطالبة والاكتمال معاً.

الأسئلة الشائعة

كيف أتعامل مع أخطاء واجهة برمجة التطبيقات (API) في تطبيقي؟

تحقق من رمز حالة HTTP لتحديد المشكلة. يعني خطأ 401 أن مفتاح واجهة برمجة التطبيقات الخاص بك غير صالح أو مفقود. يشير خطأ 402 إلى استنفاد رصيدك المسبق. يشير خطأ 429 إلى تجاوزك لحد المعدل البالغ 300 طلب في الدقيقة.

ما هو حد نافذة السياق؟

تدعم نافذة السياق 100,000 رمز موحّد للنص التوجيهي والإكمال معاً. الحد الأقصى للإخراج لكل طلب هو 16,000 رمز، أو 2,048 رمز إذا لم تُضبط معلمة max_tokens صراحةً.

هل تدعم واجهة برمجة التطبيقات استجابات التدفق؟

نعم، تدعم واجهة برمجة التطبيقات البث عبر أحداث الحدث المرسلة (SSE). تحتوي كل شريحة على نص جزئي، وتشمل الشريحة النهائية إجمالي استخدام الرموز للطلب. هذا يتيح العرض في الوقت الفعلي للنص المولد في تطبيقك.

أنشئ مفتاح API الخاص بك

سجّل الدخول، وانسخ المفتاح الخاص بك، وحدّث عنوان URL الأساسي الخاص بك. هذا كل ما تحتاج إلى القيام به.