Skip to main content
更多模型

Qwen-OCR API參考

本文介紹通過OpenAI相容介面 或 DashScopeAPI 調用通義千問OCR 模型的輸入與輸出參數。
相關文檔:文字提取(Qwen-OCR)

OpenAI 相容

  • 新加坡地區
  • 美國(維吉尼亞)地區
  • 華北2(北京)地區
SDK 調用配置的base_url為:https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1HTTP 調用配置的endpointPOST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
阿里雲百鍊為華北2(北京)、新加坡地區推出了業務空間專屬網域名稱,能夠為推理請求提供卓越的效能和更高的穩定性,建議遷移至新網域名稱:
  • 華北2(北京)地區:從 https://dashscope.aliyuncs.com 遷移至 https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • 新加坡地區:從 https://dashscope-intl.aliyuncs.com 遷移至 https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
其中 {WorkspaceId} 為您的業務空間 ID,可在阿里雲百鍊控制台的業務空間詳情頁面查看。現有網域名稱仍可正常使用。
您需要已擷取與配置 API Key配置API Key到環境變數。若通過OpenAI SDK進行調用,需要安裝SDK

請求體

modelstring(必選)模型名稱。支援的模型可參見選擇模型messagesarray(必選)傳遞給大模型的上下文,按對話順序排列。
User Messageobject(必選)使用者訊息,用於向模型傳遞指令和待識別的映像。
contentarray(必選)訊息內容。
typestring(必選)可選值:
  • text 輸入文本時需設為text
  • image_url 輸入圖片時需設為image_url
