Skip to content

图增强向量搜索

替代名称

  • 图形 + 向量
  • 增强向量搜索

所需的图形形状

Lexical Graph with Extracted Entities

上下文

基本GraphRAG模式的最大问题是找到回答问题所需的所有相关上下文。 这些上下文可能分布在许多未被搜索到的块中。 将块中的现实世界实体相互关联,并通过向量搜索检索这些关系,可以提供这些实体所涉及的额外上下文。 它们还可以通过实体网络将块相互关联起来。

描述

用户问题使用之前用于创建嵌入的相同嵌入器进行嵌入。 在块嵌入上执行向量相似性搜索,以找到k(之前由开发人员/用户配置的数量)个最相似的块。 从找到的块开始执行遍历以检索更多上下文。

用法

这种模式对于检索比仅执行向量搜索(例如基本检索器父子检索器)更丰富的上下文非常有用。 额外的遍历检索了提供数据中实体之间的交互,这比检索特定文本块揭示了更丰富的信息。 自然,这种GraphRAG模式的预处理需要付出努力。 此外,图遍历返回的上下文量可能更大,LLM需要能够处理这些上下文。

所需的预处理

使用LLM对块执行实体和关系提取。将检索到的三元组导入图中。

检索查询

MATCH (node)-[:PART_OF]->(d:Document)
CALL { WITH node
MATCH (node)-[:HAS_ENTITY]->(e)
MATCH path=(e)(()-[rels:!HAS_ENTITY&!PART_OF]-()){0,2}(:!Chunk&!Document)
RETURN …}
RETURN

变体

这个检索器有一些变体:

进一步阅读

现有实现

示例实现