خروجی ساختیافته
تصمیمگیری
یک متن و چند پرسش بفرستید و بهجای متن آزاد، پاسخ تایپدار با احتمال و اطمینان بگیرید: گزاره، انتخاب از میان گزینهها یا امتیاز.
/v1/decisionsاین مسیر برای کارهایی است که خروجیشان باید قابلپردازش باشد: دستهبندی تیکت، تشخیص فوریت، امتیازدهی به یک متن. هر پرسش یکی از سه نوع است:
predicate: گزارهی بله/خیر. پاسخ یکprobabilityاست.choice: انتخاب ازchoices. پاسخ شاملchoice، احتمال هر گزینه وconfidenceاست.score: امتیاز رویlevels. پاسخ شاملscore(میانگین وزنی شمارهی سطح، از صفر)، احتمال هر سطح وconfidenceاست.
پاسخها در آرایهی answers و به ترتیب پرسشها میآیند. اگر مدل به پرسشی پاسخ ندهد، آن عنصر type: "refusal" دارد و بقیهی پرسشها جواب میگیرند؛ پیش از خواندن فیلدها type هر پاسخ را بررسی کنید.
مدلهای دستهی تصمیمگیری و مدلهای چتی که قابلیت decisions دارند (مانند openai/gpt-6-luna) پذیرفته میشوند. مدل چت با قیمت چت حساب میشود. این مسیر استریم ندارد. برای شکل بومی System One از /v1/systemone استفاده کنید.
نمونهها
curl https://1ai.ir/v1/decisions \
-H "Authorization: Bearer $ONEAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-latest",
"input": "My order was charged twice and it still has not arrived.",
"questions": [
{
"name": "urgent",
"type": "predicate",
"instructions": "Is this request urgent?"
},
{
"name": "team",
"type": "choice",
"instructions": "Which team should answer?",
"choices": [
{
"value": "billing",
"description": "Payments, invoices and refunds"
},
{
"value": "shipping",
"description": "Delivery and tracking"
},
{
"value": "other"
}
]
},
{
"name": "anger",
"type": "score",
"instructions": "How unhappy is the customer?",
"levels": [
{
"label": "calm"
},
{
"label": "unhappy"
},
{
"label": "furious"
}
]
}
]
}'{
"model": "typesafe/jev-latest",
"answers": [
{
"type": "predicate",
"name": "urgent",
"probability": 0.95
},
{
"type": "choice",
"name": "team",
"choice": "billing",
"probabilities": [
{
"value": "billing",
"probability": 0.93
},
{
"value": "shipping",
"probability": 0.06
},
{
"value": "other",
"probability": 0.01
}
],
"confidence": 0.88
},
{
"type": "score",
"name": "anger",
"score": 1.4,
"probabilities": [
{
"value": 0,
"label": "calm",
"probability": 0.1
},
{
"value": 1,
"label": "unhappy",
"probability": 0.4
},
{
"value": 2,
"label": "furious",
"probability": 0.5
}
],
"confidence": 0.62
}
],
"usage": {
"input_tokens": 337,
"output_tokens": 61,
"total_tokens": 398
}
}بدنهی درخواست
modelstringالزامیشناسهی مدل تصمیمگیری، یا مدل چتی که قابلیت decisions دارد.
inputstring | arrayالزامیمتنی که پرسشها دربارهی آن است. رشته تا ۵۰۰٬۰۰۰ نویسه یا آرایه با ۱ تا ۱۰۰۰ عنصر.
questionsarrayالزامیبین ۱ تا ۴۰۰ پرسش. اگر
nameبدهید، نامها باید یکتا باشند.ویژگیهای داخلی
typestringالزامینوع پرسش.
مقادیر مجاز:predicatechoicescoreinstructionsstringالزامیمتن پرسش، تا ۲۰٬۰۰۰ نویسه.
namestringنام پرسش (تا ۱۰۰ نویسه). در پاسخ هم برمیگردد و به شناسایی پاسخ کمک میکند.
choicesarrayگزینهها، از ۲ تا ۲۵۵ مورد. برای
choiceالزامی است.ویژگیهای داخلی
valuestring | number | booleanالزامیمقدار گزینه؛ همین مقدار در
choiceپاسخ برمیگردد.descriptionstringتوضیح گزینه برای مدل (تا ۲۰۰۰ نویسه).
levelsarrayسطحهای امتیاز، از ۲ تا ۱۰ مورد و به ترتیب. برای
scoreالزامی است.ویژگیهای داخلی
labelstringالزامیبرچسب سطح.
descriptionstringتوضیح سطح برای مدل (تا ۲۰۰۰ نویسه).
streambooleanفقط
falseپذیرفته میشود؛ این مسیر استریم ندارد.
خطاها
invalid_request400بدنه معتبر نیست؛ مثلاً پرسش choice بدون
choices، نام تکراری، یا فیلدoptions/criteria.paramمسیر فیلد را میگوید.model_kind_mismatch400مدل برای تصمیمگیری نیست و قابلیت decisions هم ندارد.
insufficient_credits402اعتبار برای این درخواست کافی نیست.
model_not_found404مدل وجود ندارد یا به آن دسترسی ندارید.
صفحههای مرتبط
- System Oneشکل بومی System One برای مدلهای تصمیمگیری: پرسشها یک شیء با شناسهاند و پاسخها هم شیئی با همان شناسهها برمیگردند.
- استخراج فیلداز یک متن یا تصویر (فاکتور، رسید، فرم) فیلدهایی با نوع مشخص بیرون بکشید؛ هر فیلد مقدار، اطمینان و در صورت نیافتن، مقدار null دارد.
- تکمیل گفتگوپاسخ یک مدل گفتگو را به قالب OpenAI میگیرید: متن ساده، استریم، فراخوانی ابزار و ورودی تصویر، با همان SDK رسمی OpenAI.