textstring(可選)輸入的文本。預設值為:Please output only the text content from the image without any additional descriptions or formatting. ,即模型預設提取映像中的全部文本。image_urlobject輸入的圖片資訊。當typeimage_url時是必選參數。
url string(必選)圖片的 URL或 Base64 Data URL。傳入本地檔案請參考文字提取
min_pixelsinteger(可選)用於設定輸入映像的最小像素閾值,單位為像素。當輸入映像像素小於min_pixels時,會將映像進行放大,直到總像素高於min_pixels
不同模型,每個映像 Token 對應的像素不同:
  • qwen3.5-ocrqwen-vl-ocr-latestqwen-vl-ocr-2025-11-20:每 Token 對應像素為32*32
  • qwen-vl-ocrqwen-vl-ocr-2025-08-28及之前更新的模型:每 Token 對應像素為28*28
  • qwen3.5-ocrqwen-vl-ocr-latestqwen-vl-ocr-2025-11-20:預設值和最小值均為3072(即3×32×32
  • qwen-vl-ocrqwen-vl-ocr-2025-08-28及之前更新的模型:預設值和最小值均為 3136 (即4×28×28)。
樣本值:{"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"min_pixels": 3072}max_pixelsinteger(可選)用於設定輸入映像的最大像素閾值,單位為像素。當輸入映像像素在[min_pixels, max_pixels]區間內時,模型會按原圖進行識別。當輸入映像像素大於max_pixels時,會將映像進行縮小,直到總像素低於max_pixels
不同模型,每個映像 Token 對應的像素不同:
  • qwen3.5-ocrqwen-vl-ocr-latestqwen-vl-ocr-2025-11-20:每 Token 對應像素為32*32
  • qwen-vl-ocrqwen-vl-ocr-2025-08-28及之前更新的模型:每 Token 對應像素為28*28
  • qwen3.5-ocr、qwen-vl-ocr-latest、qwen-vl-ocr-2025-11-20
    • 預設值:8388608 (即8192x32x32
    • 最大值:30720000(即30000x32x32
  • qwen-vl-ocr、qwen-vl-ocr-2025-08-28及之前更新的模型
    • 預設值:6422528(即8192x28x28
    • 最大值:23520000(即30000x28x28
樣本值:{"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"max_pixels": 8388608}
rolestring(必選)使用者訊息的角色,固定為user
streamboolean(可選) 預設值為 false是否以流式方式輸出回複。可選值:
  • false:等待模型產生完整回複後一次性返回。
  • true:模型邊產生邊返回資料區塊。用戶端需逐塊讀取,以還原完整回複。
stream_optionsobject(可選)流式輸出的配置項,僅在 streamtrue 時生效。

屬性

include_usageboolean(可選)預設值為 false是否在最後一個資料區塊包含Token消耗資訊。可選值:
  • true:包含;
  • false:不包含。
max_tokensinteger(可選)用於限制模型輸出的最大 Token 數。若產生內容超過此值,響應將被截斷。
  • qwen3.5-ocr:預設值與最大值為32768。
  • qwen-vl-ocr-latestqwen-vl-ocr-2025-11-20qwen-vl-ocr-2024-10-28預設值與最大值均為模型的最大輸出長度,請參見模型選型
  • qwen-vl-ocr、qwen-vl-ocr-2025-04-13、qwen-vl-ocr-2025-08-28,預設值和最大值為4096。
    如需提高該參數值(4097~8192範圍),請聯絡商務經理進行申請,並提供以下資訊:主帳號ID、映像類型(如文檔圖、電商圖、合約等)、模型名稱、預計 QPS 和每日請求總數,以及模型輸出長度超過4096的請求佔比。
logprobs boolean (可選)預設值為 false是否返回輸出 Token 的對數機率,可選值:
  • true 返回
  • false 不返回
top_logprobs integer (可選)預設值為0指定在每一步產生時,返回模型最大機率的候選 Token 個數。取值範圍:[0,5]僅當 logprobstrue 時生效。temperaturefloat(可選)預設值為0.01採樣溫度,控制模型產生文本的多樣性。temperature越高,產生的文本更多樣,反之,產生的文本更確定。取值範圍: [0, 2)temperature與top_p均可以控制產生文本的多樣性,建議只設定其中一個值。
建議設定為預設值即可。
top_pfloat(可選)預設值為0.001核採樣的機率閾值,控制模型產生文本的多樣性。top_p越高,產生的文本更多樣。反之,產生的文本更確定。取值範圍:(0,1.0]temperature與top_p均可以控制產生文本的多樣性,建議只設定其中一個值。
建議設定為預設值即可。
top_kinteger(可選)預設值為1產生過程中採樣候選集的大小。例如,取值為50時,僅將單次產生中得分最高的50個Token組成隨機採樣的候選集。取值越大,產生的隨機性越高;取值越小,產生的確定性越高。取值為None或當top_k大於100時,表示不啟用top_k策略,此時僅有top_p策略生效。取值需要大於或等於0。該參數非OpenAI標準參數。通過 Python SDK調用時,請放入 extra_body 對象中,配置方式為:extra_body={"top_k": xxx};通過 Node.js SDK 或 HTTP 方式調用時,請作為頂層參數傳遞。
建議設定為預設值即可。
repetition_penaltyfloat(可選)預設值為1.0模型產生時連續序列中的重複度。提高repetition_penalty時可以降低模型產生的重複度,1.0表示不做懲罰。該參數對模型效果影響較大,建議保持預設值。
建議設定為預設值即可。
presence_penalty float(可選)預設值為0.0控制模型產生文本時的內容重複度。取值範圍:[-2.0, 2.0]。正值降低重複度,負值增加重複度。在創意寫作或頭腦風暴等需要多樣性、趣味性或創造力的情境中,建議調高該值;在技術文檔或正式文本等強調一致性與術語準確性的情境中,建議調低該值。
如果參數值是正數,模型將對目前文本中已存在的Token施加一個懲罰值(懲罰值與文本出現的次數無關),減少這些Token重複出現的幾率,從而減少內容重複度,增加用詞多樣性。
建議設定為預設值即可。
seedinteger(可選)隨機數種子。用於確保在相同輸入和參數下產生結果可複現。若調用時傳入相同的 seed 且其他參數不變,模型將儘可能返回相同結果。取值範圍:[0,2 31 −1]
建議設定為預設值即可。
stopstring 或 array(可選)用於指定停止詞。當模型產生的文本中出現stop 指定的字串或token_id時,產生將立即終止。可傳入敏感詞以控制模型的輸出。
stop為數組時,不可將token_id和字串同時作為元素輸入,比如不可以指定為["你好",104307]
  • 非流式輸出
  • 流式輸出
Python
from openai import OpenAI
import os

PROMPT_TICKET_EXTRACTION = """
請提取車票映像中的發票號碼、車次、起始站、終點站、發車日期和時間點、座位號、席別類型、票價、社會安全號碼碼、購票人姓名。
要求準確無誤的提取上述關鍵資訊、不要遺漏和捏造虛假資訊,模糊或者強光遮擋的單個文字可以用英文問號?代替。
返回資料格式以json方式輸出,格式為:{'發票號碼': 'xxx', '起始站': 'xxx', '終點站': 'xxx', '發車日期和時間點':'xxx', '座位號': 'xxx','票價':'xxx', '社會安全號碼碼': 'xxx', '購票人姓名': 'xxx'},
"""

try:
    client = OpenAI(
        # 各地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key="sk-xxx",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        # 以下為新加坡地區base_url,若使用維吉尼亞地區模型,需要將base_url換成https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1
        # 若使用北京地區的模型,需將base_url替換為:https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1
        base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
    )
    completion = client.chat.completions.create(
        model="qwen-vl-ocr-2025-11-20",
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "image_url",
                        "image_url": {"url":"https://img.alicdn.com/imgextra/i2/O1CN01ktT8451iQutqReELT_!!6000000004408-0-tps-689-487.jpg"},
                        # 輸入映像的最小像素閾值,小於該值映像會放大,直到總像素大於min_pixels
                        "min_pixels": 32 * 32 * 3,
                        # 輸入映像的最大像素閾值,超過該值映像會縮小,直到總像素低於max_pixels
                        "max_pixels": 32 * 32 * 8192
                    },
                    # 模型支援在以下text欄位中傳入Prompt;若未傳入,則會使用預設的Prompt:Please output only the text content from the image without any additional descriptions or formatting.
                    {"type": "text",
                     "text": PROMPT_TICKET_EXTRACTION}
                ]
            }
        ])
    print(completion.choices[0].message.content)
except Exception as e:
    print(f"錯誤資訊: {e}")

chat響應對象(非流式輸出)

idstring本次請求的唯一識別碼。choicesarray模型產生內容的數組。

屬性

finish_reasonstring模型停止產生的原因。有兩種情況:
  • 自然停止輸出時為stop
  • 產生長度過長而結束為length
indexinteger當前對象在choices數組中的索引。messageobject模型輸出的訊息。

屬性

content string大模型的返回結果。processed_text string對模型原始輸出進行後處理的結果,自動重複資料刪除片段等。當模型輸出存在重複內容時,該欄位提供清洗後的文本。
僅通過 DashScope SDK 和 curl 調用時返回,OpenAI 相容 SDK 不返回該欄位。
refusal string該參數當前固定為nullrole string訊息的角色,固定為assistantaudio object該參數當前固定為nullfunction_call object該參數當前固定為nulltool_calls array該參數當前固定為null
createdinteger本次請求被建立時的時間戳記。modelstring本次請求使用的模型。object string始終為chat.completionservice_tier string該參數當前固定為nullsystem_fingerprintstring該參數當前固定為nullusage object本次請求的 Token 消耗資訊。
completion_tokens integer模型輸出的 Token 數。prompt_tokens integer輸入的 Token 數。total_tokens integer消耗的總 Token 數,為prompt_tokenscompletion_tokens的總和。completion_tokens_details object模型輸出Token的細粒度分類。
accepted_prediction_tokensinteger該參數當前固定為nullaudio_tokens integer該參數當前固定為nullreasoning_tokens integer該參數當前固定為nulltext_tokens integer模型輸出文本對應的 Token 數。rejected_prediction_tokensinteger該參數當前固定為null
prompt_tokens_details object輸入 Token 的細粒度分類。
audio_tokens integer該參數當前固定為nullcached_tokens integer該參數當前固定為nulltext_tokens integer模型輸入的文本對應的Token 數。image_tokens integer模型輸入的映像對應的 Token數。
{
  "id": "chatcmpl-ba21fa91-dcd6-4dad-90cc-6d49c3c39094",
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "message": {
        "content": "```json\n{\n    \"銷售方名稱\": \"null\",\n    \"購買方名稱\": \"蔡應時\",\n    \"不含稅價\": \"230769.23\",\n    \"組織機構代碼\": \"null\",\n    \"發票代碼\": \"142011726001\"\n}\n```",
        "refusal": null,
        "role": "assistant",
        "annotations": null,
        "audio": null,
        "function_call": null,
        "tool_calls": null
      }
    }
  ],
  "created": 1763283287,
  "model": "qwen3.5-ocr",
  "object": "chat.completion",
  "service_tier": null,
  "system_fingerprint": null,
  "usage": {
    "completion_tokens": 72,
    "prompt_tokens": 1185,
    "total_tokens": 1257,
    "completion_tokens_details": {
      "accepted_prediction_tokens": null,
      "audio_tokens": null,
      "reasoning_tokens": null,
      "rejected_prediction_tokens": null,
      "text_tokens": 72
    },
    "prompt_tokens_details": {
      "audio_tokens": null,
      "cached_tokens": null,
      "image_tokens": 1001,
      "text_tokens": 184
    }
  }
}

chat響應chunk對象(流式輸出)

idstring本次調用的唯一識別碼。每個chunk對象有相同的 id。choicesarray模型產生內容的數組。若設定include_usage參數為true,則在最後一個chunk中為空白。

屬性

delta object流式返回的輸出內容。

屬性

content string大模型的返回結果。function_call object該參數當前固定為nullrefusal object該參數當前固定為nullrole string訊息對象的角色,只在第一個chunk中有值。
finish_reason string模型停止產生的原因。有三種情況:
  • 自然停止輸出時為stop
  • 產生未結束時為null
  • 產生長度過長而結束為length
index integer當前響應在choices數組中的索引。
createdinteger本次請求被建立時的時間戳記。每個chunk有相同的時間戳記。modelstring本次請求使用的模型。object string始終為chat.completion.chunkservice_tier string該參數當前固定為nullsystem_fingerprintstring該參數當前固定為nullusage object本次請求消耗的Token。只在include_usagetrue時,在最後一個chunk返回。
completion_tokens integer模型輸出的 Token 數。prompt_tokens integer輸入的 Token 數。total_tokens integer消耗的總 Token 數,為prompt_tokenscompletion_tokens的總和。completion_tokens_details object模型輸出Token的細粒度分類。
accepted_prediction_tokensinteger該參數當前固定為nullaudio_tokens integer該參數當前固定為nullreasoning_tokens integer該參數當前固定為nulltext_tokens integer模型輸出文本對應的 Token 數。rejected_prediction_tokensinteger該參數當前固定為null
prompt_tokens_details object輸入 Token 的細粒度分類。
audio_tokens integer該參數當前固定為nullcached_tokens integer該參數當前固定為nulltext_tokens integer模型輸入的文本對應的Token 數。image_tokens integer模型輸入的映像對應的 Token數。
{"id":"chatcmpl-f6fbdc0d-78d6-418f-856f-f099c2e4859b","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":"assistant","tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1764139204,"model":"qwen3.5-ocr","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-f6fbdc0d-78d6-418f-856f-f099c2e4859b","choices":[{"delta":{"content":"```","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1764139204,"model":"qwen3.5-ocr","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-f6fbdc0d-78d6-418f-856f-f099c2e4859b","choices":[{"delta":{"content":"json","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1764139204,"model":"qwen3.5-ocr","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-f6fbdc0d-78d6-418f-856f-f099c2e4859b","choices":[{"delta":{"content":"\n","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1764139204,"model":"qwen3.5-ocr","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-f6fbdc0d-78d6-418f-856f-f099c2e4859b","choices":[{"delta":{"content":"{\n","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1764139204,"model":"qwen3.5-ocr","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-f6fbdc0d-78d6-418f-856f-f099c2e4859b","choices":[{"delta":{"content":"   ","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1764139204,"model":"qwen3.5-ocr","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
......
{"id":"chatcmpl-f6fbdc0d-78d6-418f-856f-f099c2e4859b","choices":[{"delta":{"content":"```","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1764139204,"model":"qwen3.5-ocr","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-f6fbdc0d-78d6-418f-856f-f099c2e4859b","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":"stop","index":0,"logprobs":null}],"created":1764139204,"model":"qwen3.5-ocr","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-f6fbdc0d-78d6-418f-856f-f099c2e4859b","choices":[],"created":1764139204,"model":"qwen3.5-ocr","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":141,"prompt_tokens":513,"total_tokens":654,"completion_tokens_details":{"accepted_prediction_tokens":null,"audio_tokens":null,"reasoning_tokens":null,"rejected_prediction_tokens":null,"text_tokens":141},"prompt_tokens_details":{"audio_tokens":null,"cached_tokens":null,"image_tokens":332,"text_tokens":181}}}

