ar ▾

البدء السريع لتكامل واجهة برمجة التطبيقات غير المقيدة

أدرج هذه الواجهة البرمجية (API) غير الخاضعة للرقابة في بنية النظام الحالية لديك باستخدام نقاط النهاية القياسية المتوافقة مع OpenAI. تحصل على وصول مباشر إلى نموذج واحد مُعدّل بتسعير شفاف بالعملات المشفرة وبدون تدريب على البيانات.

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

توصيل إلى openai compatible API عن طريق تحديث تكوين العميل الخاص بك للإشارة إلى https://api.openaicompatibleapiendpoints.com/v1. تحتاج إلى مفتاح API صالح يُرسل في Authorization رأس الصفحة كرمز حامل (Bearer token). هذا الإعداد يعمل مع مكتبات SDK الرسمية لـ OpenAI وأي مكتبة عميل متوافقة. لا حاجة لتكوين بوابة معقد.

curl https://api.openaicompatibleapiendpoints.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Return 500 status code"}]
  }'

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

نقطة نهاية إكمال الدردشة

أرسل الرسائل إلى POST /v1/chat/completions نقطة النهاية للحصول على استجابات نصية من uncensored النموذج. يتعامل هذا العنوان مع أدوار المحادثة القياسية ويدعم نافذة سياق تصل إلى 100,000 رمز. يمكنك تحديد حد أقصى للإخراج يبلغ 16,000 رمز لكل طلب. يجيب النموذج دون رفضات المحتوى للمواضيع البالغة القانونية.

from openai import OpenAI

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

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

استجابات البث

تمكين تسليم الرموز في الوقت الفعلي عن طريق ضبط stream: true في طلبك. يرسل الخادم سلسلة من أحداث خادم المراسلة (SSE) حتى يكتمل الرد. تظهر إحصائيات استخدام الرموز في الجزء الأخير من التدفق. يقلل هذا من زمن الاستجابة المُدرَك للمستخدمين الذين ينتظرون إجابات طويلة.

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 والأدوات

فرض إخراج منظم عن طريق تعيين response_format إلى {"type": "json_object"}. يضمن ذلك أن يُعيد النموذج بيانات JSON بدلاً من نص Markdown. يمكنك أيضًا استخدام tools المعامل لاستدعاء الوظائف. تدعم API tool_choice للتحكم الدقيق في الوظائف التي يستدعيها النموذج.

استخدام temperature و top_p لضبط العشوائية. اضبط seed لإنتاج نتائج قابلة لإعادة الإنتاج أثناء تصحيح الأخطاء. تعمل هذه المعاملات تمامًا كما هو متوقع في التكاملات القياسية المتوافقة مع OpenAI.

معالجة الأخطاء والحدود

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

يتيح كل مفتاح ثمانية طلبات متزامنة. يتم تحديد حجم جسم الطلب بـ 8 ميجابايت. لا تُصدر استرداداً للرصيد المستخدم، لكن الأخطاء أثناء المعالجة مجانية. تحقق دائماً من error كائن في استجابة JSON للتفاصيل.

نافذة السياق وتفاصيل النموذج

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

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

Node.js

import OpenAI from "openai";

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

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

كيف أبدأ مع هذه الواجهة المتوافقة مع OpenAI؟

سجّل باستخدام Google أو البريد الإلكتروني للحصول على مفتاح API على الفور. أضف عنوان URL الأساسي ومفتاحك إلى عميلك المتوافق مع OpenAI. تحصل على رصيد تجريبي بقيمة $0.50 لاختبار النموذج غير الخاضع للرقابة دون إدخال تفاصيل الدفع.

هل تدعم هذه الواجهة (API) التدفق للاستجابات في الوقت الفعلي؟

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

ماذا يحدث إذا تجاوزت حد معدل الطلب؟

ستتلقى خطأ 429 Too Many Requests. الحد هو 300 طلب في الدقيقة لكل مفتاح. يمكنك ترقية رصيدك المدفوع مسبقاً لضمان استمرارية الخدمة، لكن حد معدل الطلب ينطبق بغض النظر عن رصيدك. تحقق من لوحة الاستخدام الخاصة بك للحصول على الإحصائيات الحالية.

احصل على مفتاح API الخاص بك

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

ابدأ الآن