المخرجات المهيكلة

تتيح المخرجات المهيكلة للنموذج إرجاع البيانات وفق صيغة JSON التي تحددها، وهي مناسبة لسيناريوهات مثل استخراج البيانات والتصنيف والوسم وتعبئة النماذج.

JSON Mode#

أبسط طريقة للمخرجات المهيكلة، تجبر النموذج على إرجاع JSON صالح:

Python

الكود
from openai import OpenAI
 
client = OpenAI(
    base_url="https://as.apinoma.com/v1",
    api_key="<مفتاح APINOMA_API_KEY الخاص بك>"
)
 
response = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[
        {"role": "system", "content": "أنت مساعد لاستخراج البيانات. أعد النتائج بصيغة JSON."},
        {"role": "user", "content": "استخرج اسم الشخص والشركة والمنصب من النص التالي: تشانغ سان مهندس أول في علي بابا"}
    ],
    response_format={"type": "json_object"}
)
 
import json
result = json.loads(response.choices[0].message.content)
print(result)
# {"name": "تشانغ سان", "company": "علي بابا", "title": "مهندس أول"}

TypeScript

عند استخدام JSON Mode، يجب أن يحتوي system prompt على الكلمة المفتاحية “JSON”، وإلا فقد تتجاهل بعض النماذج متطلب الصيغة.

قيود JSON Schema#

تحكّم أدق في بنية المخرجات لضمان توافق أسماء الحقول وأنواعها مع المتوقع:

الكود
response = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[
        {"role": "user", "content": "حلّل مشاعر تعليق المستخدم التالي: هذا المنتج رائع وسهل الاستخدام جدًا!"}
    ],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "sentiment_analysis",
            "schema": {
                "type": "object",
                "properties": {
                    "sentiment": {
                        "type": "string",
                        "enum": ["positive", "negative", "neutral"],
                        "description": "اتجاه المشاعر"
                    },
                    "confidence": {
                        "type": "number",
                        "description": "درجة الثقة 0-1"
                    },
                    "keywords": {
                        "type": "array",
                        "items": {"type": "string"},
                        "description": "الكلمات العاطفية المفتاحية"
                    }
                },
                "required": ["sentiment", "confidence", "keywords"],
                "additionalProperties": False
            }
        }
    }
)

المخرجات:

سيناريوهات الاستخدام العملية#

استخراج البيانات

الكود
# استخراج بيانات مهيكلة من نص غير مهيكل
response = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[{
        "role": "user",
        "content": """استخرج معلومات الطلب التالية:
        قام العميل لي سي بتقديم طلب في 15 يناير 2025 لشراء 3 أجهزة MacBook Pro،
        بسعر الوحدة 18999 يوان، وعنوان التسليم هو رقم 123 طريق xxx، منطقة تشاويانغ، بكين"""
    }],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "order_info",
            "schema": {
                "type": "object",
                "properties": {
                    "customer": {"type": "string"},
                    "date": {"type": "string"},
                    "items": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "name": {"type": "string"},
                                "quantity": {"type": "integer"},
                                "unit_price": {"type": "number"}
                            }
                        }
                    },
                    "address": {"type": "string"}
                },
                "required": ["customer", "date", "items", "address"]
            }
        }
    }
)

التصنيف والوسم

النماذج المدعومة#

النموذج

JSON Mode

JSON Schema

`openai/gpt-4o`

`openai/gpt-4o-mini`

`anthropic/claude-sonnet-4.6`

`google/gemini-pro-compatible-flash-lite-preview`

يمكن للنماذج التي لا تدعم JSON Schema تحقيق تأثير مماثل عبر وصف صيغة JSON المتوقعة بالتفصيل في system prompt.

آخر تحديث في 23 يونيو 2026