DashScope

  • 新加坡地區
  • 美國(維吉尼亞)地區
  • 華北2(北京)地區
HTTP 調用配置的endpointPOST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generationSDK調用配置的base_url
  • Python代碼
  • Java代碼
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
您需要已擷取與配置 API Key配置API Key到環境變數。若通過DashScope SDK進行調用,需要安裝DashScope SDK

請求體

modelstring(必選)模型名稱。支援的模型可參見選擇模型messagesarray(必選)傳遞給大模型的上下文,按對話順序排列。
通過HTTP調用時,請將messages放入 input 對象中。
User Messageobject(必選)使用者訊息,用於向模型傳遞問題、指令或上下文等。
contentstring 或 array(必選)訊息內容。若輸入只有文本,則為 string 類型;若輸入包含映像資料,則為 array 類型。
textstring(可選)輸入的文本。預設值為:Please output only the text content from the image without any additional descriptions or formatting. ,即模型預設提取映像中的全部文本。imagestring(可選)圖片的URL、 Base64 Data URL、或本地路徑。傳入本地檔案請參見傳入本地檔案樣本值:{"image":"https://xxxx.jpeg"}enable_rotateboolean(可選)預設值為false是否對傾斜的映像進行校正處理。可選值:
  • true:自動校正
  • false:不進行校正
