跳至主要內容

基于大模型Agent的快递包裹检测与赔付决策系统

技术实践PythonAI AgentRAG多模态程序设计约 1258 字大约 4 分钟

基于大模型Agent的快递包裹检测与赔付决策系统

仓库地址

项目概述

本项目旨在利用多模态大模型,对破损快递包裹进行识别,获取破损程度,并结合快递公司赔付政策,利用增强检索(RAG)技术,快速检索相关条款并生成赔付结果。项目集成多模态大模型图像识别、数据向量化存储检索、Agent决策等技术,为物流行业提供智能化解决方案。

技术栈

层级技术说明
多模态大模型Gemini 2.5 Flash / OpenAI GPT-5图像识别与文本理解
向量数据库Chroma赔付政策文档的向量化存储与相似度检索
Agent 框架LangChain构建赔付决策Agent工作流
前端框架Vite + React + TypeScript用户界面与交互
后端框架FastAPIAPI服务与业务逻辑
数据库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)

在测试过程中,我发现了一个经典问题:多模态冲突

问题描述

当图片上直接添加文字信息时,模型有时会优先依赖文字而忽略视觉信息,导致识别结果不准确。

解决方案

  1. 查阅相关学术论文,了解多模态冲突的成因
  2. 通过**Prompt Engineering(提示词工程)**约束模型行为,确保系统只依赖图像信息进行判断

启示

构建可靠的AI系统不仅需要强大的模型,还需要适当的系统设计、验证和工作流控制。

系统测试

我通过构建测试集对系统进行了评估:

指标数据
测试图片数量约100张
图片分布一半破损,一半完好
系统准确率约99%
验证方式与人工判断进行对比

系统局限性

  1. 最终决策的质量取决于检索到的规则和业务信息的准确性
  2. 多模态冲突在某些复杂情况下仍可能影响结果
  3. 系统目前主要在实验场景下测试,尚未在大规模真实物流环境中验证

未来改进方向

  1. 提升系统的多模态理解能力
  2. 部署到真实物流环境中,收集更多实际数据
  3. 提高决策的准确性和鲁棒性

项目收获

  • 掌握了多模态大模型在图像识别中的应用,提升了对图像处理技术的理解
  • 熟悉了向量数据库的使用,理解了文本向量化和相似度检索的原理
  • 学习了Agent框架的构建与应用,提升了复杂任务自动化处理能力
  • 深刻理解了AI系统中"可控性"的重要性——强大模型需要配合合理的系统设计
  • 通过前后端集成,提升了全栈开发能力
  • 尝试使用了ReactBits前端组件动效库,美化了前端界面