事情本身不复杂,线索都在日志里。把一份 120 页的产品手册直接传给视觉模型,接口返回 400,原文 PDF exceeds the maximum of 100 pages,同目录下 80 页的文件正常。
第一反应是「扫描页分辨率高时还会先撞体积上限」,验证下来不成立。
把日志和配置对完,能解释这个现象的基本就这几处。单次请求的 PDF 页数有硬上限。也可能是页数限制与文件体积限制是两条独立规则。
另外,分片后每片仍带完整目录,页数再次超限。
动手时先用 pdfinfo 确认总页数
pdfinfo manual.pdf | Select-String Pages
然后按 50 页一段拆分文件
python split_pdf.py --input manual.pdf --pages 50 --outdir parts/
随后逐段上传并保存每段结果
for f in parts/*.pdf; do python call_api.py --file "$f" --out "$f.json"; done
等前面都确认过,再合并结果时按页码回填目录
python merge_pdf_result.py --pattern 'parts/*.json' --out merged.json
同事提醒我看一下最近一次发布,时间点确实对得上。
改完先别撤,确认这几项。所有分片都返回 200,合并后的条目覆盖 120 页,目录页码与原文件一致。
容易忽略的是,页数和体积是两套限制,拆文件时要同时控制单页分辨率和分片页数。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
