论文

post-graph-rag:一个PostgreSQL原生的图RAG引擎

post-graph-rag: A PostgreSQL-Native Graph RAG Engine

AI 基础设施向量数据库

摘要

基于图的检索增强生成能够连接没有任何单一文本段落陈述的事实,但当前实现为此付出三重代价:基础设施上,需要维护向量存储、图数据库和文档存储的一致性;图质量上,从不拒绝输出的抽取流水线使图中充满不构成任何断言的边;时间维度上,只做累积的图对被取代的事实与现行事实一视同仁。post-graph-rag是解决这三者的开源引擎。带嵌入的文本块、规范实体图和社区摘要都存于一个PostgreSQL数据库中,用pgvector做搜索、用边表做遍历。抽取时不变量在任何写入之前运行:模糊谓词、代词名称和裸数量被拒绝;谓词归一化到可选词表上;实体通过模型提供的别名解析到每个规范名称一个顶点;被否定的关系会将肯定谓词保留在否定标志之下。一个时间层让关系携带从正文中提取的有效期,让后来的文档仅凭文档顺序即可取代早期不兼容的断言,并支持as-of查询。在相同抽取和嵌入模型下与LightRAG在三个语料上对比,post-graph-rag处处构建出更密的图,每实体关系数最高达2.4倍,且更可查询:每条关系的去重边标签数在0.46至0.58之间、受控词表下为0.11,而基线为0.77至1.33。它在查询延迟更低的情况下回答质量相当,并支持基线所缺乏的时间演化:在小说序列和十年财报语料上分别有13和8条关系被取代,而基线为零。这些是工程测量结果,而非基准测试结果。代码:https://github.com/crajah/post-graph-rag, https://github.com/crajah/post-graph