المتطلبات الأساسية: تثبيت حزمة تطوير OpenAI
ابدأ بتثبيت مكتبة OpenAI الرسمية للغتك. تتعامل هذه المكتبة مع المصادقة، وإعادة المحاولة، وتحليل البيانات بتنسيق JSON، مما يلغي الحاجة إلى كتابة عملاء HTTP من الصفر. تستخدم واجهة برمجة التطبيقات الخاصة بنا نفس الواجهات القياسية مثل الخدمة الأصلية، مما يعني أن منطق الكود الحالي الخاص بك يبقى سليماً.
تحتاج فقط إلى بيئة Python أو Node.js صالحة. تدير SDK العمل الشاق لك.
- Python:
pip install openai - Node.js:
npm install openai
قم بتكوين عنوان URL الأساسي ومفتاح API
وجّه عميلك إلى نقطة النهاية المخصصة. استبدل عنوان URL الأساسي الافتراضي بنطاقنا المحدد لتوجيه حركة المرور إلى النماذج غير الخاضعة للرقابة. يجب عليك أيضاً تقديم مفتاح واجهة برمجة التطبيقات (API) الخاص بك من لوحة التحكم.
تعزل هذه الخطوة طلباتك عن الموردين الآخرين. تأكد من استخدام عنوان URL الأساسي المقدم أدناه بالضبط.
from openai import OpenAI
client = OpenAI(base_url="https://api.unrestrictedaigpt.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.unrestrictedaigpt.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 الأول الخاص بك
أرسل طلب إكمال محادثة قياسي. استخدم معرف النموذج uncensored لضمان الحصول على النموذج الصحيح. تقبل واجهة برمجة التطبيقات المعايير القياسية مثل temperature و max_tokens.
curl https://api.unrestrictedaigpt.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run python script to sort list numerically"}]
}'سيحتوي الرد على النص المولد. إذا كنت بحاجة إلى معالجة الأخطاء، فافحص رمز الحالة.
التعامل مع استجابات التدفق عبر SSE
فعّل البث عن طريق تعيين stream: true. يعيد هذا تدفق الأحداث المرسلة من الخادم (Server-Sent Events). تعالج كل قطعة عند وصولها، مما يقلل من زمن الاستجابة المُدرَك للمخرجات الطويلة.
تتضمن الشريحة النهائية إحصائيات استخدام الرموز الشاردية. يتيح لك ذلك تتبع التكاليف في الوقت الفعلي.
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
استخدم ال tools معامل لتمكين استدعاء الوظائف. عرّف مخطط الوظيفة واترك النموذج يقرر متى يستدعيها. يمكنك أيضاً فرض مخرجات JSON باستخدام response_format لهياكل البيانات الصارمة.
تعمل كلتا الميزتين تمامًا كما تعمل في واجهة برمجة التطبيقات القياسية لـ OpenAI.
حدود، أخطاء، ونافذة السياق
تفرض واجهة برمجة التطبيقات (API) لدينا حدودًا صارمة لضمان الاستقرار. تحصل على نافذة سياق بحجم 100,000 رمز. الحد الأقصى للإخراج لكل طلب هو 16,000 رمز. أنت محدود بـ 300 طلبًا في الدقيقة. يعني الخطأ 401 أن مفتاحك غير صالح. يعني الخطأ 402 أنه لا يوجد لديك رصيد. يعني الخطأ 429 أنك وصلت إلى حد معدل الطلبات. لا تستهلك الأخطاء والرفضات الرصيد.