与固定大小的块不同,这保持了语言的自然流畅并保留了完整的想法。由于每个块都更加丰富、完整,它提高了检索准确性,进而使 LLM 产生更加连贯和相关的响应。
由于依赖于一个阈值来确定余弦相似度是否显著下降,而这个阈值在不同文档之间差异可能很大。
递归分块
根据固有分隔符(如段落或章节)进行分块。接下来,如果每个块的大小超出了预定义的块大小限制,则将其拆分成更小的块。但是,如果块符合块大小限制,则不再进行进一步拆分。
与固定大小的块不同,这种方法还保持了语言的自然流畅性并保留了完整的语境。然而,在实施和计算复杂性方面存在一些额外的开销。
基于文档结构的分块
它利用文档的固有结构(如标题、章节或段落)来定义块边界,它就通过与文档的逻辑部分对齐来保持结构完整性。
基于文档结构的分块应用的前提条件是假设文档具有清晰的结构,但事实可能并非如此。此外,文本块的长度可能会有所不同,可能会超出模型token的限制。当出现这些问题时通常使用递归拆分进行合并。
基于LLM的分块
基于LLM的分块可以按照 LLM 生成语义上孤立且有意义的块,这种方法将确保较高的语义准确性,因为 LLM 可以理解超越简单启发式方法的上下文和含义。
唯一的问题是,基于LLM的分块是这里讨论的五种技术中计算要求最高的分块技术,另外还需要考虑 LLM 的上下文窗口通常是有限的。
总结
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |