> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# قرارات مُصنَّفة بالأنواع باستخدام Jev

> استخدم Jev لتصنيف حالة التطبيق وتقييمها وتقدير درجاتها من خلال إجابات مُصنَّفة بالأنواع واحتمالات ودرجات ثقة.

معظم النماذج اللغوية مُصمَّمة لتوليد النصوص. عندما يحتاج التطبيق إلى قرار، فإن ذلك يعني في الغالب أن يُطلَب من النموذج إخراج JSON، ثم التحقق من الاستجابة، واستخراج القيمة التي تتحكم في الخطوة التالية.

Jev هو نموذج قرارات من نوع System One. فبدلًا من توليد نصوص وصفية، يُقيّم `state` مقابل أسئلة ذات أنواع إجابات محددة مسبقًا، ويعيد أحكامًا جاهزة للاستهلاك الآلي.

<Warning>
  Jev وواجهة Decisions API قيد الإصدار التجريبي. قد يتغيّر التوفر والسلوك دون إشعار مسبق.
</Warning>

## تذكرة دعم تتحوّل إلى قرار

لنفترض أن هذه الرسالة قد وصلت:

> فشلت مدفوعاتي منذ ثلاثة أيام ولم يردّ عليّ أحد. أرجو المساعدة في أسرع وقت.

يحتاج تطبيقك إلى معرفة الجهة التي يجب توجيه الرسالة إليها، وما إذا كانت عاجلة، ومدى إحباط العميل. أرسل الرسالة مرة واحدة واطرح الأسئلة الثلاثة معًا:

```bash cURL theme={"system"}
curl https://api.venice.ai/api/v1/decisions \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "فشلت مدفوعاتي منذ ثلاثة أيام ولم يردّ عليّ أحد. أرجو المساعدة في أسرع وقت.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Does this message require urgent attention?"
      },
      "department": {
        "type": "choice",
        "instructions": "Which team should handle this ticket?",
        "criteria": {
          "billing": "Payments, invoices, or refunds",
          "technical": "Bugs, outages, or integrations",
          "sales": "Pricing, upgrades, or new accounts"
        }
      },
      "frustration": {
        "type": "score",
        "instructions": "How frustrated is the customer?",
        "criteria": ["Calm", "Frustrated", "Very angry"]
      }
    }
  }'
```

يُعيد Jev إجابة واحدة تحت كل مُعرِّف سؤال:

```json theme={"system"}
{
  "model": "jev-latest",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.95
    },
    "department": {
      "type": "choice",
      "choice": "billing",
      "probabilities": {
        "billing": 0.95,
        "technical": 0.05,
        "sales": 0
      },
      "confidence": 0.93
    },
    "frustration": {
      "type": "score",
      "score": 1.27,
      "legend": {
        "0": "Calm",
        "1": "Frustrated",
        "2": "Very angry"
      },
      "probabilities": {
        "0": 0,
        "1": 0.73,
        "2": 0.27
      },
      "confidence": 0.6
    }
  },
  "usage": {
    "input_tokens": 429,
    "output_tokens": 73
  }
}
```

تختلف الاحتمالات من طلب إلى آخر. قيِّم Jev على أمثلة من تطبيقك الخاص قبل اختيار حدود العتبات للإنتاج.

## اختر شكل الإجابة

يدعم Jev ثلاثة أنواع من الأسئلة:

| النوع    | السؤال                                 | الإجابة                                                        |
| -------- | -------------------------------------- | -------------------------------------------------------------- |
| `noul`   | هل هذه العبارة صحيحة؟                  | احتمال من `0` (لا) إلى `1` (نعم)                               |
| `choice` | أيّ من الخيارات المُعرَّفة يناسب أكثر؟ | الخيار المُختار، واحتمال كل خيار، ودرجة الثقة                  |
| `score`  | أين يقع هذا على مقياس مُرتَّب؟         | درجة موزونة، ووسيلة إيضاح للمستويات، وتوزيع احتمالي، ودرجة ثقة |

### Noul: أصدر حكمًا ثنائيًا

استخدم Noul عندما يكون احتمال «نعم» مفيدًا مباشرةً:

```json theme={"system"}
{
  "refund_requested": {
    "type": "noul",
    "instructions": "هل يطلب العميل استرداد المبلغ صراحةً؟",
    "criteria": {
      "true": "العميل يطلب إعادة الأموال",
      "false": "العميل لا يطلب إعادة الأموال"
    }
  }
}
```

لا يحتوي Noul على حقل `confidence` منفصل. القيمة القريبة من `1` تعني «نعم» بقوة، والقريبة من `0` تعني «لا» بقوة، والقريبة من `0.5` تعني عدم اليقين.

### Choice: التوجيه أو التصنيف

استخدم Choice عندما يجب أن تكون الإجابة واحدة من مجموعة مغلقة:

```json theme={"system"}
{
  "request_type": {
    "type": "choice",
    "instructions": "ما الطلب الأساسي للعميل؟",
    "criteria": {
      "refund": "إعادة أموال مدفوعة سابقًا",
      "troubleshooting": "المساعدة في حل مشكلة في المنتج",
      "information": "الإجابة عن سؤال دون اتخاذ إجراء",
      "other": null
    }
  }
}
```