樣本值:{"image":"https://xxxx.jpeg","enable_rotate": True}min_pixelsinteger(可選)用於設定輸入映像的最小像素閾值,單位為像素。當輸入映像像素小於min_pixels時,會將映像進行放大,直到總像素高於min_pixels
不同模型,每個映像 Token 對應的像素不同:
  • qwen3.5-ocrqwen-vl-ocr-latestqwen-vl-ocr-2025-11-20:每 Token 對應像素為32*32
  • qwen-vl-ocrqwen-vl-ocr-2025-08-28及之前更新的模型:每 Token 對應像素為28*28
  • qwen3.5-ocrqwen-vl-ocr-latestqwen-vl-ocr-2025-11-20:預設值和最小值均為3072(即3×32×32
  • qwen-vl-ocrqwen-vl-ocr-2025-08-28及之前更新的模型:預設值和最小值均為 3136 (即4×28×28)。
樣本值:{"image":"https://xxxx.jpeg","min_pixels": 3072}max_pixelsinteger(可選)用於設定輸入映像的最大像素閾值,單位為像素。當輸入映像像素在[min_pixels, max_pixels]區間內時,模型會按原圖進行識別。當輸入映像像素大於max_pixels時,會將映像進行縮小,直到總像素低於max_pixels
不同模型,每個映像 Token 對應的像素不同:
  • qwen3.5-ocrqwen-vl-ocr-latestqwen-vl-ocr-2025-11-20:每 Token 對應像素為32*32
  • qwen-vl-ocrqwen-vl-ocr-2025-08-28及之前更新的模型:每 Token 對應像素為28*28
  • qwen3.5-ocr、qwen-vl-ocr-latest、qwen-vl-ocr-2025-11-20
    • 預設值:8388608 (即8192x32x32
    • 最大值:30720000(即30000x32x32
  • qwen-vl-ocr、qwen-vl-ocr-2025-08-28及之前更新的模型
    • 預設值:6422528(即8192x28x28
    • 最大值:23520000(即30000x28x28
樣本值:{"image":"https://xxxx.jpeg","max_pixels": 8388608}
rolestring(必選)使用者訊息的角色,固定為user
max_tokensinteger(可選)用於限制模型輸出的最大 Token 數。若產生內容超過此值,響應將被截斷。
  • qwen3.5-ocr:預設值與最大值為32768。
  • qwen-vl-ocr-latestqwen-vl-ocr-2025-11-20qwen-vl-ocr-2024-10-28預設值與最大值均為模型的最大輸出長度,請參見模型選型
  • qwen-vl-ocr、qwen-vl-ocr-2025-04-13、qwen-vl-ocr-2025-08-28,預設值和最大值為4096。
    如需提高該參數值(4097~8192範圍),請聯絡商務經理進行申請,並提供以下資訊:主帳號ID、映像類型(如文檔圖、電商圖、合約等)、模型名稱、預計 QPS 和每日請求總數,以及模型輸出長度超過4096的請求佔比。
Java SDK中為maxTokens*。*通過HTTP調用時,請將 max_tokens放入 parameters 對象中。
ocr_optionsobject(可選)使用通義千問OCR模型調用內建任務時需要配置的參數。調用內建任務時,無需傳入User Message,模型內部會採用對應任務的Prompt。相關章節:調用內建任務
task string (必選)內建任務的名稱,可選值如下:
  • text_recognition:通用文字識別
  • key_information_extraction:資訊抽取
  • document_parsing:文檔解析
  • table_parsing:表格解析
  • formula_recognition:公式識別
  • multi_lan:多語言識別
  • advanced_recognition:高精識別
task_config object (可選)task的取值為key_information_extraction(資訊抽取)時,此參數用於指定需抽取的特定欄位。如未指定 task_config,模型將預設提取映像中的所有欄位。
result_schemaobject (可選)表示需要模型抽取的欄位,應為JSON對象結構,最多可嵌套3層JSON 對象。在JSON對象的鍵(key)中指定待抽取欄位的名稱,對應的值(value)可為空白,建議在值中提供欄位描述或格式要求,可提高資訊提取的準確率。樣本值:
"result_schema": {
     "發票號碼": "發票的唯一識別編號,通常為數字和字母的組合。",
     "開票日期": "發票開具的日期,請以YYYY-MM-DD格式提取,例如2023-10-26。",
     "銷售方名稱": "發票上顯示的銷售方公司全稱。",
     "總金額": "發票中包含稅費的總計金額,要求提取數值並保留兩位小數,例如123.45。"
}
Java SDK為OcrOptions,DashScope Python SDK 最低版本為1.22.2, Java SDK 最低版本為2.18.4。
通過HTTP調用時,請將 ocr_options放入 parameters 對象中。
seedinteger(可選)隨機數種子。用於確保在相同輸入和參數下產生結果可複現。若調用時傳入相同的 seed 且其他參數不變,模型將儘可能返回相同結果。取值範圍:[0,2 31 −1]
建議設定為預設值即可。
通過HTTP調用時,請將 seed放入 parameters 對象中。
temperaturefloat(可選)預設值為0.01採樣溫度,控制模型產生文本的多樣性。temperature越高,產生的文本更多樣,反之,產生的文本更確定。取值範圍: [0, 2)temperature與top_p均可以控制產生文本的多樣性,建議只設定其中一個值。
建議設定為預設值即可。
通過HTTP調用時,請將 temperature放入 parameters 對象中。
top_pfloat(可選)預設值為0.001核採樣的機率閾值,控制模型產生文本的多樣性。top_p越高,產生的文本更多樣。反之,產生的文本更確定。取值範圍:(0,1.0]temperature與top_p均可以控制產生文本的多樣性,建議只設定其中一個值。
建議設定為預設值即可。
Java SDK中為topP*。*通過HTTP調用時,請將 top_p放入 parameters 對象中。
top_kinteger(可選)預設值為1產生過程中採樣候選集的大小。例如,取值為50時,僅將單次產生中得分最高的50個Token組成隨機採樣的候選集。取值越大,產生的隨機性越高;取值越小,產生的確定性越高。取值為None或當top_k大於100時,表示不啟用top_k策略,此時僅有top_p策略生效。取值需要大於或等於0。該參數非OpenAI標準參數。通過 Python SDK調用時,請放入 extra_body 對象中,配置方式為:extra_body={"top_k": xxx};通過 Node.js SDK 或 HTTP 方式調用時,請作為頂層參數傳遞。
建議設定為預設值即可。
repetition_penaltyfloat(可選)預設值為1.0模型產生時連續序列中的重複度。提高repetition_penalty時可以降低模型產生的重複度,1.0表示不做懲罰。該參數對模型效果影響較大,建議保持預設值。
建議設定為預設值即可。
Java SDK中為repetitionPenalty*。*通過HTTP調用時,請將 repetition_penalty放入 parameters 對象中。
presence_penalty float(可選)預設值為0.0控制模型產生文本時的內容重複度。取值範圍:[-2.0, 2.0]。正值降低重複度,負值增加重複度。在創意寫作或頭腦風暴等需要多樣性、趣味性或創造力的情境中,建議調高該值;在技術文檔或正式文本等強調一致性與術語準確性的情境中,建議調低該值。
如果參數值是正數,模型將對目前文本中已存在的Token施加一個懲罰值(懲罰值與文本出現的次數無關),減少這些Token重複出現的幾率,從而減少內容重複度,增加用詞多樣性。
建議設定為預設值即可。
streamboolean(可選)預設值為false是否流式輸出回複。參數值:
  • false:模型產生完所有內容後一次性返回結果。
  • true:邊產生邊輸出,即每產生一部分內容就立即輸出一個片段(chunk)。
該參數僅支援Python SDK。通過Java SDK實現流式輸出請通過streamCall介面調用;通過HTTP實現流式輸出請在Header中指定X-DashScope-SSEenable
incremental_outputboolean(可選)預設為false在流式輸出模式下是否開啟增量輸出。推薦您優先設定為true參數值:
  • false:每次輸出為當前已經產生的整個序列,最後一次輸出為產生的完整結果。
I
I like
I like apple
I like apple.
  • true(推薦):增量輸出,即後續輸出內容不包含已輸出的內容。您需要即時地逐個讀取這些片段以獲得完整的結果。
I
like
apple
.
Java SDK中為incrementalOutput*。*通過HTTP調用時,請將 incremental_output放入 parameters 對象中。
stopstring 或 array(可選)用於指定停止詞。當模型產生的文本中出現stop 指定的字串或token_id時,產生將立即終止。可傳入敏感詞以控制模型的輸出。
stop為數組時,不可將token_id和字串同時作為元素輸入,比如不可以指定為["你好",104307]
logprobs boolean (可選)預設值為 false是否返回輸出 Token 的對數機率,可選值:
  • true 返回
  • false 不返回
支援的模型:qwen-vl-ocr-2025-04-13及之後更新的模型
通過HTTP調用時,請將 logprobs放入 parameters 對象中。
top_logprobs integer (可選)預設值為0指定在每一步產生時,返回模型最大機率的候選 Token 個數。僅當 logprobstrue 時生效。取值範圍:[0,5]
Java SDK中為topLogprobs*。*通過HTTP調用時,請將 top_logprobs放入 parameters 對象中。
  • 高精識別
  • 資訊抽取
  • 表格解析
  • 文檔解析
  • 公式識別
  • 通用文字識別
  • 多語言識別
  • 流式輸出
以下為調用高精識別內建任務的程式碼範例,詳情請參見調用內建任務
import os
import dashscope

# 以下為新加坡地區的URL,調用時請將 {WorkspaceId} 替換為真實的業務空間ID,各地區的URL不同。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'  # 請將 {WorkspaceId} 替換為業務空間ID

messages = [{
            "role": "user",
            "content": [{
                "image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg",
                # 輸入映像的最小像素閾值,小於該值映像會進行放大,直到總像素大於min_pixels
                "min_pixels": 32 * 32 * 3,
                # 輸入映像的最大像素閾值,超過該值映像會進行縮小,直到總像素低於max_pixels
                "max_pixels": 32 * 32 * 8192,
                # 是否開啟映像自動轉正功能
                "enable_rotate": False}]
            }]

response = dashscope.MultiModalConversation.call(
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key="sk-xxx",
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model='qwen-vl-ocr-2025-11-20',
    messages=messages,
    # 設定內建任務為高精識別
    ocr_options={"task": "advanced_recognition"}
)
# 高精識別任務以純文字返回結果
print(response["output"]["choices"][0]["message"].content[0]["text"])

chat響應對象(流式與非流式輸出格式一致)

status_codestring本次請求的狀態代碼。200 表示請求成功,否則表示請求失敗。
Java SDK不會返回該參數。調用失敗會拋出異常,異常資訊為status_codemessage的內容。
request_idstring本次調用的唯一識別碼。
Java SDK返回參數為requestId。
codestring錯誤碼,調用成功時為空白值。
只有Python SDK返回該參數。
outputobject調用結果資訊。

屬性

textstring該參數當前固定為nullfinish_reasonstring模型結束產生的原因。有以下情況:
  • 正在產生時為null
  • 模型輸出自然結束為stop
  • 因產生長度過長而結束為length
choicesarray模型的輸出資訊。
finish_reasonstring有以下情況:
  • 正在產生時為null
  • 因模型輸出自然結束為stop
  • 因產生長度過長而結束為length
messageobject模型輸出的訊息對象。
rolestring輸出訊息的角色,固定為assistantcontentobject輸出訊息的內容。
ocr_resultobject當Qwen-OCR系列模型調用內建的資訊抽取、高精識別任務時,輸出的任務結果資訊。
kv_resultarray資訊抽取任務的輸出結果。words_infoarray高精識別任務的輸出結果。
rotate_rect array樣本值:[center_x, center_y, width, height, angle]文字框的旋轉矩形表示:
  • center_x、center_y為文字框中心點座標
  • width為文字框寬度,height為高度
  • angle為文字框相對於水平方向的旋轉角度,取值範圍為[-90, 90]
location array樣本值:[x1, y1, x2, y2, x3, y3, x4, y4]文字框四個頂點的座標,座標順序為左上方開起,按左上方→右上方→右下角→左下角的順時針順序排列。textstring文本行的內容
textstring輸出訊息的內容。
processed_textstring對模型原始輸出進行後處理的結果,自動重複資料刪除片段等。當模型輸出存在重複內容時,該欄位提供清洗後的文本。
logprobsobject當前 choices 對象的機率資訊。
content array帶有對數機率資訊的 Token 數組。
token string當前 Token。bytes array當前 Token 的 UTF‑8 原始位元組列表,用於精確還原輸出內容,在處理Emoji、中文字元時有協助。logprob float當前 Token 的對數機率。傳回值為 null 表示機率值極低。top_logprobs array當前 Token 位置最可能的若干個 Token 及其對數機率,元素個數與入參的top_logprobs保持一致。
token string當前 Token。bytes array當前 Token 的 UTF‑8 原始位元組列表,用於精確還原輸出內容,在處理Emoji、中文字元時有協助。logprob float當前 Token 的對數機率。傳回值為 null 表示機率值極低。
usageobject本次請求使用的Token資訊。

屬性

input_tokens integer輸入 Token 數。output_tokens integer輸出 Token 數。characters integer該參數當前固定為0。input_tokens_detailsobject輸入 Token 的細粒度分類。
image_tokens integer模型輸入的映像對應的 Token數。text_tokens integer模型輸入的文本對應的Token 數。
output_tokens_detailsobject輸出 Token 的細粒度分類。
text_tokens integer模型輸入的文本對應的Token 數。
total_tokens integer消耗的總 Token 數,為input_tokensoutput_tokens的總和。image_tokens integer輸入內容包含image時返回該欄位。為使用者輸入圖片內容轉換成Token後的長度。
{"status_code": 200,
  "request_id": "8f8c0f6e-6805-4056-bb65-d26d66080a41",
  "code": "",
  "message": "",
  "output": {
    "text": null,
    "finish_reason": null,
    "choices": [
      {
        "finish_reason": "stop",
        "message": {
          "role": "assistant",
          "content": [
            {
              "ocr_result": {
                "kv_result": {
                  "不含稅價": "230769.23",
                  "發票代碼": "142011726001",
                  "組織機構代碼": "null",
                  "購買方名稱": "蔡應時",
                  "銷售方名稱": "null"
                }
              },
              "text": "```json\n{\n    \"不含稅價\": \"230769.23\",\n    \"發票代碼\": \"142011726001\",\n    \"組織機構代碼\": \"null\",\n    \"購買方名稱\": \"蔡應時\",\n    \"銷售方名稱\": \"null\"\n}\n```",
              "processed_text": "```json\n{\n    \"不含稅價\": \"230769.23\",\n    \"發票代碼\": \"142011726001\",\n    \"組織機構代碼\": \"null\",\n    \"購買方名稱\": \"蔡應時\",\n    \"銷售方名稱\": \"null\"\n}\n```"
            }
          ]
        }
      }
    ],
    "audio": null
  },
  "usage": {
    "input_tokens": 926,
    "output_tokens": 72,
    "characters": 0,
    "image_tokens": 754,
    "input_tokens_details": {
      "image_tokens": 754,
      "text_tokens": 172
    },
    "output_tokens_details": {
      "text_tokens": 72
    },
    "total_tokens": 998
  }
}

錯誤碼

如果模型調用失敗並返回報錯資訊,請參見錯誤碼進行解決。
Qwen-OCR API參考 - Alibaba Cloud Model Studio