المظهر
اللغة
·3 دقائق للقراءة

وضع JSON والمخرجات المهيكلة: ما الذي تدعمه النماذج؟

مصفوفة حسب النموذج لوضع JSON في GetVibe API، والفرق بين json_object وjson_schema، وخيار احتياطي يعمل مع كل نموذج: استدعاءات الأدوات الإلزامية.

وضع JSON والمخرجات المهيكلة: ما الذي تدعمه النماذج؟

إذا كان الكود لديك يحلل إجابة النموذج، فأنت بحاجة إلى JSON يمكن تحليله في كل استدعاء. توجد ثلاث طرق للحصول عليه عبر GetVibe API: وضع json_object، ووضع json_schema الصارم، واستدعاءات الأدوات الإلزامية. تختلف النماذج في الطرق التي تدعمها. توضح هذه المقالة المصفوفة من كتالوجنا، وتبيّن النهج المناسب لكل حالة.

النهُج الثلاثة

  • response_format: {"type": "json_object"}: يعيد النموذج JSON صالحًا. وتصف الحقول في prompt.
  • response_format: {"type": "json_schema", ...} مع strict: true: يملأ النموذج المخطط الذي تمرره بدقة. وتدعم GPT-5.x والنماذج المتوافقة هذا الخيار.
  • استدعاء أداة إلزامي (tools مع tool_choice لتسمية دالة واحدة): يعيد النموذج معاملات الدالة بصيغة JSON المطابقة لمخطط معاملات الدالة. تدعم كل نماذج النصوص في كتالوجنا استدعاء الأدوات، لذا فهذا هو الخيار القابل للنقل بين النماذج.

المصفوفة

عمود وضع JSON هو caps.jsonMode من https://getvibeapi.com/api/catalog، وقد تمت قراءته في 25 سبتمبر 2026.

النموذجوضع JSONاستدعاء الأدواتالسعر
GPT-6 Lunaنعمنعم$0.0055 الإدخال · $0.0274 الإخراج لكل مليون رمز
GPT-6 Solنعمنعم$0.1096 الإدخال · $0.548 الإخراج لكل مليون رمز
GPT-6 Astraلانعم$0.548 الإدخال · $2.7398 الإخراج لكل مليون رمز
GPT-5.6 Sol (وكذلك Luna وTerra)نعمنعم$0.0667 الإدخال · $0.40 الإخراج لكل مليون رمز
Claude Opus 5.5نعمنعم$0.1067 الإدخال · $0.5334 الإخراج لكل مليون رمز
Claude Sonnet 5نعمنعم$0.3334 الإدخال · $1.6667 الإخراج لكل مليون رمز
Gemini 3.1 Proنعمنعم$0.2515 الإدخال · $1.5086 الإخراج لكل مليون رمز
Gemini 3.8 Flash (وكذلك 3.7 Flash)لانعم$0.0097 الإدخال · $0.0483 الإخراج لكل مليون رمز
DeepSeek V4.1 Flashنعمنعم$0.0112 الإدخال · $0.0445 الإخراج لكل مليون رمز
Qwen3.8 Max (وكذلك 3.8 Flash)نعمنعم$0.1543 الإدخال · $0.4629 الإخراج لكل مليون رمز
Kimi K3نعمنعم$0.1715 الإدخال · $0.8572 الإخراج لكل مليون رمز
MiniMax M3نعمنعم$0.0148 الإدخال · $0.0591 الإخراج لكل مليون رمز
Tencent Hy4 Previewنعمنعم$0.0334 الإدخال · $0.1001 الإخراج لكل مليون رمز
GLM-5.3 (وكذلك 5.3 Flash و5.2)لانعم$0.10 الإدخال · $0.3143 الإخراج لكل مليون رمز

بالنسبة إلى النماذج المعلّمة بـ"لا"، استخدم استدعاء أداة إلزاميًا، أو صِف JSON في prompt وتحقق منه من جانبك.

ما الذي يفعله الوضع الصارم من جانبنا؟

عند استخدام strict: true في طلب json_schema، توجّه البوابة الطلبات فقط إلى إصدارات النماذج التي تلتزم فعليًا بالمخطط. ويُطبَّق ذلك في كل محاولة، بما في ذلك التحويل إلى نسخة احتياطية. وإذا لم يتوفر إصدار مناسب، فستحصل على خطأ صريح structured_output_unsupported بدلًا من نص عادي في الحالات التي كان متوقعًا فيها JSON. ويستند هذا الإجراء الوقائي إلى قياساتنا، ولا يشمل سوى الإصدارات التي قمنا بقياسها.

إحدى الحالات المعروفة: لا توفر واجهة DeepSeek API الخاصة بها وضع json_schema. بالنسبة إلى نماذج DeepSeek، استخدم json_object، أو استدعاء أداة إلزاميًا عندما تحتاج إلى بنية واحدة محددة تمامًا.

أمثلة

مخطط صارم:

from openai import OpenAI
import json

client = OpenAI(base_url="https://getvibeapi.com/v1", api_key="sk-pv-...")
schema = {
    "type": "object",
    "properties": {"name": {"type": "string"}, "score": {"type": "number"}},
    "required": ["name", "score"],
    "additionalProperties": False,
}
resp = client.chat.completions.create(
    model="gpt-6-luna",
    response_format={"type": "json_schema",
                     "json_schema": {"name": "review", "strict": True, "schema": schema}},
    messages=[{"role": "user", "content": "قيّم هذا المنتج: توصيل سريع وتغليف متقن"}],
)
print(json.loads(resp.choices[0].message.content))

استدعاء أداة إلزامي، ويعمل مع النماذج التي لا توفر وضع JSON:

resp = client.chat.completions.create(
    model="gemini-3.8-flash",
    tools=[{"type": "function", "function": {"name": "save_review", "parameters": schema}}],
    tool_choice={"type": "function", "function": {"name": "save_review"}},
    messages=[{"role": "user", "content": "قيّم هذا المنتج: توصيل سريع وتغليف متقن"}],
)
args = json.loads(resp.choices[0].message.tool_calls[0].function.arguments)

تحقق دائمًا

حتى عند استخدام وضع JSON، تحقّق من الكائن المحلَّل مقابل مخططك قبل استخدامه، وأعد المحاولة عند الفشل. يزداد ذلك أهمية في المخرجات الطويلة، حيث تكون الاستجابة التي توقفت عند max_tokens عبارة عن JSON مبتور. تحقّق من finish_reason: تعني length أن الإجابة توقفت قبل اكتمالها.

الخطوات التالية

اقرأ وثائق المخرجات المهيكلة ودليل استدعاء الأدوات، أو ابحث عن نموذج منخفض التكلفة يدعم JSON في قائمة أرخص واجهات LLM API لدينا.

وضع JSONالمخرجات المهيكلةresponse_format json_schemaمخرجات JSON لنماذج LLMjson_object مقابل json_schemaاستدعاء الدوال بصيغة JSON

جرّب GetVibe API مجانًا

GPT وClaude وGemini والمزيد من خلال واجهة API واحدة متوافقة مع OpenAI. ادفع بالدولار الأمريكي عبر البطاقة أو العملات الرقمية.

مقالات ذات صلة

وضع JSON والمخرجات المهيكلة: ما الذي تدعمه النماذج؟ | GetVibe API