أضف خيار `other` أو `none` عندما قد لا تُغطّي الخيارات المُوفَّرة كل الحالات.

### Score: قياس طيف

استخدم Score عندما تقع الإجابة على مستويات مُرتَّبة:

```json theme={"system"}
{
  "severity": {
    "type": "score",
    "instructions": "ما مدى خطورة المشكلة المُبلَّغ عنها؟",
    "criteria": [
      "شكلية أو دون أثر جوهري",
      "سير العمل يتأثر لكن يوجد حل بديل",
      "سير عمل حرج مُعطَّل دون حل بديل"
    ]
  }
}
```

تبدأ فهارس المستويات من `0`. الدرجة المُعادة موزونة بالاحتمالات، لذا يمكن أن تقع بين مستويين.

## حوِّل الثقة إلى سلوك في التطبيق

تتضمن إجابات Choice وScore كلًّا من التوزيع الكامل وقيمة واحدة لـ `confidence` مُشتقّة منه. يتيح ذلك لِلْكود أن يتعامل مع الإجابة ودرجة اليقين بوصفهما إشارتين مستقلتين:

```javascript theme={"system"}
const department = result.answers.department;

if (department.confidence >= 0.9) {
  await routeTicket(department.choice);
} else if (department.confidence >= 0.6) {
  await askForConfirmation(department.choice);
} else {
  await sendToHumanReview();
}
```

استخدم عتبات أعلى للإجراءات المُكلِفة أو المُدمِّرة أو المالية أو التي يصعب التراجع عنها. لا تضمن درجة الثقة الصحة؛ بل تساعد تطبيقك على تحديد متى يجب عدم التصرف تلقائيًا.

## اطرح الأسئلة المترابطة معًا

يتلقى كل سؤال في الطلب نفس الحالة ويُقيَّم بشكل مستقل. لا تصبح إجابة القسم سياقًا خفيًا لسؤال الإحباط.

اجمع الأسئلة المستقلة عندما:

* تُقيِّم نفس المستند أو السجل أو المحادثة أو حالة التطبيق.
* قد يحتاج الكود الخاص بك إلى عدة إجابات اعتمادًا على النتيجة الأولى.
* تريد تجنّب إرسال نفس الحالة في طلبات متعددة.

قم بإجراء طلب ثانٍ فقط عندما تعتمد حالته أو الخيارات المتاحة اعتمادًا فعليًا على إجابة سابقة.

## استخدم حالة مُهيكلة

يمكن أن يكون `state` سلسلة نصية أو كائن JSON أو مصفوفة. تتيح الحالة المُهيكلة للأسئلة الإشارة إلى سجلات مُحدَّدة وسياق مُساند:

```json theme={"system"}
{
  "ticket": {
    "subject": "رسم مُكرَّر",
    "message": "تم خصم المبلغ منّي مرتين. يُرجى استرداد المبلغ المُكرَّر."
  },
  "account": {
    "plan": "pro"
  },
  "refund_policy": "الرسوم المُكرَّرة مؤهَّلة للاسترداد."
}
```

اكتب تعليمات كاملة وسمِّ الحقول ذات الصلة، على سبيل المثال: «هل يطلب `ticket.message` استردادًا تشمله `refund_policy`؟».

## اكتشف Jev وحدوده

استخدم مفتاح API الخاص بك عند إدراج نماذج القرارات لأن توفر النماذج قد يختلف بحسب الحساب:

```bash cURL theme={"system"}
curl "https://api.venice.ai/api/v1/models?type=decision" \
  -H "Authorization: Bearer $VENICE_API_KEY"
```

يدعم النموذج `jev-latest` حاليًا:

* حتى 32,000 رمز (توكن) لـ `state` مضافًا إليها أطول سؤال منفرد
* حتى 64,000 رمز (توكن) لـ `state` مضافًا إليها جميع الأسئلة مجتمعة
* مُدخلات نصية أو JSON مُهيكل

اعتبر واجهة Models API هي المرجع الموثوق، لأن الأسعار والحدود والتوفر قد تتغيّر.

## متى تستخدم نموذجًا آخر

استخدم Jev للأحكام المحدودة التي يمكن لبرنامجك التصرف بناءً عليها مباشرةً. استخدم نموذج محادثة أو نموذج استدلال عندما تحتاج إلى:

* نصوص أو تفسيرات مُولَّدة
* محادثة متعددة الأدوار
* استدعاء الأدوات
* إجابات مفتوحة
* سلسلة طويلة من الاستدلالات المترابطة

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

* [مرجع واجهة API لـ `POST /decisions`](/ar/api-reference/endpoint/decisions/create)
* [مرجع توافق TypeSafe لـ `POST /systemone`](/ar/api-reference/endpoint/decisions/systemone)
* [واجهة List Models API](/ar/api-reference/endpoint/models/list)
* [حدود معدل استخدام API](/ar/api-reference/rate-limiting)
