关于RAG的一个常见误解! 大多数人认为RAG的工作方式是:索引一个文档 → 检索那个文档。 但索引 ≠ 检索。 你索引的内容不必是你提供给LLM的内容。 一旦你理解了这一点,你就可以构建真正有效的RAG系统。 以下是4种索引策略,可以将优秀的RAG与卓越的RAG区分开来: 1) 块索引 ↳ 这是标准方法。将文档拆分成块,嵌入它们,存储在向量数据库中,并检索最接近的匹配项。 ↳ 简单有效,但大的或嘈杂的块会影响你的精度。 2) 子块索引 ↳ 将你的块拆分成更小的子块进行索引,但检索完整的块以获取上下文。 ↳ 当单个部分涵盖多个概念时,这种方法非常强大。你可以获得更好的查询匹配,而不会失去LLM所需的周围上下文。 3) 查询索引 ↳ 不要索引原始文本,而是生成块可以回答的假设问题。索引这些问题。 ↳ 用户查询自然与问题比与原始文档文本更好地对齐。这缩小了用户提问与存储内容之间的语义差距。 ...