62.RAG-RAG问题的优化 📅 2026/7/22 3:53:35 内容参考于图灵AI大模型全栈内容缺失的优化内容缺失这个东西没办法解决优化手段1.只能在前期的文档收集过程尽可能的做好并且文档的数据一定是要好的如果文档的内容都是一些垃圾内容那么输出的结果也会是垃圾结果2.设计提示词通过提示词限制大模型在没找到文档的时候回答 无法回答该问题 这样的内容鼓励大模型承认自己不行然后并把当前问题记录下来后续人工介入补充文档文档加载准确性的优化1.优化文档读取器在读取数据时把干扰的无用的内容比如特殊符号全部删除并且保留文本之间的关联关系文档有HTML、PDF、MarkDown、TXT等为这不同格式的文档都针对性的专门写一个读取的处理方式文档切分或者说文档分割的力度分割方式有固定长度分割、内容重叠分割、基于结构的分割、递归分割固定长度分割直接设定每个分块的大小每个分块最多有多少字内容重叠分割在固定长度分割的基础上为了确保分块之间上下文的连贯性让后面的分块除了第一个分块都保留前面分块后面的x个字基于结构的分割比如HTML、Markdown中的代码结构递归分割在重叠分割的基础上添加优先标点符号分割除了标点符号也可以是其它的字符需要根据文本来特殊制定分块大小的选择1.可以取决于向量模型的大小这需要先知道向量模型支持的最大长度是多少比如Openai的text-embedding-ada-002的模型官方推荐在256 或 512大小的分块最好这里的大小比如512大小可以理解为描述一个东西用512个词如果我们的分块大小超过了512就会描述的不好比如分块大小1024向量模型推荐大小是512我们用512个词去描述1024个词这肯定会有缺失所以说向量模型推荐长度越大描述的就会越准确文档分块越大描述的越准确2.如果处理准确性比较严格的文档分块的大小就需要很大比如医学、法律方面的所以分块的大小也要考虑处理的文档是什么类型的、服务的是什么行业3.如果是处理比较长的文档可以使用父子文档的结构比如先把文档按照2048来拆分拆分完后再对2048拆分成512当我们检索文档的时候使用512的分块检索给大模型提问的时候通过512找到它的父文档也就是2048的文档把2048的文档给大模型回答问题错过排名靠前的文档优化手段1.增加召回数量比如原本检索完只要3个文档给它增加到10个2.重排上面召回的多了Token就会消耗的多所以再对它们10个做一个重新排序重新排完后把前3个拿出来3.再用另外一个向量模型就是说之前检索出了10个文档但是这10个文档存在错过排名靠前文档的问题那就把这10个文档给向量模型然后在通过这个向量模型做问题和文档的相似度4.响应合成器在llamaindex中响应合成器也是为了解决这个问题提取上下文与答案无关这是内容缺失和错过排名靠前的文档具体的表现格式错误优化手段1.需要优化提示词让提示词更加正确的描述返回格式2.添加格式校验校验不通过就重新让大模型生成答案答案不完整这种情况出现在一次性问了多个问题比如 今天的天气怎么样再帮我查询今天薛之谦的演唱会有哪些这样的一次性两个问题大模型就会丢弃一个问题优化手段问题重写把问题改造一下比如让大模型把问题拆出来然后一个一个的去问问完之后把答案拼接起来未提取到答案上下文太长问题是一个很小的点大模型就会抓不到重点优化手段1.压缩检索到的内容让大模型根据问题提取文档中的重点2.答案太具体或不具体模型讨好型人格的问题比如问22等于几就直接说等于4就完了有些讨好型的模型它会给你分析原因为什么22等于4这就是太具体比如问22等于几就直接说等于4就完了有些含糊型的模型它会绕来绕去说“结果是一个比3大、比5小的偶数”就是不肯把那个数点出来这就是不具体。