跳到内容

索引架构

关键概念

知识模型

为了支持 GraphRAG 系统,索引引擎(在默认配置模式下)的输出与我们称之为 *GraphRAG 知识模型* 的知识模型对齐。 该模型旨在成为底层数据存储技术的抽象,并为 GraphRAG 系统提供一个通用的交互接口。 在正常的用例中,GraphRAG 索引器的输出将被加载到数据库系统中,并且 GraphRAG 的查询引擎将使用知识模型数据存储类型与数据库进行交互。

工作流程

由于我们的数据索引任务的复杂性,我们需要能够将我们的数据管道表示为一系列多个相互依赖的工作流程。

---
title: Sample Workflow DAG
---
stateDiagram-v2
    [*] --> Prepare
    Prepare --> Chunk
    Chunk --> ExtractGraph
    Chunk --> EmbedDocuments
    ExtractGraph --> GenerateReports
    ExtractGraph --> EmbedEntities
    ExtractGraph --> EmbedGraph

LLM 缓存

GraphRAG 库的设计考虑了 LLM 交互,而使用 LLM API 时常见的挫折是由于网络延迟、限制等造成的各种错误。 由于这些潜在的错误情况,我们在 LLM 交互周围添加了一个缓存层。 当使用相同的输入集(提示和调整参数)发出完成请求时,如果存在缓存结果,我们将返回缓存的结果。 这使得我们的索引器能够更有效地应对网络问题,具有幂等性,并提供更有效的最终用户体验。