
OCRAI 应用【免费下载链接】zeroxOCR Document Extraction using vision models项目地址https://gitcode.com/GitHub_Trending/ze/zerox点击查看免费下载在 ZeroxREADME.md 中自述为 A dead simple way of OCR-ing a document for AI ingestion的仓库里shared/outputs/0013.md 是一份极具代表性的产物它由 3 页 PDF 金融组合报告shared/inputs/0013.pdf经由视觉模型直接转换而来完整保留了摘要、资产配置、行业分布、地域分布以及一张 32 行的税务过渡明细表。本文以这份输出文档为主体结合仓库源码与测试框架拆解 Zerox 的文档转 Markdown 流水线、表格结构的保真机制并给出可复现的实战配置。一、文档背景一份来自 Zerox 的金融报告 OCR 产物1.1 源文件与产物仓库将输入与输出分开存放输入文件位于 shared/inputs/0013.pdf对应的 OCR 输出为 shared/outputs/0013.md。从输出内容可以确认这是一份由理财顾问机构 Clark Capital 出具的客户组合分析报告共 3 页报告日期为 2023 年 1 月 31 日文末注明 As of 1/31/2023。Zerox 把整份报告的内容完整继承到了 Markdown 中覆盖组合概览组合价值 $545k股票/债券配置比例 82%/18%投资风格为 Growth资产配置现金 5.75%、美股 78.65%、非美股 3.45%、债券 12.12%、其他 0.03%组合构建方式现金、ETF、共同基金、个股股票持仓 634 只、债券持仓 9,748 只权益分析第 2 页个股 96%、ETF 4%风格矩阵、行业与地域分布及基准对比税务过渡/重叠分析第 3 页市值 $138,494、未实现收益 $19,943以及 32 行持仓明细表。1.2 它在测试体系中的定位shared/test.json 为每份输入定义了预期关键词expectedKeywords。针对0013.pdf测试期望三页输出分别命中以下类型的关键词第 1 页MSFT、AAPL、10.6%、Portfolio Value、$545k、82%/18% Stocks/Bonds、Cash、5.75、US Stocks、78.65、Total Stock Holdings、634、Total Bond Holdings、9,748等第 2 页Your Equity Allocation、82%、Individual Stocks 96%、ETFs 4%、25% - 35%、600、Equity Style、Large/Mid/Small、Sectors、Consumer Def、Bmark%等第 3 页Tax Transition/Overlap Analysis、$138,494、$19,943、PFIZER INC、($453)、RIO TINTO PLC SPONSORED ADR、ISHARES 5-10 YEAR IG CORP BOND ETF、PROCTER GAMBLE CO、PG、1/31/2023等。这意味着 shared/outputs/0013.md 不仅是演示产物还是测试基准的一部分可直接用于验证模型与流水线是否发生回归。二、Zerox 的文档转 Markdown 流水线2.1 核心逻辑README.md 给出了 Zerox 的通用逻辑正是这条链路生成了 0013.md传入文件PDF、DOCX、图片等将文件转换为一系列图片将每张图片交给视觉模型请求其输出 Markdown聚合所有页面的响应返回最终 Markdown。对金融报告这类视觉信息密度极高的文档表格、饼图、嵌套列表、页脚视觉模型天然比传统 OCR 更适合因为版面本身承载了大量语义。2.2 源码级调用链Node 实现在 node-zerox/src/index.ts 中zerox()的完整执行流程node-zerox/src/index.ts为下载/定位源文件downloadFile将本地路径或远程 URL 统一落地到临时目录node-zerox/src/index.ts分页选择pagesToConvertAsImages支持-1全部或页码数组越界页码会被过滤node-zerox/src/index.tsPDF → 图片convertPdfToImages依据imageDensity默认 300 DPI、imageHeight等参数完成转换图片压缩compressImage将超过maxImageSize默认 15MB的图片用 sharp 以递减质量90 起步、步长 10、下限 20转 JPEG 压缩node-zerox/src/utils/image.ts图片预处理cleanupImage依次执行trimEdges按左上角背景色裁剪边缘、correctOrientation用 Tesseract 对 4 个方向做 OCR 置信度比较并自动旋转node-zerox/src/utils/image.ts以及splitTallImage对超高长图按空白行切分避免超宽超高图超出模型输入限制node-zerox/src/utils/image.ts调用视觉模型createModel依据modelProviderOPENAI / AZURE / BEDROCK / GOOGLE与model构建设备适配器逐页调用getCompletion(OperationMode.OCR, ...)node-zerox/src/index.ts并发与串行默认用pLimit(concurrency)并行处理各页开启maintainFormat后改为串行将上一页 Markdown 作为下一页的上下文node-zerox/src/index.ts聚合输出按页序拼接 content若指定outputDir则写入fileName.md并返回ZeroxOutput含completionTime、inputTokens、outputTokens、pages、summary。从 shared/outputs/0013.md 可以看出流水线的预处理对金融 PDF 尤其关键报告页通常包含页脚Page 3、免责声明行而系统提示词shared/systemPrompt.txt明确要求 You must include all information on the page. Do not exclude headers, footers, or subtext因此输出中页脚与免责声明都得到了保留。2.3 源码级调用链Python 实现Python 版的核心在 py_zerox/pyzerox/core/zerox.py使用pdf2image的convert_from_path完成 PDF → 图片py_zerox/pyzerox/processor/pdf.py默认参数来自 py_zerox/pyzerox/constants/conversion.pyDPI 300、格式 PNG、尺寸(None, 1056)、线程数 4、启用 pdftocairoselect_pages支持单页或页码列表先排序再通过create_selected_pages_pdf生成子集 PDFpy_zerox/pyzerox/core/zerox.py并发控制通过asyncio.Semaphore(concurrency)实现逐页调用 LiteLLM 封装的视觉模型py_zerox/pyzerox/processor/pdf.pycustom_system_prompt可覆盖默认系统提示词py_zerox/pyzerox/core/zerox.py默认提示词定义在 py_zerox/pyzerox/constants/prompts.py其中要求表格优先用 HTML/表格表达、Logo 与页码包裹在尖括号标签内、复选框用 ☐/☑。2.4 系统提示词决定输出结构的隐形规则shared/systemPrompt.txt 与 py_zerox/pyzerox/constants/prompts.py 中 DEFAULT_SYSTEM_PROMPT 共同定义了逐页转换规则其中与 0013.md 直接相关的有Charts infographics must be interpreted to a markdown format. Prefer table format when applicable.——这解释了资产配置饼图为何被转写为百分比列表、风格箱线图为何被转写为 3×3 表格For tables with double headers, prefer adding a new column.——税务过渡表中2024/2025/2026三个年份列与主表头并存正是这一规则的体现页面页脚与免责声明被完整保留符合不排除页眉页脚子文本的要求。三、0013.md 内容拆解三层信息骨架这份 3 页报告在 Zerox 输出中呈现为三个连续的 Markdown 段落下面按页还原并解读其结构价值。3.1 第 1 页Executive Summary执行摘要输出以## Executive Summary开头先给 6 条关键观察Key Observations再给出资产配置与组合构建数据集中度风险Microsoft (MSFT) 与 Apple (AAPL) 合计占权益配置 10.6%国际化不足国际权益配置低于 Clark Capital 目标区间第 2 页进一步给出目标区间为 25%–35%市值偏向中盘超配、小盘低配行业偏离医疗健康超配、非必需消费相对基准低配固收久期比 Clark Capital 当前定位更短限制收益生成潜力且到期结构集中于 0–3 年。随后是数值快照项目数值组合价值$545k配置比例82%/18% 股票/债券投资风格Growth资产配置明细现金 5.75%、美股 78.65%、非美股 3.45%、债券 12.12%、其他/未分类 0.03%。组合构建方式现金、ETF、共同基金、个股股票总持仓 634 只债券总持仓 9,748 只。页末保留了 Page 3 的页脚与 For one-on-one use with a clients financial advisor only. Please see end disclosures for important information. 的免责声明——注意输出把本页标记为 Page 3这正是 Zerox逐页完整保留页眉页脚规则的直接证据。3.2 第 2 页Your Equity Allocation – 82%该页聚焦权益部分的关键观察个股 96%、ETF 4%规模中盘超配、小盘低配行业医疗健康超配、非必需消费相对基准低配国际化权益中仅 4% 为国际资产低于 Clark Capital 目标区间 25%–35%直接与间接股票持仓合计超过 600 只。分散化分析部分指出持有多个基金并不总能带来预期的分散收益Microsoft、Apple、Meta Platforms 等证券被直接持有且又被某个基金重复持有基金重叠加剧了组合集中度MSFT 与 AAPL 合计占权益配置 10.6%形成对单一个股波动的过度暴露。风格矩阵Equity Style被转写为标准 Markdown 表格ValueBlendGrowthLarge201332Mid15152Small210行业分布Sectors按 Cyclical / Sensitive / Defensive 三大类组织每行同时给出组合占比与基准Bmark占比分类行业组合基准CyclicalBasic Matls3.00%2.43%CyclicalConsumer Cycl5.10%11.01%CyclicalFinancial Svs10.90%12.77%CyclicalReal Estate1.62%2.52%SensitiveCommun Svs11.36%8.39%SensitiveEnergy3.37%3.91%SensitiveIndustrials9.95%8.72%SensitiveTechnology27.90%28.95%DefensiveConsumer Def6.75%6.24%DefensiveHealthcare16.56%12.68%DefensiveUtilities3.49%2.38%—Not Classified0.00%0.00%地域分布Geographic同样与基准并列呈现区域细项组合基准Americas整体96.86%95.30%AmericasNorth America96.55%95.31%AmericasLatin America0.31%0.00%Greater Europe整体2.25%3.24%Greater EuropeUnited Kingdom0.15%0.65%Greater EuropeEurope-Developed1.96%2.56%Greater EuropeEurope-Emerging0.00%0.00%Greater EuropeAfrica/Middle East0.14%0.03%Greater Asia整体0.89%1.45%Greater AsiaJapan0.23%0.94%Greater AsiaAustralasia0.00%0.32%Greater AsiaAsia-Developed0.51%0.19%Greater AsiaAsia-Emerging0.15%0.00%—Not Classified0.00%0.00%页脚同时保留了 Morningstar 自动定制基准的说明文字再次印证不遗漏页脚子文本的系统提示词规则。3.3 第 3 页Tax Transition/Overlap Analysis税务过渡/重叠分析这一页是全文档信息密度最高、最能检验视觉模型表格还原能力的部分。目标Objective为将已实现收益分摊到多个日历年度快照数据为市场价值 $138,494、未实现收益 $19,943。32 行持仓明细表被完整还原Security NameTickerUnitsCostValueGain/Loss202420252026PFIZER INCPFE23.00$1,114.91$662($453)($453)VERIZON COMMUNICATIONS INCVZ24.00$1,371.14$905($466)($466)YUM CHINA HOLDINGS INCYUMC16.00$956.83$679($278)($278)FOX CORP CL AFOXA28.00$1,132.52$830($302)($302)ROBERT HALF INCRHI9.00$654.92$391($264)($264)BIO RAD LABS INC CL ABIO2.00$819.31$645($174)($174)MEDTRONIC PLCMDT16.00$1,560.10$1,238($323)($323)MODERNA INCMRNA13.00$1,570.51$1,293($278)($278)HF SINCLAIR CORPDINO14.00$908.61$778($131)($131)RIO TINTO PLC SPONSORED ADRRIO9.00$770.59$670($100)($100)ARCHER DANIELS MIDLAND COMPANYADM16.00$1,303.25$1,156($146)($146)ISHARES 5-10 YEAR IG CORP BOND ETFIGIB118.00$6,905.54$6,136($770)($770)ISHARES 3-7YR TREASURY BOND ETFIEI79.00$8,181.57$7,953($228)($228)NEXSTAR MEDIA GROUP INCNXST7.00$1,198.95$1,097($102)($102)AFFILIATED MANAGERS GROUP INCAMG4.00$843.50$805($38)($38)COGNIZANT TECHNOLOGY SOLUTIONS CORP CL ACTSH17.00$1,341.30$1,284($57)($57)LABORATORY CORP OF AMER HOLDINGS NEWLH6.00$1,415.64$1,364($52)($52)UNUM GROUPUNM32.00$1,456.47$1,209($247)($209)PIMCO MORTGAGE OPPTYS BOND INSTL CLPMZIX311.55$2,930.57$2,957$26$26NVIDIA CORPNVDA5.00$2,477.52$2,576$98$98PIMCO ENHANCED SHORT MATURITY ACTIVE ETFMINT117.00$11,631.26$11,674$44$44ARCH CAPITAL GROUP LTDACGL7.00$393.87$418$24$24CONSOLIDATED EDISON INCED17.00$52.45$76$24$24KINGSWAY FINL SUPERMATION HOLDINGS INCKNDX1.00$92.15$100$8$8TAIWAN SEMICON MFG CO LTD SPON ADRTSM20.00$2,213.93$2,287$74$74CISCO SYSTEMS INCCSCO38.00$1,381.08$1,970$589$589ELECTRONIC ARTS INCEA7.00$912.42$945$33$33DEVON ENERGY CORP NEWDVN14.00$803.98$835$31$31MANULIFE FINANCIAL CORPMFC81.00$1,561.98$1,592$30$30PROCTER GAMBLE COPG9.00$1,284.62$1,484$200$200TEXAS INSTRUMENTS INCTXN22.00$3,540.00$3,840$300$300GILEAD SCIENCES INCGILD36.00$2,633.50$2,916$283$283紧随其后的Tax Transition段落解释了策略细节首年可针对特定 ticker、未实现收益百分比或美元金额进行处置后续年度默认沿用已识别的 ticker持仓由 Clark Capital 与理财顾问持续共同监控提前清算需客户指示损益估计基于客户提供的成本基础数据实际清算时的损益会存在差异最终方案将以到账后更新的过渡计划为准The final plan will likely vary from the illustration shown here.。页末保留了 As of 1/31/2023 与免责声明。这一页最能说明视觉模型方案的价值宽表8 列 × 32 行、多级表头年度列、括号负数格式、货币与千分位符号全部被结构化还原直接可作为下游财务分析的输入。四、测试框架如何校验这份输出4.1 关键词比对机制node-zerox/tests/index.ts 是仓库自带的回归测试入口它读取 shared/test.json遍历每份输入文件以zerox()执行 OCR然后用compareKeywordsnode-zerox/tests/utils.ts逐页将输出的小写化内容与预期关键词做包含比对统计keywordsFound/keywordsMissing最终输出每份文件的命中率与总体准确率。对于0013.pdf第 3 页的预期关键词覆盖了表格中的代表性实体PFIZER INC、RIO TINTO PLC SPONSORED ADR、ISHARES 5-10 YEAR IG CORP BOND ETF、PROCTER GAMBLE CO、PG与关键数值$138,494、$19,943、($453)、$283这为宽表内容被完整转写提供了可量化的验收标准。4.2 可重复性设计测试脚本支持通过FILE_CONCURRENCY默认 10控制文件级并发输出目录按时间戳隔离test-run-${Date.now()}并把tempDir指向结果目录下的temp文件夹以保留中间产物node-zerox/tests/index.ts。运行方式为在 node-zerox 目录下执行测试入口仓库同时提供 jest.config.js 与 package.json 中的脚本配置需要设置OPENAI_API_KEY环境变量node-zerox/tests/index.ts。五、实战复现用 Zerox 处理金融报告类 PDF5.1 Node 方式安装 zerox 与 PDF → 图片转换依赖Linux 需 graphicsmagicknpm install zerox sudo apt-get update sudo apt-get install -y graphicsmagick处理 shared/inputs/0013.pdfimport { zerox } from zerox; import path from path; const result await zerox({ filePath: path.resolve(__dirname, shared/inputs/0013.pdf), credentials: { apiKey: process.env.OPENAI_API_KEY, }, outputDir: path.resolve(__dirname, shared/outputs), concurrency: 10, });关键可选参数来源README.md 参数清单与 node-zerox/src/types.ts参数默认值说明cleanuptrue运行后是否清理临时图片concurrency10并发处理的页数correctOrientationtrue用 Tesseract 自动识别并纠正页面方向errorModeIGNORETHROW或IGNORE控制失败页行为maintainFormatfalse串行处理把上一页 Markdown 作为下一页上下文利于跨页表格maxRetries1单页失败重试次数modelgpt-4o视觉模型支持 OPENAI/AZURE/BEDROCK/GOOGLE 各系列pagesToConvertAsImages-1页码数组或单个数字-1表示全部tempDir系统临时目录中间文件目录trimEdgestrue按背景色裁剪边缘像素maxImageSize15图片压缩上限MBoutputDir无聚合结果写入fileName.md的目录值得强调的是maintainFormat对 0013.pdf 这类表格可能跨页的文档串行模式Request #1 → page_1_imageRequest #2 → page_1_markdown page_2_image以此类推能显著改善跨页表格的一致性代价是请求从并行退化为串行README.md。5.2 Python 方式先安装 poppler保证pdftocairo在 PATH 中py_zerox 的 PDF 转换默认启用use_pdftocairo见 py_zerox/pyzerox/constants/conversion.py再安装 SDKpip install py-zeroximport asyncio, os from pyzerox import zerox os.environ[OPENAI_API_KEY] your-api-key async def main(): result await zerox( file_pathshared/inputs/0013.pdf, modelgpt-4o-mini, output_dirshared/outputs, select_pagesNone, # None 处理全部或传 int / 页码列表 concurrency10, maintain_formatFalse, # 跨页表格可开启 ) return result result asyncio.run(main()) print(result)Python 端参数签名见 py_zerox/pyzerox/core/zerox.py还包括image_density默认 300、image_height默认(None, 1056)、temp_dir、custom_system_prompt覆盖默认提示词、cleanup等kwargs会透传给 LiteLLM 的completion方法。5.3 面向金融文档的推荐组合从 0013.pdf 的输出特征看处理金融报告类文档时建议开启correctOrientation默认开启应对扫描版季度报告的方向混乱保留trimEdges去除页眉页脚边缘噪声避免误导表格识别若表格跨页如长持仓明细开启maintainFormat/maintain_format对超大报告先按页码抽样pagesToConvertAsImages/select_pages验证模型输出质量后再全量处理借助outputDir把聚合 Markdown 直接落盘便于审计与归档。六、适用前提与限制本文数据均来自仓库中 shared/outputs/0013.md 的 OCR 产物该产物是对 shared/inputs/0013.pdf 的视觉模型转写原文中收益/损失数值与注释如成本基础由客户提供、最终方案会变化表明其属于演示性报告不应视为真实投资建议。视觉模型的转写质量依赖模型能力与系统提示词shared/systemPrompt.txt数值、表格与图形的还原度以 shared/test.json 定义的关键词为验收基准仓库并未对外宣称任何精确度指标。Node 与 Python 两个实现的功能边界存在差异例如结构化抽取schema、extractPerPage仅 Node 支持custom_system_prompt仅 Python 支持选型时可参考 README.md 的特性对照表。运行示例需要有效的视觉模型凭证如OPENAI_API_KEY与 PDF 转换依赖graphicsmagick / poppler否则对应步骤会失败。通过 shared/outputs/0013.md 这一实例可以完整看到 Zerox 从金融报告 PDF到结构化 Markdown的价值复杂宽表、风格矩阵、行业与地域分布、页脚免责声明都被忠实还原且与测试基准、源码流水线一一对应。这份输出既是演示也是可直接复用的验收样例。赞分享OCRAI 应用【免费下载链接】zeroxOCR Document Extraction using vision models项目地址https://gitcode.com/GitHub_Trending/ze/zerox点击查看免费下载相关推荐GLM-OCR 手写体识别实战从手写稿到结构化 Markdown 的完整解析GLM OCR 手写体识别实战从手写稿到结构化 Markdown 的完整解析 本篇文章以 GLM OCR 仓库中一份真实的手写体识别结果为切入点完整拆解「手人工智能大模型计算机视觉OCR本地部署AI 技能External Secrets Operator 实战使用 dataFrom 一次性提取远端密钥为单个 Kubernetes SecretExternal Secrets Operator 实战使用 dataFrom 一次性提取远端密钥为单个 Kubernetes Secret ExternalOCRAI 应用Kronos金融模型终极指南从入门到实战的完整路径在金融科技快速发展的今天AI技术正以前所未有的速度改变着投资决策的方式。Kronos作为首个专门为金融市场语言设计的开源基础模型正在为普通投资者和专业交易员人工智能大模型基础模型预训练金融科技上一篇3DS宝可梦存档管理终极指南PKSM全方位使用教程下一篇OctoPrint 的 命令AT Commands全解析内置命令、两阶段处理流程与插件扩展指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考