Skip to main content
工具包/架構

OpenAI相容-Batch Chat

對於資料標註、內容產生等無需即時響應的情境,即時推理API存在成本高、並發受限的問題。阿里雲百鍊的批量對話(Batch Chat)API ,保持了與即時API一致的同步調用方式,您只需發起請求等待最終結果返回。目前該功能享有 官網限時 5 折優惠 ,能將您的推理成本直接降低 50%。

本介面僅支援提交單個請求。如需一次性傳入多個請求,可通過檔案方式提交,詳情請參考OpenAI相容-Batch(檔案輸入)

工作原理

  1. 請求提交:用戶端發起請求並建立串連。
  2. 串連保持:請求進入隊列排隊,用戶端保持串連等待。
  3. 同步返回:請求處理完成後,服務端通過之前持續連線,將完整結果一次性返回給用戶端。
    如果超過最長等待時間,串連將自動斷開並返回逾時錯誤。

適用範圍

  • 華北2(北京)
  • 文本產生模型:qwen3.7-max、qwen3.7-plus、qwen3.6-plus、qwen3.7-flash、qwen3.7-flash-2026-07-15、qwen3.6-flash、qwen3.5-plus、qwen3.5-flash、qwen3-max、qwen-plus、qwen-flash、deepseek-v3.2
  • 映像與視頻理解模型:qwen3.7-plus、qwen3.6-plus、qwen3.7-flash、qwen3.7-flash-2026-07-15、qwen3.6-flash、qwen3.5-plus、qwen3.5-flash、qwen3.5-omni-plus、qwen3-vl-plus、qwen3-vl-flash
  • 在Batch 情境下,qwen3.7-maxqwen3.7-plusqwen3.6-plusqwen3.7-flashqwen3.7-flash-2026-07-15qwen3.6-flashqwen3.5-plusqwen3.5-flashqwen3.5-omni-plus單次請求的上下文 Token 數最大支援 256K,qwen3.5-omni-plus不支援語音輸出。
  • 部分模型支援思考模式,開啟後會產生思考tokens導致成本增加。
  • qwen3.7qwen3.6qwen3.5 系列模型預設開啟思考模式。建議使用混合思考模型時,顯式設定enable_thinking參數(true開啟/false關閉)。
  • 在 JSONL 請求體中,enable_thinkingbody 的頂層參數,須與 model 同級傳入,不能放在 extra_body 中。

如何使用

前提條件

pip3 install -U openai

步驟1:配置 API 端點

只需修改 API 端點(base_url),即可輕鬆將現有的即時推理請求切換至批量推理。請根據調用方式,配置正確的 API 端點。 SDK配置:base_url設定為https://batch.dashscope.aliyuncs.com/compatible-mode/v1 HTTP調用:請求端點為POST https://batch.dashscope.aliyuncs.com/compatible-mode/v1/chat/completions

步驟2:發起調用

此處以文本對話為例,展示如何調用 Batch Chat 介面。 請求的預設等待逾時時間為3600秒(1小時),在多數情況下無需額外配置。
下方樣本展示如何主動設定一個自訂的逾時時間(60-3600秒)作為參考。
  • Python
  • Java
  • Node.js
  • Go
  • C#(HTTP)
  • PHP(HTTP)
  • curl
請求樣本
import os
from openai import OpenAI

client = OpenAI(
   # 若沒有配置環境變數,可用阿里雲百鍊API Key將下行替換為:api_key="sk-xxx",但不建議在生產環境中直接將API Key寫入程式碼到代碼中,以減少API Key泄露風險.
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://batch.dashscope.aliyuncs.com/compatible-mode/v1",  # 阿里雲百鍊Batch chat API 的 URL
).with_options(timeout=1800.0) # 設定1800秒(30分鐘)的等待時間,最長3600秒

completion = client.chat.completions.create(
    model="qwen-plus",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "你是誰?"},
    ]
)
print(completion.choices[0].message.content)
響應樣本
我是千問,阿里巴巴集團旗下的超大規模語言模型。我能夠回答問題、創作文字,比如寫故事、寫公文、寫郵件、寫劇本、邏輯推理、編程等等,還能表達觀點,玩遊戲等。如果你有任何問題或需要協助,歡迎隨時告訴我!

使用限制

  • 等待時間:提交請求後,會同步等待結果,服務端最長會保持串連3600秒(1小時)。可根據實際需求設定自訂逾時時間,取值範圍為60-3600秒。
  • 並發限制:單個賬戶為每個模型最多可維持10,000個等待中的請求。超出此限制的新請求將被拒絕並返回相應錯誤碼,直到有請求完成並釋放出可用位置。
  • 調用速率:單個賬戶提交請求的頻率上限為 1000 QPS(10,000次 / 10秒)。
    此上限為系統設定的理論最大值。在實際調用中,API的可用資源會受到整體系統負載的動態影響,建議您在代碼中實現重試邏輯。

計費說明

  • 計費單價:按成功請求的輸入和輸出Token計費,目錄價與對應模型即時調用價格一致。官網限時為 Batch Chat 調用提供 5 折優惠,其最終費用為即時調用價格的 50%,具體請參見模型列表
  • 計費範圍:僅對任務中成功執行的請求進行計費。任何失敗的請求(包括系統錯誤或逾時)均不計費。
批量推理為獨立計費項目,不支援預付費(節省計劃)、新人免費額度等優惠,以及上下文緩衝等功能。

錯誤碼

如果模型調用失敗並返回報錯資訊,請參見錯誤碼進行解決。

常見問題

  1. Batch Chat 請求耗時和即時 API 比較有區別嗎? 有區別。Batch Chat 請求需要排隊等待調度,因此端到端耗時通常高於即時 API。請求在服務端最長等待時間為1小時,逾時未執行將自動斷開並返回錯誤。
  2. 如何選擇使用 Batch Chat 還是Batch File? 當商務邏輯需要以 API 同步調用的方式、高並發地提交大量獨立的對話請求時,選擇 Batch Chat。當需要處理的是包含大量請求的單個大檔案,並且可以接受非同步擷取結果檔案,則選擇 Batch File。
  3. Batch Chat 能保證請求全部完成嗎? 不保證。Batch Chat 使用的是 Batch 資源,完成情況取決於系統資源分派情況。如果系統資源繁忙,請求可能在隊列中等待。若超過最長等待時間仍未被調度執行,串連將逾時斷開,此時請求不會被計費,可以稍後重試。

相關文檔

OpenAI相容-Batch Chat - Alibaba Cloud Model Studio