Multimodal RAG Agent: 多模态客服智能体

Published:

项目概述

面向产品客服场景的多模态智能体系统,源于”具有多模态能力的客服智能体设计”竞赛赛题。系统需要处理 20 万字以上的产品说明书及相关插图,针对用户提出的客服问题(400 道赛题,涵盖中英文),基于知识库检索和 LLM 生成给出高质量回答。

核心挑战:多模态信息理解不准、RAG 检索幻觉、中英文混合处理、复杂问题拆解、客服场景下的情感识别与共情回复。

技术架构

层级技术选型
LLM小米 mimo-v2.5-pro(OpenAI 兼容 API)
向量数据库Milvus(本地 Milvus Lite,COSINE 相似度)
EmbeddingBAAI/bge-m3(1024 维)
RerankerBAAI/bge-reranker-v2-m3(CrossEncoder)
文本检索rank-bm25 + jieba 中文分词
Web 框架FastAPI + Uvicorn

核心模块

1. 多维混合检索

三级检索优化层层递进:

  • BM25 + 向量检索:RRF(Reciprocal Rank Fusion)算法融合两种检索结果
  • 多维评分系统:5 个独立 Scorer(领域/标题/意图/长度/模型)加权调分
  • Rescue 机制:标题关键词命中的 chunk 强制提升,避免被 RRF 淹没
  • Reranker 精排:CrossEncoder 重排序,短 chunk 自动用相邻上下文填充

2. Parent-Child 分块策略

知识库同时维护两种粒度的文本块:

  • Parent 块:章节级完整文本(含图片标记),用于答案生成
  • Child 块:句子级精确文本,用于检索匹配

解决”检索精度 vs 答案完整性”的矛盾。

3. 答案质量保障管道

完整的幻觉抑制链路:

  • 接地率校验(GroundingCheck):检测答案是否基于检索结果生成
  • 质量校验(QualityCheck):检测拒绝模式、目录列表、语言错误
  • 抽取式兜底:LLM 答案不合格时,从检索结果中抽取相关句子(意图感知评分)
  • 后处理:编码伪影修复、LaTeX 符号清理、碎片化修复

4. 客服专用管道

覆盖 15 个客服主题 × 50+ 场景

  • 退款/退货/换货/维修/保修/物流/发票/投诉/安装/售后/价格/订单/支付/平台服务/质量问题
  • 情感检测:识别愤怒/焦急/失望,注入共情前缀
  • 混合生成:高置信度用模板(快速、可控),低置信度用 LLM(灵活、自然)

5. 中英文双语支持

全链路双语:语言自动检测 → 语言匹配过滤 → 专用 BM25 索引 → 答案语言本地化 → 语言不匹配修复

项目亮点

多维评分 + Rescue + Reranker 三级检索优化。 不是简单的向量检索 + Rerank,而是 5 个独立 Scorer 加权调分 + 标题 Rescue 保护 + CrossEncoder 精排,层层递进。

Parent-Child 分块策略。 Child 块用于精确检索(句子级语义匹配),Parent 块用于答案生成(完整上下文),兼顾精度和完整性。

接地率校验 + 抽取式兜底双重幻觉抑制。 检测答案是否真正基于检索结果,校验不通过时自动降级为抽取式回答,确保不输出无中生有的内容。

客服情感感知 + 主题模板 + LLM 混合生成。 先检测用户情感,再匹配主题和场景,高置信度用模板,低置信度用 LLM,最后注入共情前缀。

双路查询扩展。 本地领域知识扩展(零延迟)与 LLM 查询改写(语义理解)并行,提高召回率的同时控制延迟。

可插拔的模块化架构。 所有核心组件通过 Protocol/接口抽象,支持禁用模式,便于在不同环境下降级运行。