这问题没问到我心趴上
最近一直在捣鼓基于RAG的客群圈选的规则推荐,因为是基于“标签”的客群圈选,所以我一开始把所有的“标签”、“标签值”、“客群知识库”的表格全部一股脑丢了进去,最后发现效果非常的差。
我这里使用Dify智能体进行测试,经过我的几次调试还是找不到最根本的原因,一开始以为是知识库不够庞大没有覆盖到场景,但是当我问知识库覆盖的一些问题的时候才发现也经常出现离谱的回答。
于是我开始一步步的拆解,到底哪里出了问题,直到我开始测试知识库检索的部分,才发现检索出来的结果都不是我想要的。
所以我得出一个无厘头的结论:这问题没问到我心趴上
当我们的输入为:”请你帮我圈一个年轻男性吧“的时候,整个问题文本都会被当成向量去匹配,这时候会发现他匹配不到”年轻“、”男性“,因为”请你帮我圈一个“、”吧”这些干扰项都被当成检索内容去检索,解决的办法就是提前从自然语言中提取关键词。
小参数大模型提取关键词
最开始想过使用python实现简单的分词,但是分词本身没有语义理解能力,不能够剔除无用的词语,所以后面就采用小参数大模型提取关键词方式进行测试。
系统提示词:你是专业提取文本关键词的助手,用来做客群圈选前的向量检索,多个请用逗号","分割,要求返回只包含关键词本身,精简无废话,并且去掉一些关于”客群“等无用的词语,如果提取不到结果则原文返回即可。
经过测试qwen2.5至少使用qwen2.5:1.5b才能正确处理我提出的关键词提取的需求,并且需要通过Dify工作流的方式实现。
检索的结果相对比较合理了,小参数的大模型也能给出比较好的回答了,但是“知识库”的构建还是存在一些问题,存在大量的相似的结果,但是他们可能是不同场景下的,最后导致把小参数的大模型带跑偏了。