كيفية استخدام الاستجابات المهيكلة
لاستخدام “response_format” بشكل صحيح، يمكنك تعريف مخططك بـ “properties” مختلفة، تمثل فئات المخرجات، كل منها بأنواع بيانات مكوّنة بشكل فردي. يمكن تضمين هذه الكائنات لإنشاء هياكل أكثر تقدمًا من المخرجات. فيما يلي مثال على استدعاء API باستخدام response_format لشرح عملية حل معادلة رياضية خطوة بخطوة. يمكنك أن ترى أن الخصائص تم تكوينها لتتطلب كلًا من “steps” و “final_answer” ضمن الاستجابة. ضمن التداخل، تتكون فئة steps من كل من “explanation” و “output”، كل منهما كسلاسل نصية.عقبات
فيما يلي بعض المتطلبات الرئيسية التي يجب وضعها في الاعتبار عند استخدام المخرجات المهيكلة عبر response_format:- قد تستغرق الطلبات الأولية باستخدام response_format وقتًا أطول لتوليد استجابة. لن تشهد الطلبات اللاحقة نفس زمن الاستجابة الذي شهده الطلب الأول.
-
للاستعلامات الأكبر، يمكن أن يفشل النموذج في الإكمال إذا تم الوصول إلى
max_tokensأو timeout النموذج، أو إذا تم انتهاك أي حدود معدل - تنسيق المخطط غير الصحيح سيؤدي إلى أخطاء عند الإكمال، عادة بسبب timeout
- على الرغم من أن response_format يضمن أن يُخرج النموذج بطريقة معينة، إلا أنه لا يضمن أن النموذج قدم المعلومات الصحيحة بالداخل. المحتوى مدفوع بالـ prompt وأداء النموذج.
- المخرجات المهيكلة عبر response_format غير متوافقة مع استدعاءات الدوال المتوازية
-
مهم: يجب أن تتضمن جميع الحقول أو المعاملات علامة
required. لجعل حقل اختياريًا، تحتاج إلى إضافة خيارnullضمنtypeللحقل، هكذا"type": ["string", "null"] -
من الممكن جعل الحقول اختيارية بإعطاء خيار
nullضمن الحقل المطلوب للسماح باستجابة فارغة. -
مهم: يجب تعيين
additionalPropertiesإلى false ليعمل response_format بشكل صحيح -
مهم: يجب تعيين
strictإلى true ليعمل response_format بشكل صحيح