我们发现,因为添加邻居的chunk而增加的上下文,真的很有帮助。但是如果chunks本身的内容就丢失了重要的信息,那该怎么办?
源代码
https://github.com/CrazyAndy/rag-all-techniques/blob/main/app/04_contextual_chunk_headers.py
一、解决方案
在我们甚至创建嵌入之前,我们就会给每个片段添加一个描述性的标题。这个标题就像一个==迷你摘要==,为检索系统(以及LLM)提供了更多的工作内容。
通常情况下,文档具有清晰的结构,如标题、副标题和子标题,这些提供了关键上下文。上下文块标题Contextual Chunk Headers(CCH)利用了这种结构。
二、架构图
通过添加这些上下文标头,我们为系统提供了更好的机会来找到正确的信息,也让 LLM 有更好的机会生成完整准确的答案。
这显示了在数据进入检索系统_之前_增强数据的力量。我们没有更改核心 RAG 管道,但我们使_数据_本身的信息量更大。
大家一起来讨论