دستهای و فایلها
ساخت کار دستهای
فایل JSONL بارگذاریشده را به صورت یک کار غیرهمزمان اجرا کنید. اعتبار بدترین حالت همهی سطرها همینجا رزرو میشود.
/v1/batchesروال کار: فایل را با بارگذاری فایل بفرستید، با این مسیر کار را بسازید، وضعیت را با خواندن کار دنبال کنید و وقتی completed شد، فایلهای نتیجه را با محتوای فایل بردارید.
قالب فایل ورودی
هر سطر یک شیء JSON است:
{"custom_id": "q-1", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "openai/gpt-5.4-mini", "max_tokens": 100, "messages": [{"role": "user", "content": "Hello"}]}}custom_idدر فایل یکتا است و تا ۶۴ نویسه. نتیجه را با آن به رکوردهایتان وصل میکنید.urlهمیشه/v1/chat/completionsوmethodهمیشهPOSTاست.- همهی سطرها یک
modelدارند. bodyفقط این فیلدها را میپذیرد:model،messages،max_tokens،max_completion_tokens،temperature،top_p،stop،seed،presence_penalty،frequency_penalty،tools،tool_choice،parallel_tool_calls،response_formatوreasoning_effort. استریم،nبزرگتر از ۱، ابزارهایی غیر ازfunctionو بخشهای غیر از متن و تصویر در پیامها رد میشود.- تعداد سطرها سقف دارد؛ از آن بیشتر باشد کل فایل رد میشود.
- یک سطر نادرست کل فایل را با
400 invalid_batch_fileرد میکند و پیام شمارهی آن سطر را میگوید. سطر را درست کنید و فایل را دوباره بفرستید.
اعتبار
هنگام ساخت، اعتبارِ بدترین حالت همهی سطرها یکجا رزرو میشود. سطری که max_tokens ندارد به اندازهی کل سقف خروجی مدل رزرو میکند، پس max_tokens را در هر سطر بگذارید. وقتی کار تمام شد، فقط سطرهای موفق به قیمت همان مدل حساب میشوند و بقیهی رزرو برمیگردد. estimated_credits رزرو و credits مبلغ نهایی است.
نمونهها
curl https://1ai.ir/v1/batches \
-H "Authorization: Bearer $ONEAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input_file_id": "fil_3vQ8mKx2Rt7LpWc9HdYnZa",
"endpoint": "/v1/chat/completions",
"completion_window": "24h",
"metadata": {
"job": "reviews-october"
}
}'{
"id": "bat_7Hn4WqE2yBvTxK9cJdPrMs",
"object": "batch",
"endpoint": "/v1/chat/completions",
"model": "openai/gpt-5.4-mini",
"errors": null,
"input_file_id": "fil_3vQ8mKx2Rt7LpWc9HdYnZa",
"completion_window": "24h",
"status": "in_progress",
"output_file_id": null,
"error_file_id": null,
"created_at": 1793000100,
"expires_at": 1793346500,
"completed_at": null,
"failed_at": null,
"expired_at": null,
"request_counts": {
"total": 2,
"completed": 0,
"failed": 0
},
"metadata": {
"job": "reviews-october"
},
"estimated_credits": 1.2,
"credits": 0
}بدنهی درخواست
input_file_idstringالزامیشناسهی فایلی که با
purpose=batchبارگذاری کردهاید (fil_…).endpointstringالزامیفقط گفتگو پشتیبانی میشود.
مقادیر مجاز:/v1/chat/completionscompletion_windowstringالزامیباید
24hباشد.مقادیر مجاز:24hmetadataobjectجفتهای کلید و مقدار رشتهای (مقدار تا ۵۱۲ نویسه) که با کار نگهداری و در پاسخ برگردانده میشود.
خطاها
invalid_batch_file400سطری از فایل نادرست است یا فایل برای کار دستهای نیست. پیام شمارهی سطر را دارد.
batch_not_available400این مدل یا این کلید به صورت دستهای اجرا نمیشود.
insufficient_credits402موجودی برای رزرو کل فایل کافی نیست.
requiredوavailableدر پاسخ میآید.file_not_found404فایل ورودی برای حساب شما نیست یا حذف شده است.
model_not_found404مدل سطرها وجود ندارد یا به آن دسترسی ندارید.
budget_exceeded429رزرو این کار، همراه کارهای در حال اجرای شما، از بودجهی کلید میگذرد.
صفحههای مرتبط
- بارگذاری فایلیک فایل JSONL را برای ساخت کار دستهای بارگذاری کنید و شناسهی آن را بگیرید. فایل تا ۲۵ مگابایت و در سهمیهی حساب شما نگهداری میشود.
- وضعیت یک کار دستهایوضعیت، شمار سطرها، اعتبار و شناسهی فایلهای نتیجهی یک کار دستهای را بخوانید.
- چند درخواست گفتگو در یک فراخوانیتا ۲۰ درخواست گفتگو را در یک فراخوانی همزمان بفرستید و نتیجهی همه را به ترتیب ورودی در یک پاسخ بگیرید.
- اعتبار و صورتحسابهزینهی API چگونه از اعتبار کم میشود: رزرو پیش از اجرا، تسویه بعد از آن، خطای 402 و جای دیدن قیمتها.