阿里云大模型服务平台百炼(Model Studio)的 PDF 理解能力:VL 模型直接解析并理解 PDF 文档,提取文字与图片内容进行分析。通过 OpenAI 兼容 Chat Completions 接口或 DashScope 接口调用,支持 URL 和 Base64 两种传入方式。
关键坑点
- 不支持 Responses API:用 Responses API 传 PDF 时请求返回 HTTP 200,但文件不会传递给模型(静默失败)。必须走 Chat Completions 或 DashScope 协议。
- 首包超时最长 300 秒:PDF 解析比普通文本请求耗时长,建议开
stream=True实时取结果。 - Base64 体积膨胀约 1/3:150MB 文件编码后约 200MB,会超请求体上限;大文件必须用 URL 方式。
- URL 参数仅支持字符串,不支持 list 形式。
支持的模型与地域
| 模型 | 支持地域 |
|---|---|
| qwen3.8-max、qwen3.8-max-0902、qwen3.8-flash | 华北2(北京)、新加坡、美国(弗吉尼亚)、中国香港、日本(东京)、德国(法兰克福) |
| qwen3.8-27b | 华北2(北京) |
调用方式
OpenAI 兼容协议
content 数组中使用 type: "file" 元素:
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
# 华北2(北京)地域,{WorkspaceId} 替换为真实业务空间ID,各地域 URL 不同
base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen3.8-max",
messages=[
{
"role": "user",
"content": [
{"type": "file", "file": {"file_url": "https://example.com/doc.pdf"}},
{"type": "text", "text": "总结一下这个PDF文档的内容"},
],
}
],
stream=True,
stream_options={"include_usage": True},
)Base64 方式(filename 必填):
{"type": "file", "file": {
"file_data": f"data:application/pdf;base64,{pdf_base64}",
"filename": "report.pdf"
}}DashScope 协议
用 MultiModalConversation.call,content 数组中直接放 file_url / file_data 元素:
from dashscope import MultiModalConversation
import dashscope
dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"
messages = [{"role": "user", "content": [
{"file_url": "https://example.com/doc.pdf"},
{"text": "总结一下这个PDF文档的内容"},
]}]
completion = MultiModalConversation.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3.8-max",
messages=messages,
stream=True,
incremental_output=True,
)HTTP 端点:POST /api/v1/services/aigc/multimodal-generation/generation,流式需加 X-DashScope-SSE: enable 头。
请求参数(file 元素)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
file_url | string | 二选一 | PDF 下载地址 |
file_data | string | 二选一 | Base64 输入,格式 data:application/pdf;base64,xxx |
filename | string | 条件必填 | 使用 file_data 时必填 |
file_format | string | 否 | 当前仅支持 pdf,默认 pdf |
限制
| 项目 | 限制 |
|---|---|
| 单文件大小 | 150MB |
| 单文档页数 | 500 页 |
| 首包超时 | 最长 300 秒 |
计费
- 模型调用费:PDF 解析出的文字与图片计入输入 Token,按模型标准输入价计费。
- 文档解析费:按页数计费。华北2(北京)、美国(弗吉尼亚)、中国香港、日本(东京)、德国(法兰克福)为 0.02 元/页;新加坡为 0.024 元/页。
相关页面
- openai-responses-vs-chat-completions — 本页「Responses API 静默失败」坑点的协议背景:兼容 ≠ 能力对齐
- claude-code — 同类 Agent 工具中的文档处理对比参考