微信扫码
添加专属顾问
我要投稿
SAG 用 SQL JOIN 巧妙实现多跳检索,为 RAG 提供新思路。 1. RAG 的基本流程与 GraphRAG 的挑战 2. SAG 核心方法:抽取事件并建立 SQL 查询 3. 性能对比与 SAG 在大数据场景下的应用流程
Select 🫧 From AGI_Bar
说下 RAG 吧,做大模型落地业务的时候,绕不开的话题
这玩意儿其实就是个搜索思路:所谓 RAG,就是让大模型在回答之前,先在数据库里扒拉,找到材料后再组织回答。典型的场景就是企业内知识库、智能客服、文档问答啥的
比如你问:「AGI Bar 的泡沫多少钱一杯?」
模型在 Rag 了数据库之后,会告诉你:标准杯9.9,大杯9.11
至于做法,常见就是下面三步走:
→ 把资料转化成数据库,方便搜索比对
→ 提取问题的关键信息,比对数据库,找到语义最相关的片段
→ 把问题并着那些最相关的片段,再塞回大模型,获得回答
而不同的 RAG 方法,本质上就是对上面流程的优化
但如果换一个场景,当一个问题的回答分布在多个不同的文档里的时候,通过向量搜索很难一次全捞到,通常只能多消耗点 token,花点时间跑 Agent
随后 GraphRAG 横空出世,先把文本里的实体和关系提取出来,建一张知识图谱,用图的结构把信息串起来,但慢慢的,项目会越做越重、图谱越来越大、维护成本越来越高
对于这个问题,我在做赛博月刊时的搭档 Jomy,想出了个小妙招:要不,咱直接 SQL 吧?先把“关系扩展”这件事交给 SQL JOIN,把语义匹配和最终选择留给 embedding / rerank / LLM
然后他还把论文,给挂到了 arxiv:arxiv.org/abs/2606.15971
本文,就来说说他的这个生活小妙招
先说下前两年大火 GraphRAG,它通常会从文本里抽取实体和关系,构建知识图谱;很多实现会把关系表示成类似「主体-关系-客体」的三元组,再在图上做社区、摘要或多跳检索
比如「A 公司收购了 B 公司」,拆成 A公司 → 收购 → B公司,然后 Rag 的时候去匹配这些信息但在执行的时候,也会遇到点小问题:不同模型抽出来的关系词不一样
比如...我们中出了叛徒....
这时候 Jomy 想出了个小妙招,先把文本总结出一句话 event,然后提取里面的各种要素 entity 负责索引,对比三元组,大致就是这样:
下面这个信息,来自原始 Paper
在 HotpotQA、2WikiMultiHop、MuSiQue,三个标准的多跳 benchmark,SAG 9 项 Recall@K 指标赢了 8 项,平均 Recall@2 提升了 11.16%
SAG 的方法,也可以用来做多跳检索
大致就是:拿到初始的一批 event 之后,在 SQL 里取出这些 event 关联的 entity,再查这些 entity 还连着哪些别的 event,排除掉已经有的,就得到了下一跳的候选....就是 JOIN 查询
对于大规模数据,流程也便是新数据进来,切片段,抽 event,抽 entity,进数据库,已经在 5 亿级数据上跑通了,线上检索延迟在秒级
Jomy 自己的产品 Zleap 也是基于 SAG 做的,做企业本地化 Agent 的数据底座,感兴趣的可以去看看
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-06-24
企业级 Agent 最缺的不是聪明,是"不敢编"——企查查智能体数据平台的三层反幻觉工程
2026-06-24
别再怪向量检索不行!90% RAG 检索拉胯,都是关键词提取在拖后腿
2026-06-24
别再把 RAG 当搜索框了:Bayer 这套 Agentic RAG,把上下文、反思、恢复和评测全焊进生产系统
2026-06-24
上生产GraphRAG的重活,SAG请外援解决了
2026-06-23
RAG之后,知识库开始自己长大
2026-06-23
AI 知识库开始分叉:LLM Wiki 和 GBrain 真正的差别
2026-06-23
谷歌发布OKF(Open Knowledge Format)规范,它与Karpathy的LLM-wiki是什么关系?
2026-06-22
传统RAG已经落伍了?清华大神开源的这个 rag-skill,让知识库检索直接升维
2026-04-06
2026-04-27
2026-04-02
2026-03-31
2026-04-23
2026-04-20
2026-04-09
2026-04-12
2026-04-22
2026-04-10
2026-06-23
2026-06-23
2026-06-15
2026-06-10
2026-06-10
2026-05-20
2026-05-18
2026-05-11