LazyGraphRAG
LazyGraphRAG 是什么
微软发布的基于 GraphRAG 的改进版,相较于 GraphRAG ,可以减轻数据建立索引的成本(减轻构建知识图谱的成本),提高查询的效率和答案的质量
为啥叫 Lazy
将 GraphRAG 在索引阶段对大模型的调用延迟到实际查询时,避免了前期构建索引、创建知识图谱时调用大模型的高成本,实现资源高效利用
与 GraphRAG 的区别
LazyGraphRAG 在索引阶段不使用 LLM ,且索引数据为轻量级格式,索引的成本仅为传统 GraphRAG 的 0.1%,与传统的向量 RAG 相当,更适合快速开发和小规模数据场景
LazyGraphRAG 的工作流程
数据索引阶段
- 实体和关系提取:使用通用的 NLP 技术(如名称短语提取)从文本中提取实体,并分析实体之间的关系,不使用 LLM 生成
- 构建实体关系图
- 社区检测:使用图算法提取图的层次化社区结构
- 索引数据存储
查询阶段
- 使用 LLM 将原始查询分解为子查询,并生成扩展的查询
- 匹配查询
- 使用文本嵌入和实体-社区关系,优先选择与查询最相关的文本片段和社区
- 采用一种结合最佳优先搜索和广度优先搜索的策略
- prompt生成
- 使用 LLM 从相关的文本片段中提取与子查询相关的内容
- 对提取的内容进行排序和过滤,保证答案的质量和相关性
- 生产最终答案
技术细节
NLP 相关技术