1. ابدأ بعقد للاستجابة المنظّمة
لا يكون إصلاح الاستجابة مفيدًا إلا إذا كان الطلب يطلب مخرجات منظّمة بالفعل. حالات مناسبة:response_format.type = "json_object"- مخرجات بأسلوب JSON Schema
- بنية كائن ثابتة يستخدمها أكثر من مستدعٍ
2. فعّل الإضافة في المستوى المناسب
يمكنك تفعيلresponse-healing في ثلاثة مواضع:
- سياسة الإضافات الافتراضية لمساحة العمل
- إعداد الإضافات المسبقة في إعداد مُسبق
pluginsلكل طلب
- مساحة العمل
- الإعداد المسبق
- الطلب
3. حدّد شكل مخرجات النموذج
يعمل الإصلاح على نحو أفضل عندما يكون شكل المخرجات المطلوبة محددًا مسبقًا. توصيات:- كائن واحد بدلًا من كتل متعددة غير مترابطة
- تحديد المفاتيح المطلوبة بوضوح
- استخدام درجة حرارة حتمية متى أمكن
- عدم طلب نص تفسيري إضافي خارج حمولة JSON
4. تعرّف على ما يستطيع إصلاح الاستجابة فعله وما لا يستطيع
مسار الإصلاح الحالي حتمي ولا يعمل إلا من دون البث. وتتجاوز طلبات البث الإصلاح بالكامل. يمكنه إصلاح:- أسوار تعليمات Markdown البرمجية المحيطة بـ JSON
- الفواصل الزائدة في نهاية القوائم
- أقواس الإغلاق الآمنة المفقودة
- مفاتيح الكائنات غير المحاطة بعلامات اقتباس في الكائنات التي يمكن استعادتها بطرق أخرى
strict. يستخرج هذا الوضع JSON الصالح مسبقًا فقط من الأسوار أو النص المحيط، ويتجاوز تحويلات الإصلاح النحوي الأوسع.
عندما يستخدم الطلب مخرجات بأسلوب JSON Schema، يتحقق الإصلاح أيضًا من الحمولة المستعادة قبل إعادة كتابتها. ويتحقق المدقّق الحالي من القيود الشائعة، مثل:
- المفاتيح المطلوبة
- الأنواع الأساسية للقيم المفردة والحاويات
- التعدادات وقيم const
- حدود المصفوفات و
uniqueItems - أطوال السلاسل والتعابير النمطية والتنسيقات الشائعة مثل
emailوuriوuuidوdate-time - حدود الأرقام و
multipleOf - حدود خصائص الكائن و
additionalProperties: false
- اختراع حقول دلالية مفقودة
- تخمين قيم الأعمال
- تحويل نثر عشوائي إلى بيانات صالحة
5. تحقّق من تشغيل الإضافة فعليًا
عند تشغيل الإصلاح، ينبغي أن تعرض تفاصيل الطلب معلومات عن تنفيذ الإضافة. تحقق من:- معرّف الإضافة
- ما إذا كانت قد حاولت إجراء تحويل
- ما إذا كانت الحمولة قد تغيّرت
- سبب الفشل عندما تعذرت استعادة الاستجابة
- ما إذا كان الطلب بلا بث عندما توقعت تشغيل الإصلاح
6. ميّز بين مشكلات المحلّل ومشكلات المحتوى
إذا لم يساعد الإصلاح، فحدّد نوع الإخفاق:- JSON غير سليم لكنه قريب بنيويًا من الشكل المتوقع
- JSON صالح وفق المخطط لكن حقوله غير صحيحة
- نثر بدلًا من JSON
- مخرجات مبتورة بسبب انخفاض حد الرموز
7. أطلق الميزة تدريجيًا
- فعّل الإصلاح في إعداد مُسبق واحد ذي مخرجات منظّمة مستقرة
- راقب بيانات تنفيذ الإضافة الوصفية في السجلات
- تأكد من مطابقة الحمولات المستعادة للمخطط المتوقع
- وسّع الإعداد إلى إعدادات مسبقة مشابهة فقط بعد التأكد من سلامة السجلات
8. اختر الوضع المناسب
- استخدم
safeعندما يستفيد سير العمل من تنظيف نحوي محدود، مثل إزالة الفواصل النهائية أو وضع علامات اقتباس حول المفاتيح غير المحاطة بها. - استخدم
strictعندما ينبغي ألا يقبل سير العمل إلا JSON صالحًا مسبقًا بعد إزالة الأغلفة. - راجع تفاصيل الطلب لتأكيد الوضع الذي تم تشغيله.