ar ▾

مستندات واجهة API المتوافقة مع OpenAI

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

البدء السريع: التوصيل مع مكتبة OpenAI

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

curl https://api.openaiapicompatible.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Return the current UTC timestamp in ISO 8601 format"}]
  }'
from openai import OpenAI

client = OpenAI(base_url="https://api.openaiapicompatible.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)
import OpenAI from "openai";

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

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

أرسل نصًا إلى نقطة نهاية الدردشة الوحيدة لدينا للحصول على مخرجات نصية مباشرة. نستخدم POST /v1/chat/completions لمعالجة مطالباتك وإرجاع النص المولد. هذا هو التفاعل الأساسي لمعظم تطبيقات نماذج اللغات الكبيرة (LLM)، ولا يتطلب توجيهًا معقدًا أو مكالمات خدمات إضافية.

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)

البث مع أحداث الخادم (SSE)

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

استدعاء الوظائف ووضع JSON

دمج الأدوات وفرض المخرجات المهيكلة لتفاعلات برمجية موثوقة. استخدم معلمة الأدوات (tools) لتحديد مخططات الوظائف، واضبط response_format على json_object لضمان الامتثال الصارم لـ JSON. يتعامل نموذجنا غير الخاضع للرقابة مع التعليمات المعقدة وحالات الحافة دون رفض الطلبات الوظيفية الصالحة.

حدود معدل الطلبات والمعلمات

راقب استخدامك مقابل حدود صارمة لكل مفتاح لتجنب انقطاع الخدمة. يُسمح لك بـ 300 طلب في الدقيقة وثمانية طلبات متزامنة لكل مفتاح، مع حد حجم جسم يبلغ 8 ميجابايت. تشير أخطاء مثل 401 (مفتاح غير صالح)، و 402 (لا يوجد رصيد)، و 429 (حد معدل الطلب) إلى حالات حسابية محددة.

نافذة السياق والقيود

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

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

هل هذه الواجهة متوافقة مع مكتبات SDK الخاصة بـ OpenAI؟

نعم، متوافق تمامًا مع مكتبات العملاء القياسية الخاصة بـ OpenAI. ما عليك سوى تحديث عنوان URL الأساسي ومفتاح API في تكوينك. هذا يتيح لك استخدام الكود الحالي دون إعادة هيكلة كبيرة.

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

تُعيد الـ API رمز الحالة 429 عند تجاوز 300 طلب في الدقيقة أو ثمانية اتصالات متزامنة. قلل من وتيرة طلباتك أو وزع الحمل عبر مفاتيح متعددة إذا كان ذلك متاحاً.

هل تخزن طلباتي للتدريب؟

لا تُستخدم طلباتك لتدريب النماذج. نولي الخصوصية أولوية من خلال الحد الأدنى من بيانات الحساب وعدم الاحتفاظ ببيانات الإدخال الخاصة بك لأغراض تحسين النموذج.

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

سجّل، خذ المفتاح، واستبدل عنوان URL الأساسي. تمّ.