المظهر
اللغة

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

فرض إخراج JSON باستخدام response_format. وضعان: json_object (أي JSON صالح) وjson_schema (التزام صارم بالمخطط). أمثلة بلغة curl وPython.

تجبر المعلمة response_format النموذج على إرجاع JSON صالح. ويُدعم وضعان.

json_object mode

يضمن الطُراز أن المخرجات بصيغة JSON صحيحة. أنت تحدّد البنية في موجّه النظام.

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "response_format": { "type": "json_object" },
    "messages": [
      {"role": "system", "content": "Reply with JSON with fields: name (string), score (number)."},
      {"role": "user", "content": "Rate this answer: very good"}
    ]
  }'

json_schema mode

التزام صارم بـ JSON Schema — يملأ النموذج الحقول المحددة بالضبط. مدعوم في GPT-5.x والنماذج المتوافقة.

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "response_format": {
      "type": "json_schema",
      "json_schema": {
        "name": "review",
        "strict": true,
        "schema": {
          "type": "object",
          "properties": {
            "name": { "type": "string" },
            "score": { "type": "number", "minimum": 1, "maximum": 10 },
            "summary": { "type": "string" }
          },
          "required": ["name", "score", "summary"],
          "additionalProperties": false
        }
      }
    },
    "messages": [
      {"role": "user", "content": "Rate this product: fast delivery, careful packaging"}
    ]
  }'
مع strict: true يوجّه البوابة الطلب فقط إلى متغيّرات النموذج التي تحترم المخطط فعليًا، وهي تفعل ذلك في كل محاولة — بما في ذلك التحوّل إلى مورّد احتياطي. وإذا لم يتوفر أي متغيّر مناسب في هذه اللحظة تحصل على خطأ صريح structured_output_unsupported بدلًا من نص عادي حيث طُلب JSON. هذا الحاجز مبني على قياسات ويغطي فقط المتغيّرات التي قِسناها: أما المتغيّر غير المقيس فقد يتجاهل المورّد المخطط بصمت.
تختلف النماذج في مدى التزامها بـ JSON — تحقق من نموذجك. قياس بتاريخ 2026-09-12 على deepseek-v4-flash-0731، بواقع 10 استدعاءات لكل خلية: حلّل json_object النتيجة 10/10 على المتغيّرين :cxa و:cxbc و8/10 على :network، بينما حلّل json_schema الصارم 0/10 على المتغيّرين (:cxa يجيب بـ 400، و:cxbc يجيب بـ 200 بنص عادي) و3/10 على :network. ولا يمتلك API الخاص بـ DeepSeek وضع json_schema — استخدم json_object، وعندما تحتاج شكلًا واحدًا بالضبط، أعاد استدعاء دالة مفروض (tools + tool_choice) وسائط قابلة للتحليل 10/10 على كل متغيّر. وتوجد الأرقام لكل متغيّر في الحقل structuredOutput من GET /v1/model-capabilities. وكل رقم قراءة لمرة واحدة مختومة بتاريخها (measurement: "point-in-time")، وليس وعدًا: فقد يتغير المزوّد الذي يقف خلف المتغيّر، ونحن لا نعيد القياس وفق جدول منتظم.

استجابة مثال

{
  "id": "chatcmpl-...",
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "{\"name\":\"product X\",\"score\":9,\"summary\":\"Fast and convenient\"}"
    },
    "finish_reason": "stop"
  }],
  "usage": { "prompt_tokens": 42, "completion_tokens": 18, "total_tokens": 60 }
}
المخرجات المُهيكلة في GetVibe API — JSON Schema وjson_object وPython | GetVibe API