المصادقة وURL الأساسي
ابدأ باستبدال عنوان URL الأساسي ومفتاح API في تكوين عميلك. تستخدم خدمتنا عنوان URL أساسي واحدًا لجميع الطلبات، مما يضمن التوافق مع مكتبات OpenAI الحالية. لا تحتاج إلى إدارة نقاط نهاية متعددة للميزات المختلفة. أنشئ مفتاحك عبر لوحة التحكم باستخدام Google أو البريد الإلكتروني. احفظ هذا المفتاح بأمان، لأنه يمنح الوصول المباشر إلى رصيدك المدفوع مسبقًا.
يتم إرسال مفتاح API في Authorization الرأس. إذا فقدت مفتاحك، قم بإنشاء مفتاح جديد في لوحة التحكم، والذي سيحل محل المفتاح النشط القديم. لا يتطلب استعادة الحساب رقم هاتف، مما يحافظ على نهجنا الذي يركز على الخصوصية. استخدم عنوان URL الأساسي أدناه لجميع الطلبات اللاحقة.
URL الأساسي: https://api.norestrictedai.com/v1
POST /v1/chat/completions
أرسل تلميحك إلى POST /v1/chat/completions نقطة النهاية لاستقبال استجابة نصية. هذه هي النقطة الوحيدة التي تحتاجها لتوليد النص. معرف النموذج هو uncensored. إنه نموذج مفتوح المصدر مُعدّل للإجابة دون رفض المحتوى للاستخدام القانوني للبالغين. إنه ليس GPT أو Claude. يمكنك تدفق الاستجابات أو طلبها بتنسيق JSON. يدعم النظام استدعاء الوظائف والمعايير القياسية مثل درجة الحرارة وtop_p.
تتم معالجة الطلبات كمدخلات نصية ومخرجات نصية. لا توجد قدرات للتضميم أو توليد الصور. إذا كنت بحاجة إلى ذلك، ابحث عن مكان آخر. يركزنا بشكل حصري على توليد النصوص المباشرة مع تسعير رموز شفاف. لا تستهلك الأخطاء والرفض (باستثناء حد المحتوى القاسي للقاصرين) رصيدك.
تكامل واجهة برمجة تطبيقات Python
استخدم مكتبة بايثون الرسمية من OpenAI للتفاعل مع واجهة برمجة التطبيقات الخاصة بنا. قم بتعيين عنوان URL الأساسي ومفتاح واجهة برمجة التطبيقات في مثيل العميل. يتيح لك هذا النهج الحفاظ على بنية الكود الحالية مع التبديل بين المزودين. تتولى المكتبة عمليات التسلسل بتنسيق JSON وإرسال طلبات HTTP تلقائيًا. يمكنك استخدام اسم النموذج نفسه كما تفعل مع الخدمات الأخرى، ولكن تذكر أن معرف النموذج الخاص بنا هو uncensored.
هذه الطريقة مثالية لخدمات الخلفية والبرامج النصية. تدعم المكتبة كل من العمليات المتزامنة وغير المتزامنة. يمكنك ضبط قيم درجة الحرارة و top_p للتحكم في الإبداع. يحتوي كائن الاستجابة على النص المولد وإحصائيات استخدام الرموز.
تكامل Node SDK
دمج واجهة برمجة التطبيقات الخاصة بنا في تطبيقات Node.js باستخدام SDK OpenAI القياسي. قم بتكوين العميل بعنوان URL الأساسي ومفتاح API. يعمل هذا الإعداد بسلاسة مع مسارات Express أو الوظائف الخالية من الخوادم. يدير SDK دورة حياة الطلب، بما في ذلك إعادة المحاولة ومعالجة الأخطاء. يمكنك تمرير الرسائل كمصفوفة من كائنات الدور والمحتوى.
هذا الدمج مثالي لتطبيقات الويب والخدمات المصغرة. يتضمن كائن الاستجابة المحتوى المولد وبيانات الاستخدام. يمكنك تمكين التدفق لإرسال الرموز إلى العميل بمجرد توليدها. هذا يقلل من زمن الاستجابة المدرك للمستخدمين النهائيين. تدعم المكتبة جميع المعلمات القياسية المحددة في مواصفات واجهة برمجة التطبيقات.
استجابات البث (SSE)
فعّل التدفق عن طريق تعيين stream المعامل إلى true. تُعيد الـ API تدفق أحداث الإرسال من الخادم (SSE). يحتوي كل جزء على استجابة جزئية. يتضمن الجزء الأخير إجمالي استخدام الرموز. يقلل هذه الميزة من الوقت اللازم للحصول على أول رمز بشكل كبير. وهي ضرورية لواجهات الدردشة والتطبيقات المباشرة.
يستمر التدفق حتى يكمل النموذج الاستجابة أو يحدث خطأ. يمكنك إلغاء التدفق في أي وقت. يتوقف الخادم عن معالجة الطلب عندما ينقطع اتصال العميل. هذا يوفر موارد الحوسبة. استخدم وضع التدفق لتقديم تجربة مستخدم سلسة. يسمح لك استخدام الرموز في الشريحة الأخيرة بتتبع التكاليف بدقة.
حدود المعدلات والأخطاء
تفرض واجهة برمجة التطبيقات (API) لدينا حدودًا صارمة لمعدل الطلبات لضمان الاستقرار. يُسمح لك بـ 300 طلبًا في الدقيقة لكل مفتاح. يمكنك إجراء 8 طلبات متزامنة في نفس الوقت. الحد الأقصى لحجم طلب الجسم هو 8 ميجابايت. إذا تجاوزت هذه الحدود، ستتلقى خطأ 429. تُرجع الأخطاء مثل المفاتيح غير الصالحة 401. يُرجع عدم كفاية الرصيد 402. لا تستهلك هذه الأخطاء رصيدك.
نطاق السياق هو 100,000 رمز للسياق والإكمال معاً. الحد الأقصى للإخراج هو 16,000 رمز لكل طلب. إذا لم تضبط max_tokens, الحد هو 2,048. الرصيد مدفوع مسبقًا ولا ينتهي. الأخطاء مجانية. إذا تم شحنتك مرتين، تواصل مع الدعم. لا يسجل النظام المدخلات للتدريب. الخصوصية محفوظة. استخدم كتل التعليمات البرمجية أدناه لتنفيذ هذه الميزات.
cURL
curl https://api.norestrictedai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Set database index to primary key"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.norestrictedai.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.norestrictedai.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);التدفق
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)