技巧 · Anthropic Claude Platform Documentation + Markaicode
以100%准确率提取发票数据:Claude视觉 + 结构化输出工作流
图片: Kelly Sikkema 来自 Unsplash
告别手动发票提取的困扰。将Claude的视觉能力与保证的JSON输出相结合,自动提取发票字段——供应商、金额、日期、条款——并生成经过验证、可直接入库的JSON。这种生产级技术确保零解析错误,无需正则表达式变通方案或重试循环。
发票提取是最常见的后台自动化任务之一,但大多数团队仍然依赖在手写字段或不规则版式上容易出错的OCR工具。Claude的视觉能力在此表现出色,因为它理解的是上下文——而不仅仅是像素。但输出的一致性才是真正的挑战:你需要的是数据库无需异常处理体操即可直接接受的结构化JSON。
解决方案是将Claude的视觉分析与结构化输出相结合,这一功能将格式约束从提示层移入模型的推理引擎。当您通过tool_use将视觉与结构化输出结合使用时,Claude不可能输出无效JSON——API通过约束token采样,从构造上保证模式合规。无需try/except代码块。无需后备解析器。无需失败的导入。
工作流如下:首先,将扫描的发票或收据图片上传到Claude。其次,定义您的提取模式——一个指定invoice_id、vendor_name、date、total_amount、payment_terms、line_items等字段的JSON结构。第三,使用结构化输出参数,并将tool_choice设置为您的提取工具。Claude读取视觉内容并返回与您的模式完全匹配的经过验证的JSON。行业测试表明,即使扫描质量较差,这种方法在金融文档首次处理中的准确率也达到94%以上。
对于批量处理,可通过Claude的批量API(按token计费享50%折扣)路由多张发票,在一夜之间处理100张以上发票。将模式定义存储在您的代码库中——修改它会立即使语法缓存失效24小时,但仅编辑字段描述可保持缓存有效。大批量处理从Claude Sonnet 4.6(输入token每百万3美元)开始,对于推理质量比速度更重要的复杂多页文档,可升级到Opus 4.6。一个关键细节:API中引用无法与JSON输出结合使用,因此如果您需要在同一请求中同时获得透明性和结构化,请先提取JSON,然后提出后续问题获取解释。