واجهة برمجة تطبيقات OpenAI Codex: البدء السريع مع Python
يوضح هذا الدليل كيفية استخدام نموذج الذكاء الاصطناعي اللغوي غير الخاضع للرقابة مع مكتبات OpenAI SDK القياسية عبر واجهة برمجة التطبيقات المتوافقة مع OpenAI. يمكنك البدء في إرسال الطلبات فوراً من خلال تحديث عنوان URL الأساسي ومفتاح واجهة برمجة التطبيقات.
تثبيت SDK الرسمي
استخدم الحزمة الرسمية لضمان التوافق مع واجهة برمجة التطبيقات (API) الخاصة بنا التي تعمل كـ proxy لـ OpenAI. تعمل هذه الطريقة مع أي مكتبة قياسية تدعم بروتوكول OpenAI.
- ثبّت الحزمة عبر مدير الحزم المفضل لديك.
- تحقق من التثبيت عن طريق استيراد المكتبة.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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.openaicodexapi.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);
تعيين عنوان URL الأساسي والمفتاح
وجّه عميلك إلى نقطة نهاية بوابة openai للوصول إلى نموذج الذكاء الاصطناعي غير الخاضع للرقابة. استبدل عنوان URL الأساسي الافتراضي بنقطة النهاية المحددة لدينا.
- اضبط مفتاح API في متغيرات البيئة الخاصة بك.
- قم بتكوين عنوان URL الأساسي إلى
https://api.openaicodexapi.com/v1.
يضمن هذا التوجيه الصحيح لطلباتك إلى خوادمنا دون تعديل هيكل الرمز الحالي الخاص بك.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'
أرسل طلبك الأول
أرسل إكمال نص بسيط لاختبار الاتصال. استخدم معرف النموذج uncensored للطلب.
- عرّف محتوى الرسالة.
- نفّذ الطلب.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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.openaicodexapi.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);يُرجع الرد النص المولد مباشرة.
تمكين التدفق ووضع JSON
تدفق الاستجابات لتأخير زمني أقل أو فرض وضع JSON للبيانات المهيكلة. قم بتعيين stream=true للتسليم الفوري للرموز.
- استخدام
response_formatلإخراج JSON. - التعامل مع الشرائح في كودك.
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)curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'يساعدك البثّ على عرض النتائج الجزئية بسرعة.
التعامل مع الأدوات واستدعاء الوظائف
عرّف الأدوات في طلبك لتمكين استدعاء الوظائف. حدد تعريفات الأدوات واترك للنموذج أن يقرر متى يستخدمها.
- عرّف مخطط الدالة.
- قم بتحليل استدعاءات الأدوات في الاستجابة.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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.openaicodexapi.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);تتيح هذه الميزة التكامل مع الأنظمة الخارجية.
حدود، أخطاء، ونافذة السياق
راقب استخدامك لتجنب حدود معدل الطلب أو الأخطاء. تدعم نافذة السياق 100,000 رمز إجمالاً.
- عالج أخطاء 401 للمفاتيح غير الصالحة.
- التعامل مع أخطاء 402 لعدم كفاية الرصيد.
- التعامل مع أخطاء 429 لحدود معدل الطلب.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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.openaicodexapi.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)الأسئلة الشائعة
ما هي واجهة برمجة التطبيقات OpenAI Codex؟
إنه واجهة برمجة تطبيقات (API) لنموذج لغوي كبير غير خاضع للرقابة ومتوافق مع بروتوكول OpenAI. يمكنك استخدامه مع أدوات SDK القياسية عن طريق تحديث عنوان URL الأساسي.
كيف أتعامل مع الأخطاء؟
تشمل الأخطاء الشائعة 401 للمفاتيح غير الصالحة، و402 لعدم وجود رصيد، و429 لحدود معدل الطلب. تحقق من رصيد حسابك وصحة المفتاح.
ما هو حجم نافذة السياق؟
نافذة السياق هي 100,000 رمز لكل من الطلب والاستجابة مجتمعة. الحد الأقصى للإخراج هو 16,000 رمز لكل طلب.
احصل على مفتاح API الخاص بك
سجّل، انسخ المفتاح، وحدّد عنوان URL الأساسي. هذا كل شيء.