本文整理自“IvorySQL 2025 生态大会暨 PostgreSQL 高峰论坛”上的分享内容,演讲者:傅宇,PolarDB for PostgreSQL 研发负责人。
本文主要分享如何通过 Graph 的方式让 RAG 运行的更好,主要涉及以下内容:
- 为什么需要 GraphRAG
- 构建知识图
- 查询知识图
- 在 PostgreSQL 上实践
为什么需要 GraphRAG
RAG 的诞生是为了解决一个特定领域的知识查询问题。RAG(LLM + 知识库) 通过 Vector DB 的近似向量搜索能力,赋予 LLM 长期记忆,实现更好的领域知识问答。而 GraphRAG(LLM + 知识图) 通过 Vector DB 的近似搜索能力结合图的关联搜索能力,提升专业领域的问答能力。
1. RAG 依赖的“知识”并非总是通过文本的近似性相产生关联

以“哪些药物会导致口干”为例,RAG 通过文本相似性识别关键词(如“药物”“口干”)及相关概念,知识库中第 4 条和第 1 条因词汇重合度高(如“口干”)被关联,RAG 可胜任。但 RAG 无法进行推理,例如第 2 条提到药物 B 为抗胆碱类药物,与下文“抗胆碱药物可能导致口干”相关,人类可瞬时推导,而 RAG 基于相似度的局限性难以实现这一点。
但 Graph 可以做到。
Graph 是一个很自然的对知识进行建模的方式。Graph 可以把知识连城一个图,然后就可以在上面搜索出根据丰富的东西。“知识图”是对文本近似搜索的有力补充。

2. RAG 中缺少信息的结构化描述(详细 ➡️ 总结)
其次,单纯的 Rap 缺乏对知识库的整体理解。例如,输入的文档可能仅聚焦软件某一方面或全为法律条文解释单一事件。若询问笼统问题,如“软件用途”或“黄芪类似中药的功效与原理”,即使提取 Top20 或 Top50 文档,也仅得零散细节,缺乏总结。总结需从零散知识中构建:获取 10-20 条相关信息后,归纳出更广义的观点,进而层层构建类似图谱中的概念。

构建知识图
Graph RAG 在 RAG 基础上增加了图和社群的构建。

最低0.47元/天 解锁文章
1877

被折叠的 条评论
为什么被折叠?



