對於無需即時響應的推理情境,批量推理(Batch API)能非同步處理大批量的資料請求,成本僅為即時推理的 50%,且介面相容 OpenAI,適合執行模型評測、資料標註等批量作業。
工作流程
批量推理採用非同步模式:
提交任務:上傳包含多個請求的檔案,建立一個批量推理任務。
非同步處理:系統在幕後處理隊列中的任務。任務進度和狀態可在控制台或通過 API 查詢。
下載結果:任務完成後,系統會產生一個包含成功響應的結果檔案和一個包含失敗詳情的錯誤檔案(如有)。
適用範圍
北京地區
支援的模型:
文本產生模型:通義千問 Max、Plus、Flash、Long 的穩定版本及其部分
latest版本,以及 QwQ 系列(qwq-plus)和部分第三方模型(deepseek-r1、deepseek-v3)。多模態模型:通義千問 VL Max、Plus、Flash的穩定版本及其部分
latest版本,以及通義千問 OCR 模型。文本向量模型: text-embedding-v4 模型。
新加坡地區
支援的模型:qwen-max、qwen-plus、qwen-turbo。
如何使用
步驟一:準備輸入檔案
建立批量推理任務前,需先準備一個符合以下規範的檔案:
格式:UTF-8 編碼的 JSONL(每行一個獨立 JSON 對象)。
規模限制:單檔案 ≤ 50,000 個請求,且 ≤ 500 MB。
如果資料量超過此限制,建議分割任務分別提交。
單行限制:每個 JSON 對象 ≤ 6 MB,且不超過模型上下文長度。
一致性要求:同一檔案內所有請求須使用相同模型。
唯一標識:每個請求必須包含檔案內唯一的 custom_id 欄位,用於結果匹配。
請求樣本
{"custom_id":"1","method":"POST","url":"/v1/chat/completions","body":{"model":"qwen-max","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"Hello!"}]}}
{"custom_id":"2","method":"POST","url":"/v1/chat/completions","body":{"model":"qwen-max","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"What is 2+2?"}]}}JSONL 批量產生工具
使用以下工具可快速產生 JSONL 檔案。為避免卡頓,建議單次處理的資料不超過 10,000 行,如果資料量較大,請分批操作。
步驟二:提交並查看結果
可通過控制台或 API 建立並管理工作。
控制台
(一)建立批量推理任務
在批量推理頁面,單擊建立批量推理任務。
在彈出的對話方塊中:填寫任務名稱和描述、設定最長等待時間(1-14天),上傳JSONL 檔案。
可點擊下載樣本檔案擷取模板。

填寫完成後,單擊確認。
(二)查看與管理工作
查看:
在工作清單頁,可查看任務的進度(已處理請求數/總請求數)和狀態。
支援按任務名稱/ID搜尋或按業務空間篩選,以快速定位任務。

管理:
取消:“執行中”的任務可在操作列取消。
排錯:“失敗”的任務可通過懸停狀態查看概要,下載錯誤檔案查看詳情。

(三)下載並分析結果
任務完成後,單擊查看結果,可下載產出檔案:
結果檔案: 記錄所有成功的請求及其
response結果。錯誤檔案(如有): 記錄所有失敗的請求及其
error詳情。
兩個檔案均包含 custom_id 欄位,用於與原始輸入資料進行匹配,從而關連接果或定位錯誤。
API
對於需要自動化和整合的生產環境,推薦使用與 OpenAI 相容的 Batch API,核心流程為:
建立任務
調用POST /v1/batches介面建立任務,並記錄返回的batch_id。輪詢狀態
使用batch_id輪詢GET /v1/batches/{batch_id}介面。當status欄位變為completed時,記錄返回的output_file_id並停止輪詢。下載結果
使用output_file_id調用GET /v1/files/{output_file_id}/content介面,即可下載結果檔案。
擷取完整的介面定義、參數資訊和程式碼範例,請參閱OpenAI相容-Batch。
步驟三:查看資料統計(可選)
在模型觀測頁面,可篩選並查看批量推理的用量統計。
查看資料概覽: 選擇要查詢的時間範圍(最長支援30天),將推理類型選為批量推理,即可查看:
監控資料:顯示該時間段內所有模型的匯總統計,如總調用次數、總失敗次數等。
模型列表:逐一列出每個模型的詳細資料,如調用總量、失敗率、平均調用時間長度等。

如需查看 30 天前的推理資料,可前往賬單頁面查詢。
查看模型詳情: 在模型列表中,單擊目標模型右側操作列的監控,可查看該模型的調用統計(如調用次數、調用量等)詳情。

批量推理的調用資料以任務結束時間為準進行統計。對於正在啟動並執行任務,其調用資訊在任務完成前無法查詢到。
監控資料存在1~2小時延遲。
任務生命週期
validating(驗證中):系統正在校正上傳的資料檔案格式是否符合 JSONL 規範,以及檔案內的每一行請求是否符合 API 格式要求。
in_progress(執行中):檔案驗證通過,系統已開始逐行處理檔案中的推理請求。
completed(已完成):結果檔案和錯誤檔案資料已寫入完成,可下載。
failed(失敗):任務在 validating 狀態失敗,通常由檔案級錯誤(如 JSONL 格式錯誤、檔案過大)導致。此狀態下,任務不會執行任何推理請求,也不會產生結果檔案。
expired(已終止):任務因已耗用時間超過建立時設定的最長等待時間而被系統終止。如果任務因此失敗,建議在建立新任務時設定更長的等待時間。
cancelled(已取消):任務已取消。任務中未開始處理的請求將被終止。
計費說明
計費單價:所有成功請求的輸入和輸出Token,單價均為對應模型即時推理價格的50%,具體請參見模型列表。
計費範圍:
僅對任務中成功執行的請求進行計費。
檔案解析失敗、任務執行失敗、或行級錯誤請求均不產生費用。
對於被取消的任務,在取消操作前已成功完成的請求仍會正常計費。
常見問題
使用批量推理需要額外購買或開通嗎?
不需要。只要已開通阿里雲百鍊服務。費用將按後付費模式從賬戶餘額中扣除。
任務提交後為什麼立即失敗(狀態變為
failed)?這通常是檔案級錯誤導致的,任務並未開始執行任何推理請求。請按以下順序排查:
檔案格式:是否為嚴格的 JSONL 格式,每行一個完整的 JSON 對象。
檔案規模:檔案大小、行數等是否超出限制。詳情請參見準備輸入檔案。
模型一致性:檢查檔案中所有請求的
body.model欄位是否完全一致,且使用的是當前地區支援的模型。
任務處理需要多長時間?
任務處理時間長度主要取決於系統當時的負載,當系統繁忙時,任務可能需要排隊等待資源,成功或失敗都會在設定的“最長等待時間”內返回結果。
錯誤碼
如果調用失敗並返回報錯資訊,請參見錯誤資訊進行解決。