الانتقال إلى المحتوى الرئيسي
قدّمت OpenAI مؤخرًا واجهة لإنشاء استجابات النماذج. وفّر إدخالًا نصيًا أو صوريًا لإنشاء مخرجات نصية أو صورية. اجعل النموذج يستدعي التعليمات البرمجية المخصصة الخاصة بك أو يستخدم الأدوات المضمنة، مثل البحث على الويب أو البحث في الملفات، لاستخدام بياناتك الخاصة كمدخلات لاستجابة النموذج. تقدّم هذه الوثيقة بشكل رئيسي عملية استخدام OpenAI Responses API، وباستخدامها يمكننا بسهولة استخدام وظيفة إنشاء استجابات النماذج الرسمية من OpenAI.

GPT-6.1 Sol

استخدم model: "gpt-6.1-sol" لاختيار هذا النموذج. يدعم الإخراج المتدفق، واستدعاء الدوال، والإخراج المنظّم، وإدخال الصور. خلال الأسبوع الأول من الإتاحة، سيكون متاحًا فقط لحاملي ACE T1+ الذين تم التحقق منهم (100,000 ACE على الأقل) أو للمستخدمين المصرح لهم؛ ويُرجى الرجوع إلى تنبيه الوصول في وحدة التحكم لمعرفة وقت الإتاحة المحدد. تدعم مستويات الاستدلال low وmedium وhigh وxhigh وmax، ولا تدعم مؤقتًا none أو minimal. يُوصى بالبدء بـ reasoning: {"effort": "low"}. عند تجاوز الإدخال 272,000 token، ينطبق تسعير السياق الطويل على الطلب بالكامل، وتخضع الرسوم للسعر الحالي في وحدة التحكم.

عملية التقديم

لاستخدام OpenAI Responses API، انتقل أولًا إلى وحدة تحكم Ace Data Cloud للحصول على API Token الخاص بك، واحتفظ به كنسخة احتياطية. إذا لم تكن قد سجلت الدخول أو أنشأت حسابًا بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك إلى التسجيل وتسجيل الدخول، وبعد الإكمال ستعود تلقائيًا إلى الصفحة الحالية. يمكن لـ API Token واحد استدعاء جميع خدمات المنصة، ولا حاجة للتقديم بشكل منفصل لكل خدمة. سيُمنحك رصيد مجاني عند التقديم لأول مرة، ويمكنك التجربة مجانًا؛ وعندما لا يكون الرصيد كافيًا، يمكنك شحن الرصيد العام من وحدة التحكم.
📘 الوثائق الكاملة: OpenAI Responses API →

الاستخدام الأساسي

بعد ذلك، يمكنك تعبئة المحتوى المقابل في الواجهة، كما هو موضح في الصورة:

عند استخدام هذه الواجهة للمرة الأولى، نحتاج إلى تعبئة ثلاثة عناصر على الأقل. أحدها هو authorization، ويمكن اختياره مباشرة من القائمة المنسدلة. المعلمة الأخرى هي model، وmodel هي فئة نموذج OpenAI ChatGPT الرسمية التي نختار استخدامها، وهنا لدينا بشكل رئيسي 20 نموذجًا، ويمكنك الاطلاع على التفاصيل في النماذج التي نوفرها. المعلمة الأخيرة هي input، وinput هي مصفوفة كلمات السؤال التي ندخلها، وهي مصفوفة، ما يعني أنه يمكن رفع عدة كلمات سؤال في الوقت نفسه، وتحتوي كل كلمة سؤال على role وcontent، حيث يشير role إلى دور السائل، ونحن نوفر ثلاث هويات، وهي user وassistant وsystem. أما content الآخر فهو المحتوى المحدد لسؤالنا. وفي الوقت نفسه، يمكنك ملاحظة وجود توليد للكود المقابل للاستدعاء على الجانب الأيمن، ويمكنك نسخ الكود وتشغيله مباشرة، أو النقر مباشرة على زر «Try» للاختبار. المعلمات الاختيارية الشائعة:
  • max_tokens: يحدّ من الحد الأقصى لعدد tokens في الرد الواحد.
  • temperature: عشوائية التوليد، بين 0 و2، وكلما زادت القيمة زاد التشتت.
  • n: عدد الردود المرشحة التي يتم إنشاؤها دفعة واحدة.
  • response_format: إعداد تنسيق الإرجاع.
  • tools: تعريف استدعاء الدوال/الأدوات.
  • background: ما إذا كان التشغيل غير متزامن في الخلفية.

