跳到主要内容

意图分析

知识库的意图分析一般放在 RAG 检索之前,主要作用是判断用户问题属于哪一类,然后决定后续走普通问答、知识库检索、工具调用等等 避免所有问题都无脑查向量库,可以减少无效检索,降低 token 成本,也能避免错误上下文干扰模型回答

  • 意图分析作用:判断用户输入属于哪一类,然后决定是否检索知识库、如何检索、用什么工具、是否需要追问、是否需要权限校验
  • 意图分析,通常情况下,使用轻量大模型即可
    • 不需要使用主模型,只是用来分析用户的意图,使用小模型的轻量化模型即可
    • 大模型回复,才需要使用主模型来保证回复的准确性

知识库为什么需要意图分析?​

  • RAG 知识库问答中,用户输入并不一定都适合直接检索
  • 针对用户进行意图分析之后,重写用户的输入消息
    • 提高知识库的召回率

实现方式​

  • 规则+大模型混合
  • 规则判断简单场景
  • LLM 判断复杂场景

预定义规则问题​

  • 规则层,放一些高频的,明确的,几乎不会变的意图,不要定义太多太死,否则维护成本会很高也容易出问题
  • 如果完全靠规则,规则会越写越多,最后很难维护
  • 只需要少量规则 + LLM大模型即可
  • 规则只处理确定性强、风险高、成本敏感的场景
    • 比如闲聊规则,如你好、hello
    • 比如多轮追问规则,如继续、接着说 ,这些需要依赖上下文,不能直接拿原句去检索,是否需要检索,要看判断当前上下文