文档解析测试PDF,欢迎挑战

B站影视 电影资讯 2025-06-21 15:10 1

摘要:满分10分,看看不同测试对象把整个pdf转成markdown可以拿到多少分?(目前测试字节的Dolphin,感觉可以拿4分的样子),具体如下:

大家好,我是 Ai 学习的老章

最近在看文档处理方面的模型和工具,准备写个新系列,聚焦大模型文档处理,记录模型特性与功能,本地部署,实际测试。

我准备了一个测试PDF文档,其中包括:

2张单独测试图片

3个图片形式数学公式

1段图文

图文中有:

3张图片

2小段+1长段代码块

一二三级标题,加粗、引用、有序列表、无序列表、emoji、行内代码、分割线,下划线

满分10分,看看不同测试对象把整个pdf转成markdown可以拿到多少分?(目前测试字节的Dolphin,感觉可以拿4分的样子),具体如下:

测试图片1(1分)

测试图片2(1分)测试手写公式1(1分):测试印刷公式2(1分)测试复杂表格(1分)测试图文(5分)本文,先看一个刚刚开源的 OCR 模型——Nanonets-OCR-s

简介

这个模型基于Qwen2.5-VL-3B微调而来,可以理解输入文档(PDF、图片等)结构和内容上下文(如表格、公式、图像、图表、水印、复选框等),输出智能格式化的Markdown内容,可直接供大模型进行下游处理。

特性与功能

LaTeX 方程识别:自动将数学方程和公式转换为正确格式的 LaTeX 语法。它可以区分内联 ($...$) 和显示 ($$...$$) 方程

智能图像描述:使用结构化的标签描述文档中的图像,使其易于 LLM 处理。它可以描述各种类型的图像,包括徽标、图表等,并详细说明其内容、风格和上下文。

签名检测与隔离:从其他文本中识别并隔离签名,并将其放在标签中。这对于处理法律和商业文件至关重要。

水印提取:检测并从文档中提取水印文本,并将其放在标签中。

智能复选框处理:将表单中的复选框和单选按钮转换为标准化的 Unicode 符号 (☐☑☒),以实现一致且可靠的处理。

复杂表格提取:准确地从文档中提取复杂表格,并将其转换为 Markdown 和 HTML 表格格式。

安装部署

模型文件只有不到 8GB

https://modelscope.cn/models/nanonets/Nanonets-OCR-s/files下载模型pip install modelscope mkdir nanonets-ocr cd nanonets-ocr modelscope download --model nanonets/Nanonets-OCR-s --local_dir .启动 vLLM 服务器pip install vllm vllm serve . --model_name nanonets-ocr --port 8000

我不确定最低 vllm 版本,亲测 0.8.5 是不行的,升级到 0.9.1 后启动 ok

模型加载时飞速的,vllm 内部变异和图优化过程 1 分钟

显存占用主要是模型权重和 KV 缓存,差不多 9GB

看到下面这个就说明启动成功了

使用模型,官方给出了参考代码(把 localhost:8000 才成实际运行的端口号即可):

from openai import OpenAI import base64 client = OpenAI(api_key="123", base_url="http://localhost:8000/v1") model = "nanonets/Nanonets-OCR-s" def encode_image(image_path): with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read).decode("utf-8") def ocr_page_with_nanonets_s(img_base64): response = client.chat.completions.create( model=model, messages=[ { "role": "user", "content": [ { "type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_base64}"}, }, { "type": "text", "text": "Extract the text from the above document as if you were reading it naturally. Return the tables in html format. Return the equations in LaTeX representation. If there is an image in the document and image caption is not present, add a small description of the image inside the tag; otherwise, add the image caption inside . Watermarks should be wrapped in brackets. Ex: OFFICIAL COPY . Page numbers should be wrapped in brackets. Ex: 14 or 9/22 . Prefer using ☐ and ☑ for check boxes.", }, ], } ], temperature=0.0, max_tokens=15000 ) return response.choices[0].message.content test_img_path = "/path/to/your/document.jpg" img_base64 = encode_image(test_img_path) print(ocr_page_with_nanonets_s(img_base64))官方还提供了一个本地文档智能工具包——docext:

提供三大核心功能:

PDF 及图片转 Markdown 转换:通过智能内容识别将文档转化为结构化 Markdown,支持 LaTeX 公式、签名、水印、表格及语义标签处理。文档信息提取:无需 OCR 技术即可从发票、护照等各类文档中提取结构化信息(字段、表格等),并提供置信度评分。智能文档处理排行榜:一个综合性基准测试平台,用于追踪和评估视觉语言模型在 OCR、关键信息提取 (KIE)、文档分类、表格提取等智能文档处理任务中的性能表现。One More Thing

模型基于 Qwen2.5-VL-3B-Instruct,完全可以商用,免费。

7b 版本正在路上

这家公司蛮有意思的,它还做过一个用大模型改写简历的工具:https://resume.nanonets.com/

制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个,谢谢你看我的文章,我们下篇再见!

来源:星亨聊科技

相关推荐