数据截至 (上游 commit c4cb19d8fa20)
第 3 章 · 知识图谱检索:从一条关系出发,逐跳长出子图
这是全书技术含量最高的一章。它要解决的小问题:给一个问题,如何在「实体—关系」图里捞出一小撮最相关、又有结构关联的实体和关系? AutoFlow 的答案不是简单的向量 top-k,而是一套带权重、分距离段、多跳扩散的检索。
3.1 图谱长什么样
先建立心智模型。知识图谱里两类东西:
- 实体 Entity:一个概念/对象,带
name、description、description_vec(描述的向量)。 - 关系 Relationship:一条有向边
source_entity → description → target_entity,带weight(权重)、description_vec(关系描述的向量)。
关键设计:关系本身也是向量化的(get_relationship_description_embedding,graph_store/helpers.py:100,把「源实体(描述)→ 关系 → 目标实体(描述)」拼成一句话再 embed)。所以检索的主体是「关系」,不是「实体」——这是和很多 GraphRAG 的不同之处。