【LangChain 速递】MultiVector Retriever
原推:https://twitter.com/zhanghaili0610/status/1697250386548035862?s=20

LangChain 多向量检索器的核心流程:
1. 创建多向量检索器对象,传入向量存储、文档存储和文档 ID 键名。
2. 对每个文档:
生成唯一的文档 ID;
(可选)将文档拆分成更小的块,将块存储到向量存储中,并将文档 ID 作为元数据;
(可选)为文档创建摘要向量,存储到向量存储中,同样带上文档 ID 作为元数据;
(可选)为文档生成假设的用户查询,存储为向量带上文档 ID;
将文档内容本身存储到文档存储中,以文档 ID 为键。
3. 多向量检索器拥有文档的所有向量、文档内容和映射文档 ID 的方式,可以进行检索,匹配查询向量与各种文档向量的相似度,并通过元数据中的文档 ID 找到对应文档。
4. 用户传入查询,多向量检索器可以检索出相似文档。
总体上,多向量检索器允许我们为每个文档存储各种附加信息的向量,从中进行更全面的相似度检索和匹配。我们可以自定义为文档生成的额外向量,提升检索效果。

