基于大模型Agent的快递包裹检测与赔付决策系统
约 1258 字大约 4 分钟
基于大模型Agent的快递包裹检测与赔付决策系统
仓库地址
项目概述
本项目旨在利用多模态大模型,对破损快递包裹进行识别,获取破损程度,并结合快递公司赔付政策,利用增强检索(RAG)技术,快速检索相关条款并生成赔付结果。项目集成多模态大模型图像识别、数据向量化存储检索、Agent决策等技术,为物流行业提供智能化解决方案。
技术栈
| 层级 | 技术 | 说明 |
|---|---|---|
| 多模态大模型 | Gemini 2.5 Flash / OpenAI GPT-5 | 图像识别与文本理解 |
| 向量数据库 | Chroma | 赔付政策文档的向量化存储与相似度检索 |
| Agent 框架 | LangChain | 构建赔付决策Agent工作流 |
| 前端框架 | Vite + React + TypeScript | 用户界面与交互 |
| 后端框架 | FastAPI | API服务与业务逻辑 |
| 数据库 | SQLite | 结构化数据存储 |
项目流程
用户上传破损包裹图片
↓
图像识别(多模态LLM分析破损类型和程度)
↓
RAG检索(从Chroma向量库中检索相关赔付条款)
↓
Agent决策(结合识别结果和赔付规则生成决策)
↓
输出赔付结果 + 决策解释
1. 图像识别
使用 Gemini 2.5 Flash 等多模态大模型对上传的快递包裹图像进行分析,识别破损类型和程度。
2. 文本处理
将快递公司的赔付政策文档进行预处理,分段存储至 Chroma 向量数据库,便于后续检索。
3. 增强检索(RAG)
基于用户上传的破损图像识别结果,从 Chroma 数据库中检索相关赔付政策条款。
为什么用RAG而不用大模型直接判定?
在赔付场景中,决策必须遵循特定的业务规则。因此,先用RAG检索相关规则和文档,再让Agent基于检索到的信息生成决策,可以大幅提高准确性和可控性。
4. Agent决策
使用 LangChain 框架构建赔付决策Agent,结合识别结果和赔付条款进行决策。
为什么用AI Agent而不用传统规则系统?
传统规则系统依赖预定义规则和条件,在业务逻辑清晰时表现良好。但当情况变得复杂时,很难用规则覆盖所有场景。AI Agent系统更灵活,能够结合推理能力和外部信息来处理复杂场景。
核心挑战:多模态冲突(Multimodal Conflict)
在测试过程中,我发现了一个经典问题:多模态冲突。
问题描述
当图片上直接添加文字信息时,模型有时会优先依赖文字而忽略视觉信息,导致识别结果不准确。
解决方案
- 查阅相关学术论文,了解多模态冲突的成因
- 通过**Prompt Engineering(提示词工程)**约束模型行为,确保系统只依赖图像信息进行判断
启示
构建可靠的AI系统不仅需要强大的模型,还需要适当的系统设计、验证和工作流控制。
系统测试
我通过构建测试集对系统进行了评估:
| 指标 | 数据 |
|---|---|
| 测试图片数量 | 约100张 |
| 图片分布 | 一半破损,一半完好 |
| 系统准确率 | 约99% |
| 验证方式 | 与人工判断进行对比 |
系统局限性
- 最终决策的质量取决于检索到的规则和业务信息的准确性
- 多模态冲突在某些复杂情况下仍可能影响结果
- 系统目前主要在实验场景下测试,尚未在大规模真实物流环境中验证
未来改进方向
- 提升系统的多模态理解能力
- 部署到真实物流环境中,收集更多实际数据
- 提高决策的准确性和鲁棒性
项目收获
- 掌握了多模态大模型在图像识别中的应用,提升了对图像处理技术的理解
- 熟悉了向量数据库的使用,理解了文本向量化和相似度检索的原理
- 学习了Agent框架的构建与应用,提升了复杂任务自动化处理能力
- 深刻理解了AI系统中"可控性"的重要性——强大模型需要配合合理的系统设计
- 通过前后端集成,提升了全栈开发能力
- 尝试使用了ReactBits前端组件动效库,美化了前端界面