المخرجات المهيكلة
ضمان تنسيق ثابت 100%
أحمد: "مشكلتي أن البرومبت يعطيني JSON صحيح 90% من الوقت، لكن 10% يكسر التنسيق!" سارة: "10% فشل يعني في 1000 طلب، 100 سيفشلون. هل هذا مقبول؟" أحمد: "لا طبعاً!" سارة: "لهذا OpenAI أطلقت في 2024 ميزة 'Structured Outputs'. بدل أن 'تطلب' JSON، أنت 'تفرض' JSON." أحمد: "كيف؟" سارة: "تحدد Schema - خريطة للشكل المطلوب. النموذج مجبر على اتباعها. لا يوجد 90%... إما 100% أو خطأ واضح يمكنك معالجته."
📐 Structured Outputs (OpenAI 2024)
**المخرجات المهيكلة** - ضمان التنسيق: **الفكرة:** • تحدد JSON Schema (خريطة الهيكل) • النموذج مُلزم باتباعها • لا يوجد احتمال كسر التنسيق **الفوائد:** ✅ موثوقية 100% في التنسيق ✅ لا حاجة للتحقق اليدوي ✅ أخطاء واضحة وقابلة للمعالجة ✅ تكامل سهل مع الأنظمة الأخرى
📋 مثال: Schema بسيط
```json { "type": "object", "properties": { "summary": { "type": "string", "maxLength": 200 }, "keywords": { "type": "array", "items": {"type": "string"}, "maxItems": 5 }, "sentiment": { "type": "string", "enum": ["positive", "negative", "neutral"] } }, "required": ["summary", "keywords", "sentiment"] } ``` 💡 الآن المخرج **مضمون** يحتوي هذه الحقول بالأنواع الصحيحة!
🛠️ البرومبت المحسن
**بدون Structured Outputs:** ``` حلل النص وأعطني ملخص وكلمات مفتاحية... ``` ❌ قد يعطي تنسيقات مختلفة **مع Structured Outputs:** ``` حلل النص التالي. أجب بـ JSON يطابق هذا الهيكل بالضبط: - summary: ملخص 200 حرف كحد أقصى - keywords: قائمة 5 كلمات مفتاحية كحد أقصى - sentiment: إما positive أو negative أو neutral النص: {input_text} ``` ✅ تنسيق مضمون ومتسق
🔬 تمرين 6: بناء Schema
**المهمة:** صمم Schema لتحليل تقييمات العملاء **المطلوب في كل تحليل:** • rating: رقم من 1-5 • category: (product/service/delivery/other) • issues: قائمة المشاكل المذكورة • action_required: boolean • priority: (high/medium/low) **اكتب:** 1. الـ JSON Schema 2. البرومبت الذي يستخدمه 3. اختبر مع 5 تقييمات مختلفة ⏱️ الوقت: 20 دقيقة
