ما هي واجهة API متوافقة مع OpenAI؟

يتيح العديد من موفّري LLM وخوادم الاستدلال المستضافة ذاتيًا - بما في ذلك OpenAI نفسها وAzure OpenAI وGroq وOpenRouter وTogether AI وMistral وDeepSeek وvLLM وخادم llama.cpp ووضع Ollama المتوافق مع OpenAI - واجهة REST نفسها التي اشتهرت بها OpenAI: طلبات JSON إلى نقاط نهاية مثل /v1/chat/completions، مع المصادقة باستخدام token من نوع Bearer في ترويسة Authorization. يتيح لك ذلك تبديل الموفّرين من دون إعادة كتابة رمز التكامل الخاص بك.

تعني كتابة أمر cURL صحيح يدويًا لنقاط النهاية هذه ضبط عنوان URL والترويسات ونص JSON بدقة، خصوصًا عند ضبط معلمات أخذ العينات مثل درجة الحرارة والعقوبات، أو التبديل بين طلبات المحادثة وطلبات الإكمال القديمة وطلبات embeddings.

وصف الأداة

تنشئ هذه الأداة أوامر cURL جاهزة للاستخدام لأي API متوافقة مع OpenAI. حدّد عنوان URL الأساسي ونقطة النهاية والنموذج والمعلمات، واحصل فورًا على أمر cURL منسّق بشكل صحيح، جاهز للصقه في الطرفية أو في البرامج النصية.

أمثلة

إكمال محادثة:

curl -X POST "https://api.openai.com/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "gpt-4o-mini",
  "messages": [
    { "role": "system", "content": "أنت مساعد مفيد لكتابة التعليمات البرمجية." },
    { "role": "user", "content": "اكتب دالة Python لعكس string" }
  ],
  "temperature": 0.3,
  "stream": false
}'

خادم مستضاف ذاتيًا (vLLM وllama.cpp وLM Studio و...):

curl -X POST "http://localhost:8000/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "llama-3-8b-instruct",
  "messages": [
    { "role": "user", "content": "لخّص حبكة مسرحية هاملت في جملتين" }
  ],
  "stream": true
}'

Embeddings:

curl -X POST "https://api.openai.com/v1/embeddings" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "text-embedding-3-small",
  "input": "يقفز الثعلب البني السريع فوق الكلب الكسول"
}'

الميزات

  • يدعم نقاط النهاية الثلاث الأكثر شيوعًا والمتوافقة مع OpenAI: /chat/completions و/completions و/embeddings
  • يعمل مع أي عنوان URL أساسي متوافق، لذا فهو مناسب لـOpenAI وAzure وGroq وOpenRouter وTogether AI والخوادم المستضافة ذاتيًا على حد سواء
  • معلمات أخذ العينات القابلة للضبط: درجة الحرارة، وtop-p، وعقوبة التكرار، وعقوبة الحضور، والحد الأقصى لعدد tokens، وعدد عمليات الإكمال، وتسلسلات الإيقاف، وseed
  • تنسيق استجابة اختياري على شكل كائن JSON لإكمالات المحادثة
  • لا يتم إرسال أي شيء إلى أي مكان - إذ يُبنى أمر cURL بالكامل في متصفحك، ولا يغادر مفتاح API جهازك مطلقًا

شرح الخيارات

الخيار الوصف القيمة الافتراضية النطاق
عنوان URL الأساسي جذر API، من دون مسار نقطة النهاية. https://api.openai.com/v1 أي URL
نقطة النهاية نقطة نهاية API المستهدفة. /chat/completions chat وcompletions وembeddings
درجة الحرارة تتحكم في عشوائية المخرجات. تنتج القيم المنخفضة نصًا أكثر تركيزًا، بينما تزيد القيم المرتفعة من الإبداع. 1 0-2
Top P حد أخذ عينات النواة. يأخذ النموذج في الاعتبار الـtokens التي يصل احتمالها التراكمي إلى هذه القيمة. 1 0-1
عقوبة التكرار تفرض عقوبة على الـtokens استنادًا إلى عدد مرات ظهورها سابقًا، ما يقلل التكرار الحرفي. 0 -2-2
عقوبة الحضور تفرض عقوبة على الـtokens التي ظهرت سابقًا بأي عدد من المرات، ما يشجع النموذج على طرح مواضيع جديدة. 0 -2-2
الحد الأقصى للـtokens الحد الأقصى لعدد الـtokens التي سيتم توليدها في الاستجابة. اتركه فارغًا لحذفه واستخدام القيمة الافتراضية للموفّر. - أي عدد صحيح
عمليات الإكمال (n) عدد خيارات المحادثة/الإكمال التي سيتم توليدها للإدخال. 1 أي عدد صحيح
Seed seed ثابت للحصول على مخرجات قابلة لإعادة الإنتاج قدر الإمكان. اتركه فارغًا للحصول على نتائج عشوائية. - أي عدد صحيح
تسلسلات الإيقاف قائمة مفصولة بفواصل من التسلسلات التي يتوقف عندها API عن توليد المزيد من الـtokens. - أي نص
تنسيق الاستجابة اضبطه على كائن JSON لإجبار النموذج على إرجاع مخرجات JSON صالحة (لنقطة نهاية المحادثة فقط). لا شيء لا شيء / كائن JSON
البث عند تفعيله، تُبث الاستجابة على شكل أحداث مرسلة من الخادم. عطّله لتلقي الاستجابة كاملة دفعة واحدة. معطّل مفعّل / معطّل