بعد الاستدعاء، نجد أن النتيجة المرجعة كما يلي:
تحتوي النتيجة المرجعة على عدة حقول، ويُعرّف كل منها كما يلي:
  • id، معرّف مهمة المحادثة التي تم إنشاؤها هذه المرة، ويُستخدم لتمييز مهمة المحادثة هذه بشكل فريد.
  • model ، نموذج OpenAI ChatGPT الرسمي المختار.
  • output، معلومات الإجابة التي يقدّمها ChatGPT لكلمة السؤال.
  • usage : معلومات إحصائية عن tokens لهذه الجلسة من السؤال والجواب.
من بينها، output يحتوي على معلومات إجابة ChatGPT، وoutput بداخله هو ChatGPT، ويمكن ملاحظة ذلك كما هو موضح في الصورة.

يمكن ملاحظة أن حقل content داخل output يحتوي على المحتوى المحدد لرد ChatGPT.

الاستجابة المتدفقة

تدعم هذه الواجهة أيضًا الاستجابة المتدفقة، وهذا مفيد جدًا لربط صفحات الويب، إذ يمكنه جعل صفحة الويب تحقق تأثير العرض حرفًا بحرف. إذا أردت إرجاع الاستجابة بشكل متدفق، يمكنك تغيير معلمة stream في رأس الطلب إلى true. يظهر التعديل كما في الصورة، لكن يجب أن يحتوي كود الاستدعاء على تعديلات مقابلة حتى يدعم الاستجابة المتدفقة.

بعد تعديل stream إلى true، ستعيد API بيانات JSON المقابلة سطرًا بسطر، وعلى مستوى الكود نحتاج إلى إجراء التعديلات المقابلة للحصول على النتائج سطرًا بسطر. كود استدعاء نموذجي لـ Python:
يكون تأثير الإخراج كما يلي:
يمكن ملاحظة أن الاستجابة تحتوي على العديد من data، وdelta داخل data هو أحدث محتوى للإجابة، وهو متوافق مع المحتوى المذكور أعلاه. يمثل delta محتوى الإجابة المضاف، ويمكنك دمجه في نظامك بناءً على النتيجة. تنتهي الاستجابة المتدفقة بحالة response.completed أو response.incomplete؛ ويُعد usage في الحالة النهائية هو إجمالي استخدام token النهائي لهذا الطلب، وهو أيضًا أساس الفوترة. إذا قطع العميل الاتصال قبل وصول الحالة النهائية، فسيُسجَّل هذا الطلب على أنه مغلق من قبل العميل (499)، ولن تتم الفوترة باستخدام token المقدّرة محليًا؛ وإذا انتهى الاتصال بشكل طبيعي ولكن لم يتم استلام الحالة النهائية وusage النهائي، فسيُسجَّل هذا الطلب على أنه استجابة غير مكتملة (502)، وبالمثل لن تتم الفوترة باستخدام token المقدّرة. عند مواجهة هاتين الحالتين، يُرجى إعادة إرسال الطلب. تتضمن نتيجة data المُعادة عدة حقول، وهي موضحة كما يلي:
  • item_id، معرّف مهمة المحادثة التي تم إنشاؤها هذه المرة، ويُستخدم للتمييز الفريد لمهمة المحادثة هذه.
  • type، نوع مهمة Responses للمحادثة التي تم إنشاؤها هذه المرة.
  • model ، نموذج OpenAI ChatGPT الرسمي المحدد.
  • delta، معلومات الإجابة التي يقدمها ChatGPT على نص السؤال.
يدعم JavaScript أيضًا، على سبيل المثال، يكون كود الاستدعاء المتدفق لـ Node.js كما يلي:
كود مثال Java:
يمكن إعادة كتابة اللغات الأخرى بشكل منفصل، والمبدأ واحد.

محادثات متعددة الجولات

