完整题目
在基于检索增强生成(RAG)的系统中,意图识别模块是如何实现的?请说明其在整个流程中的作用、常用方法(如分类模型或提示工程),以及如何与检索组件协同工作。
本文目录
作用
意图识别是可选的路由层,用于决定是否检索、访问哪个知识域、应用哪些元数据过滤、是否改写查询,以及选择问答、摘要、操作或拒答流程。简单单库 RAG 可以不单设该模块;多租户、多工具或多索引系统中,它能减少无关检索并执行路由策略。
实现方式
- 规则与结构化信号:关键词、实体、会话状态、产品入口,延迟低且可解释;
- 监督分类器:BERT 等编码器输出意图与置信度,适合稳定且有标注的类别体系;
- LLM 结构化路由:用 schema 约束输出 intent、index、filters、need_retrieval,适合开放表达,但要验证格式、成本和提示注入风险;
- 混合路由:高置信规则或分类器直达,低置信样本交给 LLM 或安全兜底。阈值应从校准曲线和误路由代价确定。
多标签、层级意图和未知类应显式建模,不能把低置信度强行归入已知类别。
与检索协同
路由结果生成检索计划,但检索必须再次执行租户和文档级授权,不能把模型输出当安全边界。检索后可根据命中数、证据质量或冲突触发查询改写、扩大范围、澄清或拒答。评估除意图 F1 和校准外,还要看端到端 Recall、回答正确率、越权率、P95 延迟和成本;固定延迟或置信阈值没有跨系统通用性。