1

AIExcel:厂家报价表智能提取系统产品系统

我要开发同款
悲伤的胖子2026年10月21日
5阅读

技术信息

语言技术
Python
系统类型
Web
行业分类
企业服务

作品详情

行业场景

立项原因:玩具外贸平台每天会收到大量工厂发来的 Excel 报价表。格式几乎没有统一的:多级合并表头、一行写两款货、毛重和净重写在同一格(12/24、毛12.5净9.8)、整表嵌着几十张产品图、新旧 .xls/.xlsx 混在一起,有的单个文件就超过 100MB。这些表以前只能靠运营逐条录进系统,又慢又容易出错。传统的模板解析每遇到一个厂家就要写一套规则,根本维护不过来。
业务背景:项目服务于汕头澄海玩具产业带的 B2B 采购平台。目标是把任意格式的厂家报价表批量转成统一的产品记录,包括货号、品名、价格、包装、装箱量、外箱尺寸、毛重和净重、产品图片等,直接用于平台上架和报价。项目同时作为内部服务接入外贸 AI 助手,业务员上传一张表,就能把里面的产品拿去做选品和报价。

功能介绍

1. 多格式读取:支持 .xlsx/.xlsm/.xls,能处理合并单元格、多级表头、卡片式排版,并按位置自动抽出嵌入的产品图片,和对应的产品关联起来。
2. 智能适配:AI Agent 先读表格结构,再生成一份「提取配方」,写明每列对应哪个字段、用什么正则拆分组合字段。
3. 固定执行器取数:所有数据都由执行器按配方逐行取出,模型不直接产出数据,所以不会出现幻觉数据。
4. 质量体检:检查字段填充率、数值合理性、重复行等,不合格就打回 Agent 重新适配。
5. 配方库复用:同一厂家的表再来一次时直接复用已有配方,不再调用模型,秒级出结果、零成本;复用前会逐列比对表头,防止列错位后把数据静默写进错误字段。
6. 演示站:拖入表格,勾选工作表,实时看提取过程,按货品、表格、配方、体检、对话轨迹、填充率多个视图查看结果,并展示 token 花费,结果可以导出为 JSON。
7. 内网 API:提供令牌鉴权、按租户隔离的任务接口和 Swagger 文档,供 AI 助手调用。
8. 命令行批量处理:一个命令提取整个目录,并输出质量报告。

项目实现

我独立完成了整个项目,包括架构设计、Excel 解析层、Agent 设计、执行器、Web 演示站、对外 API 和 Docker 部署。
技术栈:Python 3.13 + LangGraph + FastAPI + openpyxl/xlrd,大模型用 DeepSeek(OpenAI 兼容协议)。
架构:读取层把各种格式统一成一个 Grid 中间表示;LangGraph 主图按工作表并发扇出,每张表由一个「Agent ↔ 只读工具」循环子图生成配方,最后由固定执行器统一产出数据。
亮点与难点:
1. 「配方是数据,不是代码」:模型只输出 JSON 配方,唯一带执行语义的正则也会在校验阶段被限制在线性时间子集内,防止正则拒绝服务(ReDoS)攻击,所以不需要沙箱;这条约束有红线测试守着。
2. 不信任 Agent 自称「已提交」:finalize 从消息历史里找出最后一次体检通过的配方,重新校验并全量重跑。
3. 大文件:不用 openpyxl 的高层对象,直接解析 OPC zip 里的 XML 拿合并单元格和图片锚点,110MB、92 张图的表也能流式读取。
4. 配方复用:分层试跑候选配方,再做表头比对;表头对不齐时,用一次单轮、不带工具的小模型调用来判断语义,挡住「体检全绿但每列都错位」的静默错误。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论