إذا كنت ترغب في دمج وظيفة المحادثات متعددة الجولات، فستحتاج إلى تحميل عدة نصوص أسئلة في حقل input، ويُوضّح المثال المحدد لنصوص الأسئلة المتعددة في الصورة التالية:

كود استدعاء مثال Python:
من خلال تحميل عدة نصوص أسئلة، يمكن بسهولة تحقيق محادثات متعددة الجولات، ويمكن الحصول على الإجابة التالية:
يمكن ملاحظة أن المعلومات التي يحتويها output متوافقة مع محتوى الاستخدام الأساسي، وهو يتضمن المحتوى المحدد لرد ChatGPT على محادثات متعددة، وبهذه الطريقة يمكن الإجابة عن الأسئلة المقابلة بناءً على محتويات المحادثات المتعددة.

نموذج الرؤية

gpt-4o هو نموذج لغوي كبير متعدد الوسائط طوّرته OpenAI، ويضيف قدرة الفهم البصري على أساس GPT-4. يمكن لهذا النموذج معالجة مدخلات النصوص والصور في الوقت نفسه، ويحقق الفهم والتوليد عبر الوسائط المختلفة. تتوافق معالجة النصوص باستخدام نموذج gpt-4o مع محتوى الاستخدام الأساسي المذكور أعلاه، وفيما يلي مقدمة موجزة حول كيفية استخدام قدرات معالجة الصور الخاصة بالنموذج. تتمثل الطريقة الرئيسية لاستخدام قدرات معالجة الصور في نموذج gpt-4o بإضافة حقل type إلى محتوى content الأصلي، ومن خلال هذا الحقل يمكن معرفة ما إذا كان المرفوع نصًا أو صورة، وبالتالي استخدام قدرات معالجة الصور في نموذج gpt-4o. فيما يلي شرح رئيسي لاستخدام هذه الوظيفة عبر طريقتين: Curl وPython.
  • طريقة سكربت Curl
  • طريقة سكربت Python
بعد ذلك يمكن الحصول على النتيجة التالية، ومعلومات الحقول في النتيجة متوافقة مع ما ورد أعلاه، والتفاصيل كما يلي:
يمكن ملاحظة أن محتوى الإجابة يعتمد على الصورة، لذلك يمكن من خلال الطريقتين المذكورتين أعلاه استخدام قدرات معالجة النصوص والصور لنموذج gpt-4.1 بسهولة. إلى جانب gpt-4.1، يوجد أيضًا نموذج أقل تكلفة يُسمى gpt-4o-mini. يُعد gpt-4o-mini أحدث جيل من نماذج اللغة الكبيرة التي طورتها OpenAI، فهو لا يتميز بسرعة الاستجابة فحسب، بل إن سعره أقل أيضًا، ويدعم كذلك تعدد الوسائط. يمكن الرجوع إلى محتوى استخدام نموذج gpt-4.1 أعلاه لاستخدام وظيفة vision.

إنشاء نموذج معالجة الملفات

مثال للطلب:
نتيجة المثال:
كما يمكن ملاحظة، قمنا أيضًا بمعالجة الملف المُدخل، وكانت النتيجة مماثلة لما ورد أعلاه.

معالجة الأخطاء

عند استدعاء API، إذا واجهت خطأً، فستُرجع API رمز الخطأ والمعلومات المقابلة. على سبيل المثال:
  • 400 token_mismatched:طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.
  • 400 api_not_implemented:طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.
  • 401 invalid_token:غير مصرح به، رمز التفويض غير صالح أو مفقود.
  • 429 too_many_requests:طلبات كثيرة جدًا، لقد تجاوزت حد المعدل.
  • 500 api_error:خطأ داخلي في الخادم، حدث خطأ ما على الخادم.

مثال على استجابة خطأ

الخلاصة

من خلال هذه الوثيقة، أصبحت تعرف كيفية استخدام OpenAI Responses API لتنفيذ وظيفة إنشاء Responses الخاصة بـ OpenAI الرسمية بسهولة. نأمل أن تساعدك هذه الوثيقة على الربط واستخدام API بشكل أفضل. إذا كانت لديك أي أسئلة، فيُرجى الاتصال بفريق الدعم الفني لدينا في أي وقت.