基于 PaddleOCR-VL-1.6 多模态大模型,提供开箱即用的文档智能解析能力。
PaddleOCR-VL-1.6-0.9B 是多模态文档解析领域的 SOTA 方案,具备:
特性PaddleOCR-VL(本 Skill)标准版(pipeline-parser)底层模型多模态大模型 VLM传统 Pipeline语言支持100+ 种20+ 种公式/图片识别默认开启,无需配置需手动开启参数语种识别自动识别,无需指定需指定 language_type版面类型24 种细粒度类型8 种基础类型行坐标支持不支持多边形坐标支持(polygon)仅矩形框文件大小版式 ≤100M,PDF ≤500 页PDF ≤300M,≤2000 页
当用户需要:
用户类型免费额度个人实名认证用户200 页企业实名认证用户1000 页
使用前请设置以下环境变量:
bash
export BAIDU_DOC_AI_API_KEY="your_api_key"
export BAIDU_DOC_AI_SECRET_KEY="your_secret_key"
通过 API Key 和 Secret Key 获取 access_token,有效期 30 天。所有接口请求需以 URL 参数 access_token 携带。
版式文档:pdf, jpg, jpeg, png, bmp, tif, tiff, ofd(图片最长边不大于 8192px)
流式文档:doc, docx, txt, wps, ppt, pptx
100+ 种语言,包括中文、英文、日文、韩文、拉丁文等, 无需手动指定,大模型自动识别。
bash
python3 scripts/baidu_doc_vlm_parser.py --file_data <文件的base64编码> --file_name "test.pdf"
python3 scripts/baidu_doc_vlm_parser.py --file_url <文件公网URL> --file_name "test.pdf"
文档解析(PaddleOCR-VL)API 服务为异步接口,需要先调用 提交请求接口 获取 task_id,然后调用 获取结果接口 进行结果轮询。
https://aip.baidubce.com/rest/2.0/brain/online/v2/paddle-vl-parser/task?access_token={token}application/x-www-form-urlencodedpython
import requests, os, base64
def create_task(url, file_path, file_url):
with open(file_path, "rb") as f:
file_data = base64.b64encode(f.read())
data = {
"file_data": file_data,
"file_url": file_url,
"file_name": os.path.basename(file_path)
}
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
return requests.post(url, headers=headers, data=data)
request_host = "https://aip.baidubce.com/rest/2.0/brain/online/v2/paddle-vl-parser/task?access_token={token}"
response = create_task(request_host, "./test.pdf", "")
print(response.json())
成功响应示例:
json
{
"error_code": 0,
"error_msg": "",
"log_id": "10138598131137362685273505665433",
"result": { "task_id": "task-3zy9Bg8CHt1M4pPOcX2q5bg28j26801S" }
}
https://aip.baidubce.com/rest/2.0/brain/online/v2/paddle-vl-parser/task/query?access_token={token}application/x-www-form-urlencodedtask_id(必填,提交请求时返回的 task_id)python
import requests
def query_task(url, task_id):
data = {"task_id": task_id}
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
return requests.post(url, headers=headers, data=data)
request_host = "https://aip.baidubce.com/rest/2.0/brain/online/v2/paddle-vl-parser/task/query?access_token={access_token}"
resp = query_task(request_host, "task_id")
print(resp.json())
参数必选类型说明file_data和 file_url 二选一string文件 Base64 编码数据。版式文档:pdf, jpg, jpeg, png, bmp, tif, tiff, ofd(图片最长边不大于 8192px);流式文档:doc, docx, txt, wps, ppt, pptx。图片不超过 10M,版式文档不超过 100M,流式文档不超过 50M,PDF 最大 500 页。超过 50M 须使用 file_url。优先级:file_data > file_urlfile_url和 file_data 二选一string文件数据 URL,长度不超过 1024 字节。PDF 文档不超过 100M,最大 500 页。 请注意关闭 URL 防盗链file_name是string文件名,请保证文件名后缀正确,例如 "1.pdf"
参数必选类型说明recognize_formula-bool无需开启,大模型默认对版式类型文档进行公式识别analysis_chart否bool是否对统计图表进行解析parse_image_layout-bool无需开启,大模型默认解析文档中的所有图片language_type-string无需开启,大模型默认识别语种类型merge_tables否bool是否将跨页表格合并输出,开启后 tables 内返回跨页表格合并标识relevel_titles否bool是否对段落标题(paragraph_title)进行分级,开启后在 sub_type 中输出标题级别recognize_seal否bool是否识别印章内容return_span_boxes否bool是否返回行坐标
字段类型说明log_iduint64唯一的 log id,用于问题定位error_codeint错误码error_msgstring错误描述信息result.task_idstring该请求生成的 task_id
字段类型说明result.task_idstring任务 IDresult.statusstring任务状态:pending(排队中)、processing(运行中)、success(成功)、failed(失败)result.task_errorstring解析报错信息(任务失败、额度耗尽等)result.markdown_urlstringMarkdown 格式结果链接, 有效期 30 天result.parse_result_urlstringJSON 格式结果 BOS 链接, 有效期 30 天
顶层字段: file_name、 file_id、 pages[]。
字段类型说明page_idstring页码 IDpage_numint页码数textstring当前页所有纯文字内容layoutslist版式分析结果tableslist表格解析结果imageslist图片解析结果metadict页面元信息(page_width, page_height)
字段类型说明layout_idstring唯一标志,格式 "xxxxx-layout-{global_layout_index}"textstring文本内容(type 为 table/image 时为空)positionlist位置 [x, y, w, h]polygonlist顶点坐标列表,可围合成多边形span_boxeslist行信息(开启 return_span_boxes 后生效),含 text 和 locationtypestring版面元素类型(见下表)sub_typestring标题层级(开启 relevel_titles 后生效)
版面类型(type)— 24 种细粒度类型:
类型说明类型说明text文本table表格image图片chart图表doc_title文档标题paragraph_title段落标题figure_title图片标题display_formula公式inline_formula行内公式formula_number公式编号header页眉footer页脚header_image页眉图片footer_image页脚图片number页码abstract摘要algorithm算法aside_text旁注文本content目录footnote脚注reference参考文献reference_content参考文献内容seal印章vertical_text竖排文本
字段类型说明layout_idstring对应 layouts 中 type 为 table 的 layout IDmarkdownstring表格 Markdown 形式positionlist边框数据 [x, y, w, h]cellslist单元格内版面信息(扁平列表)matrixlist2D 单元格索引矩阵,元素为 cells 数组下标;相同下标重复出现表示合并单元格merge_tablestring合并标识(开启 merge_tables 后):begin(开始)、end(结束)
字段类型说明layout_idstring对应 layouts 中 type 为 image 的 layout IDpositionlist边框数据 [x, y, w, h]data_urlstring图片存储链接image_descriptionstring统计图表内容解析(JSON 字符串,需 json.loads 解析)
task_idtask_id 调用获取结果接口轮询限制项说明图片大小≤ 10M,最长边 ≤ 8192px版式文档大小≤ 100M流式文档大小≤ 50MPDF 页数≤ 500 页URL 长度≤ 1024 字节优先级file_data > file_url
常见错误码示例:
错误码说明282003missing parameters(缺少必要参数)282007task not exist, please check task id(任务不存在)
完整错误码参见 references/error_codes.md 及 OCR 错误码文档。
失败响应示例:
json
{
"log_id": "13665091038742503867108513247608",
"error_code": "282007",
"error_msg": "task not exist, please check task id",
"result": "null"
}
数据来源: 百度智能云 OCR 计费说明
登录 文字识别控制台 自动领取:
用户类型免费额度个人实名认证用户200 页企业实名认证用户1000 页
限时活动价 9 元/千页,面向新用户。
有效期 1 年,到期未抵扣额度作废。购买后 7 天内若未产生调用可自助退订。
规格(页)原价(元)现价(元)5,00042523010,00080044050,0003,7502,000100,0007,7003,800200,00014,3007,200500,00033,00017,0001,000,00054,00032,0002,000,000(新增)—62,0005,000,000210,000150,000
scripts/baidu_doc_vlm_parser.py:文档解析主程序,支持命令行快速调用references/parameters.md:完整 API 参数与返回结构详解references/error_codes.md:完整错误码参考references/apikey-fetch.md:API Key 配置指南