المتطلبات المسجلة والإعداد
لاستخدام مُوكِل api الخاص بـ openai الخاص بنا، تحتاج إلى SDK الرسمي للغتك ومفتاح API صالح. سجّل في لوحة التحكم للحصول على مفتاحك فورًا. لا تحتاج إلى بطاقة ائتمان للتجربة. اضبط متغيري بيئة: OPENAI_API_KEY بمفتاحك، وOPENAI_BASE_URL الذي يشير إلى نقطة النهاية الخاصة بنا. يضمن هذا النهج عمل الكود الحالي الخاص بك دون تعديل، مما يعمل كـ وكيل llm شفاف لتطبيقاتك.
تستخدم خدمتك النموذج غير الخاضع للرقابة uncensored بمعرف النموذج القياسي. ونظراً لأننا نعمل كوكيل لنموذج واحد، فلا حاجة لك لإدارة منطق التوجيه المعقد. عنوان URL الأساسي هو https://api.openaiapiproxy.com/v1. بمجرد التكوين، يتعامل عميلك مع خدمتنا تماماً كما يتعامل مع أي نقطة نهاية متوافقة مع OpenAI.
الطلب الأول وإعداد Python
ابدأ بإرسال طلب إكمال محادثة بسيط. يؤكد هذا المصادقة والاتصال. يستخدم المثال التالي موجّه نصي أساسي للتحقق من سلوك بدون رقابة. استبدل القيم النائبة ببيانات الاعتماد الفعلية الخاصة بك.
لمطوّري Python، تتعامل المكتبة الرسمية openai مع التعقيد. ما عليك سوى توجيه العميل إلى عنوان URL الأساسي. يوضح الكود أدناه طلب متزامن قياسي. يرسل موجّهًا ويعيد استجابة النموذج. هذه هي أسرع طريقة للتحقق من تكاملك.
تأكد من تحميل متغيرات البيئة قبل إنشاء مثيل العميل. يستخدم SDK تلقائيًا التنسيق القياسي لـ OpenAI للطلبات والاستجابات.
تكامل Node.js
إذا كنت تبني باستخدام Node.js، فإن العملية مماثلة لـ Python. استخدم حزمة @ai-sdk/openai أو حزمة npm الرسمية openai. وجّه العميل إلى عنوان URL الأساسي وقم بتوفير مفتاح API الخاص بك. يتعامل SDK مع تسلسل JSON والطلبات HTTP نيابةً عنك.
يعمل هذا الإعداد مع أي مكتبة عميل متوافقة مع OpenAI. يمكنك إعادة استخدام قوالب الموجّهات وهياكل الرسائل الحالية. يتطابق تنسيق الاستجابة مع مخطط OpenAI القياسي، مما يسهل التبديل بين المزودين إذا لزم الأمر لاحقًا.
تذكر معالجة الأخطاء بسلاسة. ستؤدي مشكلات الشبكة أو المفاتيح غير الصالحة إلى إرجاع أخطاء HTTP القياسية. تحقق من الوثائق الخاصة بإصدار SDK المحدد لديك للحصول على تفاصيل حول معالجة الأخطاء.
الاستجابات المتدفقة
لتطبيقات الوقت الحقيقي، فعّل البث المتدفق لتلقي الرموز بمجرد إنشائها. يقلل هذا من زمن الاستجابة المُدرَك للمستخدمين النهائيين. يدعم SDK أحداث SSE بشكل أصلي. تتكرر عبر تدفق الاستجابة لمعالجة كل رمز.
البث المتدفق مثالي لواجهات الدردشة حيث يتوقع المستخدمون ملاحظات فورية. يولد النموذج النص باستمرار، ويمكنك إرفاق كل رمز بواجهة المستخدم. يوفر هذا تجربة مستخدم أكثر سلاسة مقارنة بالانتظار للحصول على الاستجابة الكاملة.
تستخدم نقطة النهاية للبث المتدفق نفس عنوان URL الأساسي والمصادقة. لا تحتاج سوى إلى تمكين علم stream في معاملات الطلب. يتعامل SDK مع دورة حياة الاتصال واستعادة الخطأ.
حدود المعدل والقيود
تفرض الـ API لدينا حدوداً صارمة لضمان الموثوقية. يُسمح لك بـ 300 طلب في الدقيقة لكل مفتاح API. الحد الأقصى لحجم جسم الطلب هو 8 MB. إذا تجاوزت حدّ المعدل، ستتلقى رمز الحالة 429. قم بتنفيذ استراتيجية إعادة المحاولة مع زيادة أسية في العميل الخاص بك لمعالجة هذه الأخطاء بسلاسة.
تعيد أخطاء المصادقة رمز الحالة 401 إذا كان المفتاح غير صالح أو ملغى. تعيد مشكلات الدفع رمز الحالة 402 عندما ينفد رصيدك المسبق الدفع. تتوفر الشحنات الفورية عبر العملات المشفرة (USDT أو USDC). لا ينتهي رصيدك المسبق الدفع أبدًا، لذا يمكنك الدفع عند الاستخدام.
نافذة السياق هي 100,000 رمز للإدخال والإخراج معًا. خطط لموجهاتك لتجنب القطع. سيتوقف النموذج عن التوليد إذا وصل إلى الحد.
النماذج وسياسة المحتوى
النموذج الوحيد المتاح هو uncensored، وهو نموذج مفتوح الأوزان مُحسّن للمحتوى البالغ القانوني والكتابة الإبداعية. لا يرفض المواضيع المثيرة أو الصريحة افتراضيًا. هذا يجعله مثاليًا لحالات الاستخدام حيث قد تكون النماذج القياسية مقيدة للغاية.
لا نقدم خدمات التضمين (embeddings)، أو توليد الصور، أو معالجة الصوت. هذه API للنصوص فقط. النموذج ليس GPT أو Claude أو أي نموذج من مورد آخر. إنه مُعدّل خصيصاً للبنية التحتية لدينا.
يتم حظر المحتوى الجنسي الذي يتضمن قاصرين دائمًا. يُسمح بجميع المحتويات القانونية الأخرى. لا نستخدم موجّهاتك للتدريب. تبقى بياناتك خاصة وتُستخدم فقط لتوليد الاستجابة لطلبك.
cURL
curl https://api.openaiapiproxy.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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapiproxy.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.openaiapiproxy.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)