尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
AI 识别票据之后:金额、币种和原文证据要分开校验
票据图片变成JSON只完成录入的一部分。界面显示total为1200时用户还需要知道它是哪一种币种模型有没有把“1.200,00”按另一种格式解释。比“全自动记账”更值得做好的是让人快速发现不该自动入账的字段。2026年10月19日Cloudflare发布Clairic提取模型预览介绍从非结构化输入中提取数值的能力。发布说明 本文没有调用该模型也不复现厂商准确率。即使换成专门模型字段进入财务系统之前的应用校验仍然存在。保存值也保存出处我会把字段拆为原文、规范值、币种、页码和复核状态。原文“1.200,00 €”可规范为“1200.00”但转换规则必须来自明确地区或人工选择不能简单删除全部逗号。金额关系也需要语义。税额可能已经包含在单价里折扣、运费可能单列。没有文档含义拿两个字段相加也可能是在验证错误公式。用户点击金额应该回到原文区域并看到币种及转换方式。置信度可以帮助排序不能代替原文缺少出处时直接显示“缺证据”。拒绝猜测地区下面只支持事先指定的两种格式拒绝不符合分组约定的输入不处理货币符号也不自动猜测地区。from decimal import Decimal import re def amount(raw, style): patterns { en: r(?:\d|\d{1,3}(?:,\d{3}))\.\d{2}, de: r(?:\d|\d{1,3}(?:\.\d{3})),\d{2} } if style not in patterns or not isinstance(raw, str): raise ValueError(unsupported format) if not re.fullmatch(patterns[style], raw): raise ValueError(needs human review) value raw.replace(,, ) if style en else raw.replace(., ).replace(,, .) return Decimal(value) assert amount(1,200.00, en) Decimal(1200.00) assert amount(1.200,00, de) Decimal(1200.00) try: amount(12,34.56, en) raise AssertionError(invalid grouping accepted) except ValueError: pass print(amount: 3 cases passed)保存为amount.py运行python3 amount.py。从字符串构造Decimal可以避免先经过二进制浮点数再带入误差。Python文档解释了其十进制计算和舍入机制。负数、零位小数币种、贷项通知和舍入政策仍须另行设计。结构正确也可能认错数字Structured Outputs文档区分JSON模式与受Schema约束的输出。票据上的“8”被认成“3”仍可能满足数字字段。UI不能把结构校验的绿勾解释成财务正确。更稳妥的路径是先检查结构再检查格式与字段关系需要复核的内容进入人工队列。只有确认后的结果才能导出修改保留前后值与原因。本地例子只验证金额解析规则没有测试OCR、模型、真实票据集合、财务软件集成或地区税务适用性。让每项检查的范围可见才能知道这段代码适合放在系统的哪一层。
RELATED

相关推荐

把一张穿孔卡做成可导出的 SVG

把一张穿孔卡做成可导出的 SVG

复古界面最容易做出“像真的”,也最容易顺手写下“仿真”。一张浅黄色卡片,配上等距孔位,就有了老机器的气息;但它并没有因此成为历史设备的编码器。 这个小工具只做一件事:把一段短 ASCII 文本转换为八位二进制&…

📅 2026/10/25 20:37:02
ASCII 图像先校正字符比例

ASCII 图像先校正字符比例

把照片变成字符画,最直观的办法是把灰度映射到一串字符。可第一次做出来,圆形常常变成长椭圆:问题未必在灰度公式,而在字符本身不是正方形。 等宽字体只保证字符之间等宽,不保证一个字格的宽和高相等。假设实测字格宽…

📅 2026/10/25 20:37:02
给代码写诗助手一份能验收的任务单

给代码写诗助手一份能验收的任务单

“帮我做得更有秋天的感觉”,可以开启讨论,却很难结束一次交付。模型不知道要保留哪些素材,也不知道“更好看”到底对应什么检查。最后常常得到一份流畅提案,和一堆没人敢覆盖的文件。 我给轻量创作工具设计任务单时,…

📅 2026/10/25 20:37:02
MORE NEWS

更多资讯

📰

5600亿参数开源全模态模型的技术解析与应用实践

1. 项目概述:5600亿参数开源全模态模型的突破性意义当业界还在为千亿参数大模型争论不休时,LongCat-Flash-Omni以5600亿参数的体量横空出世。这个开源全模态模型不仅刷新了参数规模记录,更通过创新的架构设计实现了多模态数据的统一处理能力。…

📰

基于ELK Stack的金融终端威胁狩猎平台实战

1. 项目背景与核心价值最近在帮某金融客户做安全加固时,发现传统SIEM系统对终端侧的ATT&CK战术覆盖存在明显盲区。我们尝试用ELK Stack构建了一套轻量级威胁狩猎平台,特别针对数据收集(T1119)、外泄(T1041&#xf…

📰

OpenMontage:基于Agentic架构的开源视频制作自动化框架

1. 从“剪辑苦力”到“AI制片人”:OpenMontage 到底想解决什么问题做视频的人都有一个共同的痛:剪辑这件事,创意只占两成,剩下八成全是体力活。找素材、对时间轴、卡节奏点、加转场、调色、配字幕、导出不同平台版本……一套流程走…

📰

Playwright端到端测试实战:从自动化测试架构到稳定运行

1. 先聊清楚:e2e 到底测的是什么1.1 从一个经典故障说起,为什么要有 end-to-end 测试先讲个我印象特别深的故障。之前维护一个电商后台系统,单元测试跑得挺好看,覆盖率 80% 左右,集成测试也绿着。结果上线第二天&#…

📰

咖啡渣变身天然磨砂膏:DIY配方与使用全攻略

很多朋友看到“咖啡渣”第一反应就是扔掉——毕竟萃取完的咖啡粉,香气散了,剩下的只是一堆湿乎乎的褐色粉末,留着占地方,丢了又有点可惜。但如果你稍微懂一点咖啡渣的物理特性,就会发现它其实是天然的身体去角质材料里…

📰

Python+Flask构建智能人脉管理系统:分级提醒与动态算法

1. 项目概述:人脉维护提醒程序的设计初衷上周和老张喝咖啡时,他提到个扎心的事实:去年因为项目太忙,竟然错过了最好客户的生日,等想起来时对方已经换了供应商。这事儿让我意识到,在数字化社交时代&#xff…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