سنجه، مدلهای تصمیم
تصمیمهای بسته روی متن فارسی با سنجه: مدلها، سه نوع پرسش، نمونه و محدودیتها
سنجه متن فارسی را میخواند و به پرسشهای بسته جواب میدهد: یک گزینه از چند گزینه، بله یا خیر، یا یک پله روی یک طیف. متن تولید نمیکند؛ در یک گذر برای هر گزینه احتمال برمیگرداند. کاربردهای رایجش دستهبندی تیکت، مسیریابی درخواست، تشخیص شکایت، تحلیل نظر و بررسی محتواست.
POST https://api.dana.expert/v1/decideمدلها
| مدل | مقدار model | اندازه | دقت | مناسب برای |
|---|---|---|---|---|
| قناری (پیشفرض) | ghanari | حدود ۰٫۸ میلیارد پارامتر | ۶۵٪ | حجم بالا و جواب سریع، مثل بررسی ورودی و مسیریابی درخواست |
| کبوتر | kabootar | حدود ۴ میلیارد پارامتر | ۸۰٪ | تصمیمهایی که دقت در آنها از سرعت مهمتر است |
| شاهین | - | حدود ۹ میلیارد پارامتر | - | بهزودی |
دقت میانگین روی ۱٬۲۰۰ پرسش فارسی از ۱۲ مجموعهداده است که در ساخت مدلها نبودهاند (سنجش داخلی دانا، مهر ۱۴۰۵). روی دادهٔ شما ممکن است بیشتر یا کمتر باشد.
کدام را انتخاب کنم
- با قناری شروع کنید. پیشفرض است و زودتر جواب میدهد.
- اگر جواب اشتباه برایتان گران است یا پرسشها ظریفاند،
"model": "kabootar"بفرستید. - هر دو را روی چند ده نمونه از دادهٔ خودتان امتحان کنید و آستانهٔ
confidenceرا از روی همان بگذارید.
نمونه
curl https://api.dana.expert/v1/decide \
-H "Authorization: Bearer $DANA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"state": "سه روز است سفارشم را پرداخت کردهام ولی هنوز ارسال نشده.",
"questions": {
"dept": {"type": "choice", "instructions": "مربوط به کدام بخش است؟", "criteria": ["مالی", "فنی", "ارسال کالا"]},
"complaint": {"type": "noul", "instructions": "آیا این پیام شکایت است؟"},
"anger": {"type": "score", "instructions": "نویسنده چقدر عصبانی است؟", "criteria": ["آرام", "کمی ناراحت", "عصبانی"]}
}
}'پاسخ:
{
"model": "ghanari",
"model_version": "ghanari-ir-v0.1",
"answers": {
"dept": {"type": "choice", "choice": "ارسال کالا", "probabilities": {"مالی": 0.0181, "فنی": 0.0203, "ارسال کالا": 0.9616}, "confidence": 0.8278},
"complaint": {"type": "noul", "noul": 0.9521, "confidence": 0.9521},
"anger": {"type": "score", "score": 1.7202, "legend": {"0": "آرام", "1": "کمی ناراحت", "2": "عصبانی"}, "probabilities": {"0": 0.0283, "1": 0.2232, "2": 0.7485}, "confidence": 0.406}
},
"usage": {"input_tokens": 218, "output_tokens": 0},
"latency_ms": 78.2
}بدنهٔ درخواست
| فیلد | توضیح |
|---|---|
state | متنی که دربارهٔ آن تصمیم گرفته میشود؛ رشته یا هر JSON، تا ۲۰٬۰۰۰ کاراکتر |
questions | پرسشها با نامی که خودتان میگذارید، از ۱ تا ۳۲ پرسش در هر درخواست |
model | اختیاری: ghanari (قناری، پیشفرض و سریعتر) یا kabootar (کبوتر، دقیقتر). نسخهٔ مدلی که جواب داده در فیلد model_version پاسخ میآید |
سه نوع پرسش
type | criteria | جواب |
|---|---|---|
choice | فهرست گزینهها، یا شیئی از گزینه به توضیح آن | choice گزینهٔ برنده و probabilities احتمال هر گزینه |
noul | ندارد (بله یا خیر) | noul احتمال «بله» |
score | فهرست مرتب پلهها، از کم به زیاد | score عددی از ۰ تا شمارهٔ آخرین پله |
instructions متن پرسش است. کوتاه و روشن بنویسید. confidence اطمینان مدل به جوابش است، نه تضمین درستی آن.
usage در پاسخ، توکنهایی است که خود مدل خوانده است. هزینه با شمارش دانا حساب میشود (بخش بعد).
محدودیتها و هزینه
stateرشته یا هر دادهٔ JSON است، تا ۲۰٬۰۰۰ کاراکتر.- هر درخواست ۱ تا ۳۲ پرسش دارد.
- فقط پرسش بسته: سنجه متن نمینویسد و جواب آزاد نمیدهد. برای متن فارسی ساخته شده است.
- توکنهای
stateو پرسشها ورودی حساب میشوند و هر پرسش یک توکن خروجی. هر یک میلیون توکن ۱۰٬۰۰۰ تومان است (قیمت و توکن). - سقف درخواست همان سقف کلید است (محدودیتها).
- متن شما ذخیره نمیشود؛ فقط تعداد توکنها ثبت میشود.
خطاها
| کد | یعنی |
|---|---|
400 | state یا questions نیست، یا پرسشی درست تعریف نشده؛ پیام خطا میگوید کدام |
401 | کلید نیست یا شناخته نشد |
429 | سقف درخواست یا اعتبار تمام شده |
503 | با code برابر model_unavailable: سنجه همین حالا در دسترس نیست؛ چند دقیقه بعد دوباره بفرستید. با coming_soon: سرویس موقتا خاموش است |
شرح کامل هر کد در خطاها و قرارداد کامل مسیر در مرجع API است.