عنوان URL الأساسي والمصادقة
تواصل مع واجهة برمجة التطبيقات باستخدام عنوان URL الأساسي المقدم ومفتاح واجهة برمجة التطبيقات الخاص بك. تعمل هذه النقطة النهائية مع مكتبات OpenAI القياسية من خلال تحديث الإعدادات فقط. تحصل على مفتاح نشط واحد لكل حساب، والذي يمكنك إنشاؤه عبر Google أو البريد الإلكتروني أثناء التسجيل. يقوم المفتاح بمصادقة كل طلب ترسله إلى الخدمة.
curl https://api.hubuncensored.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate a JSON object with user id and role"}]
}'حافظ على أمان مفتاحك. إذا أنشأت مفتاحًا جديدًا، يصبح المفتاح السابق غير صالح على الفور. يضمن ذلك تحكمك دائمًا في الوصول إلى رصيدك المدفوع مسبقًا دون أذونات معلقة.
نقطة نهاية إكمال الدردشة
أرسل بيانات التلميح إلى نقطة إكمال الدردشة لتوليد النص. هذه الواجهة الأساسية لتطبيقاتك، حيث تتعامل مع جميع مدخلات ومخرجات النصوص. يجب أن تحدد النموذج على أنه 'uncensored' لضمان سلوك متسق. يعالج الـ API طلبك ويعيد استجابة النص المُولّد.
from openai import OpenAI
client = OpenAI(base_url="https://api.hubuncensored.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)أخطاء مثل 401 تشير إلى مفتاح غير صالح، بينما 402 تعني أنك بحاجة إلى المزيد من الرصيد. تُ charged الطلبات بناءً على استخدام الرموز الفعلي، لذا لا تستنزف الأخطاء رصيدك.
استجابات البث عبر SSE
استلم الرموز (Tokens) في الوقت الفعلي باستخدام أحداث الإرسال من الخادم (SSE). تقلل هذه الطريقة من زمن الاستجابة المُدرَك للمخرجات الطويلة عن طريق تسليم البيانات بمجرد توليدها. يمكنك تحليل الكتلة الأخيرة للحصول على إحصائيات دقيقة لاستخدام الرموز (Tokens) للفوترة. البث مثالي لواجهات المستخدم الموجهة للمستخدمين حيث يهم التغذية الراجعة الفورية.
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)تسمح نافذة السياق بـ 100,000 رمز إجمالاً، بما في ذلك المطالبة والإكمال. التدفق لا يغير حدود الرمز الأساسية أو هيكل التسعير.
استدعاء الوظائف ووضع JSON
استخدم استدعاء الوظائف لتكامل المخرجات المنظمة في سير عملك. حدد الأدوات وtool_choice لتوجيه تنسيق استجابة النموذج. يمكنك أيضًا فرض وضع JSON الصارم باستخدام معامل response_format للتحليل الموثوق. هذا يضمن أن تطبيقك يتلقى البيانات بالهيكل الذي تحدده بالضبط.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.hubuncensored.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، و Stop
تحكّم في سلوك التوليد باستخدام معاملات قياسية مثل درجة الحرارة وtop_p. اضبط هذه القيم لتحقيق التوازن بين الإبداع والحتمية في مخرجاتك. تتيح لك معلمة stop إيقاف التوليد عند تسلسلات محددة. يمكنك أيضًا ضبط presence_penalty وfrequency_penalty لتحسين نمط المخرجات.
تعيين max_tokens إلى 16,000 للاستجابات الطويلة. إذا حذفت max_tokens، فإن القيمة الافتراضية هي 2,048 رمز لكل طلب. تعطي هذه الإعدادات تحكماً دقيقاً في عملية التوليد.
حدود، أخطاء، ونافذة السياق
راقب استخدامك مقابل حدود معدل الطلب الصارمة لضمان التشغيل السلس. يُسمح لك بـ 300 طلب في الدقيقة و 8 طلبات متزامنة لكل مفتاح. الحد الأقصى لحجم جسم الطلب هو 8 ميجابايت. يؤدي تجاوز هذه الحدود إلى إرجاع خطأ حد معدل الطلب 429. يساعد فهم هذه القيود في تصميم منطق إعادة المحاولة القوي.
تدعم نافذة السياق إجمالي 100,000 رمز موزع. يشمل ذلك كلًا من النص الأولي المدخل والإكمال المُولّد. خطط لاستخدام الرموز وفقًا لذلك لتجنب الحذف أو الأخطاء.