Skip to main content
更多模型

Qwen-OCR API参考

本文介绍通过OpenAI兼容接口 或 DashScopeAPI 调用通义千问OCR 模型的输入与输出参数。
相关文档:文字提取(Qwen-OCR)

OpenAI 兼容

  • 华北2(北京)地域
  • 新加坡地域
  • 美国(弗吉尼亚)地域
SDK 调用配置的base_url为:https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1HTTP 调用配置的endpointPOST https://{WorkspaceId}.cn-beijing.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="sk-xxx"
        # 各地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
        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}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
    )
    completion = client.chat.completions.create(
        model="qwen3.5-ocr",
        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}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generationSDK 调用无需配置 base_url
您需要已获取与配置 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

# 以下为华北2(北京)地域的URL,调用时请将 {WorkspaceId} 替换为真实的业务空间ID,各地域的URL不同。
dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"

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不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model='qwen3.5-ocr',
    messages=messages,
    # 设置内置任务为高精识别
    ocr_options={"task": "advanced_recognition"}
)
# 高精识别任务的文本与坐标结果从 ocr_result 字段中获取
print(response["output"]["choices"][0]["message"].content[0]["ocr_result"])

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 原始字节列表,用于精确还原输出内容,在处理表情符号、中文字符时有帮助。logprob float当前 Token 的对数概率。返回值为 null 表示概率值极低。top_logprobs array当前 Token 位置最可能的若干个 Token 及其对数概率,元素个数与入参的top_logprobs保持一致。
token string当前 Token。bytes array当前 Token 的 UTF‑8 原始字节列表,用于精确还原输出内容,在处理表情符号、中文字符时有帮助。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
  }
}

错误码

如果模型调用失败并返回报错信息,请参见错误码进行解决。