لماذا استخدام واجهة Uncensored.chat API؟
غالبًا ما تطبق واجهات LLM القياسية فلاتر محتوى صارمة ترفض المحتوى البالغ القانوني، أو الخيال الإبداعي، أو المواضيع المثيرة للجدل. تزيل واجهة uncensored chat api هذه الحواجز، مما يسمح للنموذج بالرد على الموجّهات بناءً على الصلة بدلاً من الامتثال للسياسة. هذا أمر حاسم للتطبيقات التي تحتاج إلى قدرة النموذج الخام دون قيود اصطناعية.
تقدم واجهتنا نموذجًا مفتوح الأوزان واحدًا فقط، مُعدّلًا خصيصًا لهذا السلوك. لا يتم التوجيه بين البائعين أو تقديم خيارات متعددة للنماذج. تحصل على إخراجات متسقة وقابلة للتنبؤ من محرك معدل واحد. يبسط هذا تصحيح الأخطاء وضبط الأداء لأنك لا تتعامل مع شخصيات نماذج متغيرة أو طبقات تصفية مخفية.
على عكس مقدمي الخدمات العاميين، لا ندمج التضمينات أو توليد الصور أو معالجة الصوت. هذا يجعل الواجهة البرمجية خفيفة وسريعة. إذا كانت تطبيقك يتطلب قدرات متعددة الوسائط، فيجب عليك دمجها بشكل منفصل واستخدام هذه الواجهة البرمجية لتوليد النصوص فقط. يتركز هنا الاهتمام بشكل حصري على مخرجات نصية عالية الجودة وغير مقيدة مع نافذة سياق بحجم 100,000 رمز (token).
إعداد بيئة التطوير
يبدأ الدمج عن طريق تكوين بيئة التطوير الخاصة بك لتشير إلى Base URL الخاص بنا. هذه نقطة نهاية متوافقة مع OpenAI القياسية، لذا يمكنك استخدام أي OpenAI SDK رسمي أو مكتبة عميل متوافقة. تحتاج فقط إلى تغيير Base URL وتوفير مفتاح API.
يكون Base URL هو https://api.nofilteraichat.com/v1. معرف النموذج المراد إرساله في طلباتك هو uncensored. يعمل هذا النموذج على خوادمنا الخاصة وليس GPT أو Claude أو أي نموذج من مزود آخر. إنه نموذج مفتوح الأوزان مُعدّل للاستجابات بدون رقابة.
تأكد من أن بيئتك تدعم البث المتدفق عبر أحداث الإرسال من الخادم (SSE) إذا كنت تخطط لاستخدام الإخراجات في الوقت الفعلي. تدعم الواجهة المعلمات القياسية مثل temperature، top_p، stop، وseed. يمكنك أيضًا تمكين وضع JSON عن طريق تعيين response_format إلى {"type": "json_object"}.
نافذة السياق: 100,000 رمز إجماليًا (الموجّه + الإكمال). لا يوجد حد أقصى منفصل للإخراج، وإذا لم يتم تعيين max_tokens، يمكن أن يمتد الرد إلى نهاية النافذة.
المصادقة باستخدام مفاتيح API
يتم التعامل مع المصادقة عبر مفتاح API يُمرَّر في رأس Authorization. يمكنك التسجيل باستخدام متابعة باستخدام Google أو بريد إلكتروني وكلمة مرور في صفحة الحصول على مفتاح API. لا يلزم رقم هاتف.
عند إنشاء حساب، تحصل على مفتاح API واحد نشط. يظهر هذا المفتاح فورًا عند الإنشاء. إذا قمت بتوليد مفتاح جديد، يتم استبدال المفتاح القديم؛ لا ندعم مفاتيح متعددة متزامنة لكل حساب. يبسط هذا إدارة المفاتيح، لكنه يعني عدم إمكانية وجود مفاتيح منفصلة لبيئات مختلفة ضمن نفس الحساب.
يُستخدم المفتاح لتفويض الطلبات إلى نقطة النهاية /v1/chat/completions. لا تستهلك الأخطاء والرفضات (باستثناء الحد الصارم على المحتوى الجنسي البسيط) رصيدك المسبق الدفع. يُخصم الرصيد فقط مقابل استخدام الرموز (token) الفعلي.
الخصوصية: لا تُستخدم الموجّهات للتدريب. يحتاج الحساب فقط إلى عنوان بريد إلكتروني.
إرسال طلبك الأول
يجب أن يكون طلبك الأول هو إكمال دردشة بسيط للتحقق من الاتصال. استخدم نقطة النهاية POST /v1/chat/completions مع معرف النموذج uncensored.
إليك مثال على طلب أساسي:
curl https://api.nofilteraichat.com/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."}]
}'يرسل هذا الطلب موجّهًا ويتلقى استجابة نصية. سيجيب النموذج بدون تصفية للمحتوى البالغ القانوني. إذا كنت بحاجة إلى فرض نبرة أو تنسيق معين، استخدم رسالة system لتعيين التعليمات.
تذكر أن للواجهة البرمجية حدًا قدره 300 طلب في الدقيقة لكل مفتاح، وتسمح بـ 8 طلبات متزامنة. إذا تجاوزت هذه الحدود، ستتلقى خطأ حدّ المعدل. حجم جسم الطلب محدود بـ 8 MB. تأكد من أن عميلك يتعامل مع هذه الحدود بسلاسة من خلال تنفيذ إعادة المحاولة مع زيادة أسية.
تنفيذ استجابات البث المتدفق
يتم دعم البث عبر أحداث الإرسال من الخادم (SSE). يتيح لك هذا استقبال الرموز بمجرد توليدها، مما يوفر تجربة مستخدم أفضل للاستجابات الطويلة. تحتوي كل قطعة على جزء جزئي من الاستجابة.
مهم: تُدرج إحصائيات استخدام الرموز (token) (رموز الإدخال والإخراج) فقط في آخر قطعة من البث المتدفق. يجب عليك تجميع الفروق ثم معالجة القطعة النهائية للحصول على بيانات استخدام دقيقة لأغراض الفوترة.
إليك مثال على كيفية التعامل مع البث في الكود الخاص بك:
from openai import OpenAI
client = OpenAI(base_url="https://api.nofilteraichat.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)يضمن هذا النهج إمكانية عرض النص في الوقت الفعلي مع تتبع استهلاك الرموز بدقة. إذا حدث خطأ أثناء البث، قد ينتهي البث قبل الأوان. تحقق من القطعة النهائية أو حالة الخطأ للحصول على التفاصيل.
استخدام استدعاء الدوال
يدعم استدعاء الدوال عبر المعلمات tools وtool_choice. يسمح هذا للنموذج بإخراج بيانات هيكلية يمكن لتطبيقك تنفيذها. عرّف دوالك في مصفوفة tools، وسيعيد النموذج حقل tool_calls في الاستجابة عند الاقتضاء.
اضبط tool_choice على "auto" للسماح للنموذج باتخاذ القرار بشأن استدعاء دالة، أو حدد معرف دالة معينًا لفرض الاستدعاء. سيعيد النموذج اسم الدالة والحجج بتنسيق JSON.
هيكل المثال:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nofilteraichat.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);تأكد من أن عميلك يحلل مصفوفة tool_calls وينفذ الدوال. لا ينفذ النموذج الدوال بنفسه؛ هو يولد تعليمات الاستدعاء فقط. هذا نمط متوافق مع OpenAI القياسي، لذا يجب أن تعمل أي مكتبة تدعم استدعاء الدوال مع OpenAI هنا.
التعامل مع وضع JSON
يضمن وضع JSON أن يخرج النموذج JSON صالحًا تمامًا. هذا مفيد للتطبيقات التي تحتاج إلى بيانات هيكلية، مثل استجابات API أو ملفات التكوين. عيّن response_format إلى {"type": "json_object"} في طلبك.
عند تمكين وضع JSON، سيحاول النموذج إخراج كائن JSON صالح واحد. إذا كان الإخراج غير صالح، قد تعيد الواجهة خطأ أو استجابة مشوهة. تحقق دائمًا من صحة JSON على جانب العميل.
مثال:
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)هذا الوضع مفيد بشكل خاص لبناء الوكلاء أو التطبيقات التي تتطلب تنسيقات إخراج حتمية. يقلل من الحاجة إلى المعالجة اللاحقة لاستخراج البيانات الهيكلية من النصوص الحرة. لاحظ أن وضع JSON قد يزيد من زمن الاستجابة قليلاً بسبب القيد الإضافي على إخراج النموذج.
إدارة حدّ المعدل والأخطاء
يتم فرض حدّ المعدل عند 300 طلب في الدقيقة لكل مفتاح و8 طلبات متزامنة لكل مفتاح. حجم جسم الطلب محدود بـ 8 ميجابايت. إذا تجاوزت هذه الحدود، ستتلقى رمز حالة 429. نفذ زيادة الأسي في عميلك للتعامل مع إعادة المحاولة.
الأخطاء مثل المعلمات غير الصالحة أو مشاكل الخادم لا تستهلك الرصيد. الرفض للمحتوى البالغ القانوني أيضًا لا يستهلك الرصيد. الحد الصارم الوحيد الذي ينطبق دائمًا هو رفض المحتوى الجنسي الذي ينطوي على قاصرين، والذي سيستهلك الرموز إذا تمت معالجة الطلب.
الأسعار شفافة: $0.15 لكل مليون رمز إدخال و$0.50 لكل مليون رمز إخراج. الرصيد مسبق الدفع ولا ينتهي صلاحيته أبدًا. الأخطاء مجانية، لذا يمكنك التجربة دون القلق بشأن التكاليف. إذا واجهت مشكلة في الفوترة، استخدم صفحة الدعم للمساعدة.
