import os
import dashscope
dashscope.base_http_api_url = 'https://dashscope.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=os.getenv('DASHSCOPE_API_KEY'),
model='qwen-vl-ocr-latest',
messages=messages,
# 将内置任务设置为高精度识别。
ocr_options={"task": "advanced_recognition"}
)
# 高精度识别任务以纯文本形式返回结果。
print(response["output"]["choices"][0]["message"].content[0]["text"]){
"status_code": 0,
"request_id": "<string>",
"code": "<string>",
"message": "<string>",
"output": {
"text": "<string>",
"finish_reason": "<string>",
"choices": [
{
"finish_reason": "<string>",
"message": {
"role": "assistant",
"content": [
{
"text": "<string>",
"ocr_result": {
"kv_result": {},
"words_info": [
{
"rotate_rect": [
0
],
"location": [
0
],
"text": "<string>"
}
]
}
}
],
"logprobs": {
"content": [
{
"token": "<string>",
"bytes": [
0
],
"logprob": 0,
"top_logprobs": [
{
"token": "<string>",
"bytes": [
0
],
"logprob": 0
}
]
}
]
}
}
}
]
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"total_tokens": 0,
"characters": 0,
"image_tokens": 0,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 0
},
"output_tokens_details": {
"text_tokens": 0
}
}
}鉴权
千问云 API Key。详见获取 API Key。
请求体
application/json包含消息的输入对象。
显示子属性
显示子属性
以消息序列形式提供给模型的上下文。
显示子属性
显示子属性
必须为 user。
消息内容,图像输入使用数组格式。
显示子属性
显示子属性
输入文本。默认值:Please output only the text content from the image without any additional descriptions or formatting.
图像的 URL、Base64 Data URL 或本地路径。有关传入本地文件的更多信息,请参见传入本地文件。
是否对倾斜图像进行校正。
输入图像的最小像素阈值(单位:像素)。如果输入图像的像素数低于 min_pixels,则图像会被放大,直到总像素数超过 min_pixels。
图像 token 与像素的换算关系:
- qwen-vl-ocr-latest、qwen-vl-ocr-latest:每个 token 对应 32×32 像素。
- qwen-vl-ocr、qwen-vl-ocr-2025-08-28 及更早版本:每个 token 对应 28×28 像素。
取值范围:
- qwen-vl-ocr-latest、qwen-vl-ocr-latest:默认值和最小值为 3072(3×32×32)。
- qwen-vl-ocr、qwen-vl-ocr-2025-08-28 及更早版本:默认值和最小值为 3136(4×28×28)。
输入图像的最大像素阈值(单位:像素)。如果输入图像的像素数在 [min_pixels, max_pixels] 范围内,模型将直接处理原始图像,不进行缩放。如果像素数超过 max_pixels,则图像会被缩小,直到像素数小于 max_pixels。
图像 token 与像素的换算关系:
- qwen-vl-ocr-latest、qwen-vl-ocr-latest:每个 token 对应 32×32 像素。
- qwen-vl-ocr、qwen-vl-ocr-2025-08-28 及更早版本:每个 token 对应 28×28 像素。
取值范围:
- qwen-vl-ocr-latest、qwen-vl-ocr-latest:默认值 8388608(8192×32×32),最大值 30720000(30000×32×32)。
- qwen-vl-ocr、qwen-vl-ocr-2025-08-28 及更早版本:默认值 6422528(8192×28×28),最大值 23520000(30000×28×28)。
模型参数。
显示子属性
显示子属性
内置 OCR 任务的配置项。使用内置任务时,模型会使用默认提示词,无需在用户消息中传入文本。最低 SDK 版本要求:Python 1.22.2,Java 2.18.4。
输出的最大 token 数。如果生成内容超过该值,响应将被截断。
- 对于 qwen-vl-ocr-latest、qwen-vl-ocr-latest 和 qwen-vl-ocr-2024-10-28,默认值和最大值与模型的最大输出长度相同。
- 对于 qwen-vl-ocr、qwen-vl-ocr-2025-04-13 和 qwen-vl-ocr-2025-08-28,默认值和最大值均为 4096。
用于复现结果的随机数种子。取值范围:[0, 2^31−1]。
采样温度。值越高越多样,值越低越确定。取值范围:[0, 2)。temperature 和 top_p 只能设置其中之一。
核采样阈值。取值范围:(0, 1.0]。temperature 和 top_p 只能设置其中之一。
采样候选集大小。值越大随机性越高。必须 >= 0。
重复序列的惩罚系数。1.0 表示不惩罚。
控制内容重复程度。取值范围:[-2.0, 2.0]。
停止词。可以是字符串或数组。stop 为数组时,不能混用 token_id 和字符串。
是否返回对数概率。支持的版本:qwen-vl-ocr-2025-04-13 及更高版本。
每个生成步骤中返回的最可能 token 数量。取值范围:[0, 5]。仅在 logprobs 为 true 时生效。
流式输出时,true 表示每个数据块仅返回新生成的内容;false 表示返回累积的完整内容。
指定是否流式返回响应。
- Python SDK:在调用时设置
stream=True。 - Java SDK:使用
streamCall接口。 - HTTP:在请求头中设置
X-DashScope-SSE: enable。
响应
请求状态码。200 表示成功。Java SDK 不返回此字段。
本次调用的唯一标识符。Java SDK 返回 requestId。
错误码。成功时为空。仅由 Python SDK 返回。
错误信息。成功时为空。
调用结果信息。
显示子属性
显示子属性
当前固定为 null。
生成中为 null,完成时为 stop,截断时为 length。
模型输出。
显示子属性
显示子属性
生成中为 null,完成时为 stop,截断时为 length。
显示子属性
显示子属性
始终为 assistant。