跳到主要内容

查询的路由是必不可少的

你有没有想过一个问题:用户发了一句"你好",你的RAG系统会怎么处理?

如果没做任何分流,它会老老实实地把"你好"丢进向量库做相似度检索,然后可能匹配到"你好,欢迎使用XX产品"之类的文档片段,最后大模型基于这个片段生成一段莫名其妙的回复。

再比如用户问"我的订单到哪了"——这个问题的答案根本不在知识库里,它需要调用物流API查实时数据。但如果系统不区分,照样去知识库里搜,搜出来的可能是"物流配送说明"之类的通用文档,答非所问。

这就好比去医院看病,不管你是感冒还是骨折,都直接塞进同一个科室——效率低不说,还容易误诊。

意图识别就是RAG系统的"分诊台":先判断用户想干什么,再决定走哪条处理通道。

四条通道,各司其职

根据实际项目经验,用户的提问基本可以归为四类意图,每类对应不同的处理方式。

通道一:知识检索

用户问的是通用性、知识性的问题,答案存在于你的文档库中。

典型场景:

  • "Spring Boot的自动配置原理是什么?"
  • "退货政策是怎样的?"
  • "MySQL索引失效的常见原因有哪些?"

处理方式:走完整的RAG流程——问题改写 → 向量检索 → 重排序 → 大模型生成。

通道二:工具调用

用户需要的是实时数据或个人数据,这些信息不在静态知识库里,需要调用外部接口获取。

典型场景:

  • "我的订单2026031500123到哪了?"(调物流API)
  • "帮我查一下研发部有多少人"(查数据库)
  • "今天北京天气怎么样?"(调天气API)

处理方式:识别出需要调用的工具/API,提取参数,执行调用,返回结果。这里面又分两种情况:

  • 直接调API(Function Call / MCP)
  • 先把自然语言转成SQL再查数据库(Text2SQL,后面会详细讲)

通道三:闲聊寒暄

用户只是打个招呼、说声谢谢、聊几句无关的话。

典型场景:

  • "你好"
  • "谢谢你的帮助"
  • "今天心情不错"
  • "你是谁?"

处理方式:直接让大模型回复,不需要检索任何知识库。这类问题如果走检索,反而会因为匹配到不相关的文档而让回答变得奇怪。

通道四:引导澄清

用户的问题太模糊、太宽泛,系统没法直接给出有价值的回答,需要反问用户获取更多信息。

典型场景:

  • "帮我推荐一个课程"(什么方向?什么水平?预算多少?)
  • "数据库有问题"(什么数据库?什么问题?报错信息?)
  • "部署"(部署什么?部署到哪里?)

处理方式:不急着回答,而是生成一个引导性的追问,帮用户把需求说清楚。

四条通道的判断标准
  • 答案在文档里 → 知识检索
  • 答案需要实时查询 → 工具调用
  • 不需要答案,只是社交互动 → 闲聊
  • 问题本身不完整,无法给出有效回答 → 引导澄清

付费内容提示

该文档的全部内容仅对「JavaUp项目实战&技术讲解」知识星球用户开放

加入星球后,你可以获得:

  • 超级八股文:100万+字的全栈技术知识库,涵盖技术核心、数据库、中间件、分布式等深度剖析的讲解
  • 讲解文档:超级AI智能体、黑马点评Plus、大麦、大麦pro、大麦AI、流量切换、数据中台的从0到1的详细文档
  • 讲解视频:超级AI智能体、黑马点评Plus、大麦、大麦pro、大麦AI、流量切换、数据中台的核心业务详细讲解
  • 1 对 1 解答:可以对我进行1对1的问题提问,而不仅仅只限于项目
  • 针对性服务:有没理解的地方,文档或者视频还没有讲到可以提出,本人会补充
  • 面试与简历指导:提供面试回答技巧,项目怎样写才能在简历中具有独特的亮点
  • 中间件环境:对于项目中需要使用的中间件,可直接替换成我提供的云环境
  • 面试后复盘:小伙伴去面试后,如果哪里被面试官问住了,可以再找我解答
  • 远程的解决:如果在启动项目遇到问题,本人可以帮你远程解决
进入星球后,即可享受上述所有服务,保证不会再有其他隐藏费用。
知识星球二维码

1. 打开微信 -> 扫描左侧二维码 -> 加入「JavaUp项目实战&技术讲解」知识星球

2. 查看星球使用指导,获取完整项目讲解资料索引

👉 点击解锁全部付费内容
🎁优惠