两段式 Jev 过滤让 Vector Graph RAG 的召回率超过 LLM 重排方案
Milvus 团队把 Graph RAG 里的 LLM 过滤换成两段式 Jev,召回率从 80% 提到 86% 还省时间,做 RAG 的可以直接抄这套流程。
Milvus 团队此前开源了 Vector Graph RAG,用 Milvus 实现多跳检索而无需单独的图数据库。原方案用 LLM 过滤图扩展出的关系,候选多达数百个导致检索变慢。测试发现单阶段 Jev 过滤虽快,但在复杂多跳问题上召回不如 LLM 基线。改为两段式后——第一阶段用 Jev 选关系,第二阶段用 Jev 对段落排序——在 MuSiQue 和 2Wiki 的 2,000 个问题上,Jev 1.13 将平均 Recall @5 从 80.04% 提到 86.07%,仅增加 0.85 秒调用时间,Jev 1.14 达到 86.61%。
Two Jev passes helped our Graph RAG pipeline outperform the LLM rerankers we tested, with higher recall and less time spent on model calls. Earlier, we released 𝗩𝗲𝗰𝘁𝗼𝗿 𝗚𝗿𝗮𝗽𝗵 𝗥𝗔𝗚, an open-source project that uses Milvus for multi-hop retrieval without a separate graph database. During retrieval, an LLM filters the relationships found through graph expansion. That LLM step could involve hundreds of candidates, slowing retrieval. To address this, we tested two Jev-based alternatives and compared both with the original setup. 1️⃣ 𝗦𝗶𝗻𝗴𝗹𝗲-𝘀𝘁𝗮𝗴𝗲 𝗝𝗲𝘃 We replaced the LLM with Jev to filter the relationships. Filtering got faster, but recall still lagged behind our stronger LLM baseline on complex multi-hop questions. A selected relationship can still lead to unhelpful text. A relationship about metformin treating diabetes could come from a drug history article that says little about side effects. 2️⃣ 𝗧𝘄𝗼-𝘀𝘁𝗮𝗴𝗲 𝗝𝗲𝘃 • 𝗦𝘁𝗮𝗴𝗲 𝟭: Jev selects graph relationships. Milvus retrieve their source passages, add results from direct vector search, and remove duplicates. • 𝗦𝘁𝗮𝗴𝗲 𝟮: Jev ranks those passages by how useful they are for answering the question. Across 2,000 questions from MuSiQue and 2Wiki, two-stage Jev 1.13 improved average Recall @5 from 80.04% to 86.07% over single-stage Jev, adding 0.85 seconds of model-call time. Jev 1.14 reached 86.61%. Check out the repo to see how we pushed Vector Graph github.com/zilliztech/vec… ier of speed and quality! 👇 https://t.co/dfYjgUmTfz 💬 0 🔄 1 ❤️ 0 👀 20 ⚡