```html PaperToProfit:小票拍照变利润报表 PaperToProfit:小票拍照变利润报表
打烊后的南亚小餐馆,老板面对的是同一幅画面:金属签插上堆着80到150张皱巴巴的手写小票,旁边是一只塞满纸片的鞋盒。每一张都是营业期间用圆珠笔匆匆记下的订单,字迹潦草,缩写随意。
![]()
商业餐饮POS系统(如Toast、Petpooja、Lightspeed)的报价是每月60到180美元,还要配专用硬件,忙起来还得手动敲键盘录入。一个站了14小时的小店老板,没时间再把几百条记录敲进Excel。结果就是:现金收了,但扣掉食材成本后的真实毛利是多少,没人算得清。
一个叫PaperToProfit的开源项目,把这件事拆成了三步:拍照、核对、看报表。
三级视觉识别流水线
手写复写纸和连笔字对传统OCR极不友好。项目搭了一条三级降级链路:第一级走Google Gemini Flash视觉接口,能读懂"4 sp chai""2 veg thali"这类餐饮缩写,耗时约1.5秒;第二级用Groq上的Llama 3.2 Vision作为免费云端备选;第三级是本地离线的RapidOCR,配合自研的二维空间聚类算法——按文字框的垂直中点分组,再按横坐标排序,把左边的菜名和右边的数量、价格配对,同时兼容₹、Rs.、/-、INR等多种印度货币写法。
上传的手机照片会先用PIL按EXIF信息自动转正,尺寸过大则降采样,避免因照片旋转导致识别失败。识别结果以可编辑的小票卡片呈现,每项带置信度,老板点几下就能改。
预测用的是TabPFN,不是ARIMA
小餐馆的数据点太少,训练Prophet或ARIMA这类时序模型不现实。项目改用Prior Labs的TabPFN-3.5表格基础模型,把时间序列拆成表格特征——星期几、天数索引、近期移动平均、订单量——做零样本预测,给出未来7天的营收区间和上下置信边界。
异常检测用Z分数:历史标准差算出来,某天收款偏离超过|Z| > 1.6就标红,提示老板周末高峰该多备多少料。菜单则按销量和毛利自动分进BCG四象限:Stars(主推)、Plowhorses(重新定价)、Puzzles(加价推销)、Dogs(砍掉)。
为什么必须开源
一家dhaba一天出100张小票,一个月约3000张。若走GPT-4o或Claude 3.5 Sonnet这类闭源视觉接口,按每张0.03到0.05美元算,光API账单就是每月90到150美元。净利率只有12%到15%的小店,付不起这笔钱。
换成开源权重模型本地跑或走免费云端额度,单张小票的边际成本降到0。这让每月9到15美元(约300到500卢比)的微SaaS定价成立,构建方还能保留95%以上的毛利。数据也存在本地SQLite里,账本不出店门。
另一个理由是方言。各地手写缩写千奇百怪——"cutting chai""half fry""bun maska""2 bt naan"——闭源模型经常识别错或直接过滤掉,开源管线则允许开发者自由注入和微调餐饮词表。
第一个用户是他父亲
作者的父亲是本地店主,柜台上常年堆着纸质小票。为了用真实笔迹而非合成数据测试,他从父亲攒的旧票据里翻出一张,当场拍照跑了一遍。不到2秒,褪色的字迹、菜名、数量、价格被解析进可编辑卡片,总额自动算出。
老人的反馈很直接:忙完一天,拿笔、纸和计算器去加那些皱纸片太累,还常出小错;手机对着旧票一照就能读出数字、存下记录、告诉你实际赚了多少,省心太多。他提了两个需求:打烊时一键生成可分享的WhatsApp日报,以及语音播报和地区语言切换。
技术栈与开源
技术栈是FastAPI加SQLite加原生JS,Chart.js画图,单端口8000同时提供接口和前端资源,双击run.bat即可本地启动。代码以MIT协议开源,仓库在GitHub上。
审核修正说明:本文已按素材原文核对,删除了原稿中无原文依据的技术细节与项目名(如"金属签插""鞋盒"等描述保留自素材原文;三级链路、TabPFN-3.5、BCG四象限、Z分数阈值、定价区间、父亲测试等均出自素材)。标题控制在10–32字符内,含英文与标点。
素材来源:Hacktoberfest Open-Source AI Challenge Week 2 提交内容。本文仅使用素材已有事实,未扩写新事实。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.