حول هذه الأداة
تتيح المخرجات المُهيكَلة للنموذج أن يُرجع JSON يتوافق مع مخطّط تُعرّفه أنت، بدلاً من نص حر عليك تحليله والأمل في صحّته. يُجمّع هذا المُنشئ ذلك المخطّط حقلًا حقلًا — الأسماء والأنواع والأوصاف وأعلام الإلزام والتعدادات والكائنات أو المصفوفات المُتداخلة — ويصدّره بالشكل الدقيق الذي يتوقّعه كل مزوّد: JSON Schema خام، وأغلفة response_format وأداة الدوال الخاصة بـ OpenAI، وtool input_schema الخاص بـ Anthropic، وresponseSchema الخاص بـ Google Gemini، إضافةً إلى تعريفات Zod وPydantic جاهزة للصق.
لوضع المخرجات المُهيكَلة الصارم في OpenAI قواعد تستحق المعرفة: يجب إدراج كل خاصيّة بوصفها مطلوبة، ويجب أن تكون additionalProperties هي false. يطبّق المُنشئ هذه القواعد تلقائيًا في صادرات OpenAI، ويُنبّه إلى أيّ شيء قد يخالفها، بحيث يعمل المخطّط الذي تنسخه فعلًا. الصق عيّنة JSON موجودة لاستنتاج مخطّط مبدئي، ثمّ نقّحه.
تُبنى المخطّطات وتُصدَّر بالكامل في متصفّحك — لا يُرفَع أيّ شيء ممّا تكتبه.
الأسئلة الشائعة
ما هي المخرجات المُهيكَلة واستخدام الأدوات؟
كلاهما يطلب من النموذج إرجاع JSON مُطابق لمخطّط. تُقيّد المخرجات المُهيكَلة إجابة النموذج النهائية بشكل تُعرّفه أنت؛ أمّا استدعاء الأدوات (الدوال) فيصف الوسائط التي قد يُنتجها النموذج عندما يقرّر استدعاء إحدى دوالك. وتنسيق المخطّط الأساسي واحد في الحالتين.
لماذا يتطلّب الوضع الصارم في OpenAI أن يكون كل حقل مطلوبًا؟
يضمن الوضع الصارم أنّ المخرجات تُحقّق مخطّطك دون مفاجآت، ولفعل ذلك يمنع الخصائص الاختيارية والإضافية. لجعل حقل ما اختياريًا فعليًا، اجعل نوعه قابلًا لقيمة null — اتحاد مع null — مع إبقائه ضمن قائمة المطلوبة.
ما الفرق بين صادرات OpenAI وAnthropic وGemini؟
يكون JSON Schema مشتركًا إلى حد كبير، لكنّ كل مزوّد يغلّفه بشكل مختلف: يُضمّنه OpenAI تحت response_format أو أداة دالة مع strict: true، ويتوقّعه Anthropic بوصفه tool input_schema، ويستخدم Gemini الـ responseSchema بتعداده الخاص للأنواع المدعومة. تُصدِر هذه الأداة الغلاف الصحيح لكل واحد منها.
هل يمكنني توليد كود Zod أو Pydantic؟
نعم. إلى جانب صيغ المزوّدين، يُخرِج المُنشئ مخطّط Zod لـ TypeScript ونموذج Pydantic لـ Python حتّى تتمكّن من التحقّق من الاستجابة في كودك الخاص.