الأدلة الأساسية

القرارات

احصل على احتمالات وخيارات ونتائج (scores) محددة النوع من نموذج اتخاذ القرار

POST /v1/systemone يقوم بتقييم state واحد مقابل أسئلة مسماة ويعيد إجابة واحدة محددة النوع لكل سؤال. الاستجابة عبارة عن JSON متزامن: احتمال، أو اسم خيار، أو نتيجة (score) يمكن للكود الخاص بك مقارنتها والتفرع بناءً عليها. لا يعيد هذا الطلب نصاً مولداً.

القرارات أم الدردشة

استخدم القرارات عندمااستخدم الدردشة عندما
يحتاج الكود الخاص بك إلى رقم أو تسمية لاتخاذ إجراءيقرأ شخص أو نموذج آخر الإجابة
تقوم بتوجيه أو تصنيف أو حجب طلب: استرداد أم لا، أي فريق، ما مدى الاستعجالتحتاج إلى تفسيرات أو ملخصات أو نصوص مسودة
تطرح عدة أسئلة ثابتة حول نفس المدخلات في استدعاء واحدتحتاج إلى أدوات أو بث (streaming) أو صور أو رسائل متعددة الجولات

لا تقبل نقطة نهاية القرار messages أو tools أو stream أو عناصر تحكم الدردشة الأخرى، وهي غير متاحة في Batch. احتفظ بنموذج الدردشة الرئيسي الخاص بك مهيأً بشكل منفصل.

اختر نموذجاً

curl "https://api.tokenlab.sh/v1/models?recommended_for=decision" \
  -H "Authorization: Bearer sk-your-api-key"

يمكنك أيضاً التصفية باستخدام category=decision. اقرأ GET /v1/models/{model} للنموذج المحدد قبل إرسال الطلبات، وأرسل معرف النموذج بشكل صريح. تستخدم الأمثلة في هذه الصفحة jev-1.13.

شكل الطلب

الحقلالنوعملاحظات
modelstringمعرف نموذج القرار
statestring, JSON object, or JSON arrayالمدخلات المراد تقييمها، مثل تذكرة أو نص أو سجل
questionsobjectسؤال واحد على الأقل. كل مفتاح هو اسم سؤالك؛ وكل قيمة تحتوي على type و instructions و criteria

تقبل instructions وكل معيار أيضاً سلسلة نصية أو كائن JSON أو مصفوفة JSON. يرفض الطلب الحقول غير المعروفة.

typecriteriaالإجابة
noulاختياري. كائن يحتوي على توجيهات true و falsenoul: احتمال من 0 إلى 1 بأن العبارة صحيحة
choiceمطلوب. كائن يحتوي على 1–255 من أسماء الخيارات، كل منها مرتبط بتوجيه أو nullchoice: أحد أسماء خياراتك. يمكن أن يتضمن probabilities و confidence
scoreمطلوب. مصفوفة مرتبة من 2–10 من أوصاف المستوياتscore: رقم من 0 إلى فهرس المصفوفة الأخير؛ يمكن أن يكون كسرياً. يمكن أن يتضمن legend و probabilities و confidence

تقييم تذكرة

curl https://api.tokenlab.sh/v1/systemone \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-1.13",
    "state": "I was charged twice. Please refund the duplicate payment.",
    "questions": {
      "refund_requested": {"type": "noul", "instructions": "Is a refund requested?"},
      "department": {
        "type": "choice", "instructions": "Which team should handle this?",
        "criteria": {"refunds": "Charges and refunds", "technical": "Software bugs"}
      },
      "urgency": {
        "type": "score", "instructions": "Rate urgency",
        "criteria": ["Routine enquiry", "Money affected", "Safety emergency"]
      }
    }
  }'

تحتفظ الاستجابة بأسماء أسئلتك تحت answers. القيم أدناه توضيحية:

{
  "model": "jev-1.13",
  "answers": {
    "refund_requested": {"type": "noul", "noul": 0.97},
    "department": {"type": "choice", "choice": "refunds"},
    "urgency": {"type": "score", "score": 1}
  },
  "usage": {"input_tokens": 96, "output_tokens": 12}
}

استخدام الإجابات

  • يحصل كل سؤال على إجابة من نفس type، تحت نفس الاسم.
  • إجابة noul هي احتمال، وليست قيمة منطقية (Boolean). اختر حدك الخاص لكل إجراء.
  • إجابة choice هي دائماً أحد أسماء الخيارات التي أرسلتها.
  • إجابة score تقوم بفهرسة مصفوفة criteria الخاصة بك: 1 أعلاه تعني "تأثر الأموال".
  • اختبر القرارات مقابل حالاتك المصنفة الخاصة قبل أن تؤدي إلى استرداد الأموال أو التصعيد أو إجراءات أخرى.

الاستخدام من MCP

يكشف خادم TokenLab MCP عن evaluate_decisions في ملفات تعريف core و full. استدعِ list_models مع {"category":"decision"} و get_model أولاً، ثم مرر نفس model و state و questions كمعاملات للأداة. اقرأ structuredContent.answers و structuredContent.usage من النتيجة. تعيد الأداة نتيجة متزامنة ولا تستخدم استطلاع المهام غير المتزامنة (async task polling).

الاستخدام من SDKs

توفر مكتبة TokenLab JavaScript SDK 0.1.2+ الدالة evaluateDecisions(body)؛ وتوفر Python SDK 0.1.2+ الدالة evaluate_decisions(body). الجسم (body) هو نفس JSON الخاص بطلب HTTP. كلاهما يحافظ على الإجابات محددة النوع والاستخدام ولا يعيد تشغيل الطلب الفاشل تلقائياً. انظر SDKs.

التكلفة وإعادة المحاولة

  • يتم محاسبة القرارات بالرموز (tokens)، من usage.input_tokens و usage.output_tokens في الاستجابة، وفقاً لأسعار الرموز الحالية للنموذج.
  • الأسعار قابلة للتغيير. اقرأ تفاصيل تسعير النموذج أو Pricing API بدلاً من كتابة السعر بشكل ثابت (hard-coding).
  • يمكن للنموذج الإبلاغ عن رموز الإخراج حتى عندما يكون سعر الإخراج صفراً.
  • تتبع الطلبات خيار التسليم الخاص بك. انظر الفواتير والتسعير.
  • مهلة زمنية (timeout) تجعل النتيجة غير مؤكدة. تحقق من الطلب في سجلاتك أو وحدة التحكم (Console) قبل إرسال طلب مدفوع مرة أخرى.

الأخطاء الشائعة

العرضالسبب المحتملالحل
400 في حقل مثل messages أو streamحقول الدردشة ليست جزءاً من نقطة النهاية هذهأرسل فقط model و state و questions
400 في criteriaيحتوي choice على 0 أو أكثر من 255 خياراً، أو يحتوي score على أقل من 2 أو أكثر من 10 مستويات، أو يفتقر كائن noul إلى true أو falseأصلح تعريف السؤال
يتم تنفيذ الإجراءات بناءً على إشارات ضعيفةتم التعامل مع احتمال noul على أنه صحيح أو خاطئقارن مقابل حد قمت باختباره

مرجع API

الموضوعالمرجع
تقييم القراراتتقييم القرارات
قائمة النماذجسرد النماذج
التسعيرPricing API
الفوترة والتسعيرBilling & Pricing

في هذه الصفحة