Flowise 为何还没有原生 GraphRAG 组件

👁 76 次阅读

Flowise 为何还没有原生 GraphRAG 组件

来源:https://github.com/FlowiseAI/Flowise/issues/2837

现象描述

FlowiseAI/Flowise 的 issue #2837 是一个标记为 enhancement 的功能请求,正文创建时间为 2024-07-20,讨论延续至 2026-06-17,当前状态为 open,没有关闭时间与关闭原因。该 issue 共收到 31 条评论,事实文件中未见机器人留言,31 条均为实质讨论。请求的核心内容是:为 Flowise 增加一个原生 GraphRAG 组件,能够接受多文档/多来源输入,在 upsert 时执行 GraphRAG 索引,之后像其他 Flowise RAG chatflow 一样被标准聊天机器人、链(chains)和 Agent 查询。 请求正文给出的理由是:GraphRAG(指向 https://github.com/microsoft/graphrag)展示了超越简单文档切分的、更高效 RAG 方法的前景;随着 GPT-4o-mini 等更具成本效益的模型出现,GraphRAG 索引方式的成本可以显著降低。 讨论从 2024-07 持续到 2026-06,跨度接近两年,官方始终没有合入任何原生 GraphRAG 组件,issue 保持 open。

背景原因

维护者 HenryHengZJ 在 2024-07-22 的回复直接说明了官方态度: > yeah we are still tinkering how to make it easy to do it on Flowise, as GraphRAG does involves much more technnical challenges 即官方仍在探索如何在 Flowise 上把这件事做简单,因为 GraphRAG 涉及的技术挑战要多得多。这条回复定下了整个 issue 的基调:不是优先级问题,而是实现路径与易用性尚未解决。由于 issue 状态仍为 open,官方的这一立场至今没有变化。 社区成员 sirsimonson 在同一天补充了另一层原因:索引本身似乎非常复杂,并且需要一个图数据库。他提出一个替代思路——是否尝试通过微软提供的 solution accelerator 来索引数据,并认为更好的做法可能是做一个 Azure AI Search 工具(因为 Langchain python 已有对应实现),这样至少可以查询该图索引。 zryf2000 在同一天贴出了 JS 版 LangChain 的图相关教程链接(https://js.langchain.com/v0.2/docs/tutorials/graph/),作为可能的实现参考。 归纳起来,官方迟迟未做原生组件的原因集中在两点:
  • GraphRAG 索引流程复杂,且依赖图数据库,与 Flowise 低代码、易上手的定位存在张力;
  • 官方尚未找到「在 Flowise 上轻松实现」的抽象方式。

排查或量化方法

在官方路径缺位的情况下,issue 讨论中出现的都是社区侧的自建方案,没有形成统一的量化对比。可以确认的定位方法思路如下:
  • 先判断索引与查询是否可以分离。sirsimonson 的建议是把复杂索引交给外部方案(如微软 solution accelerator),Flowise 侧只负责查询图索引。
  • 用外部依赖方式扩展 Flowise 能力。RadaKichenin 在 2024-11-20 描述了自己在本地版 Flowise 上的做法:按照教程 https://www.youtube.com/watch?v=vmKLAeyLXy8 添加 neo4j-driver 作为外部依赖,从而创建了一个自定义工具,用于查询 neo4j 数据库并检索图信息。
  • 用现成平台构建图,再用 Flowise 工具查询。boble23 在 2024-12-28 表示,自己使用 graphlit 构建图,然后用一个 Flowise 工具查询 GraphRAG,并形容「实际上相当直接」。
需要说明的是:这些均为社区经验,据 issue 讨论,官方并未确认任何一条为推荐路径。

完整解决方案(社区变通方案)

官方没有提供原生组件,社区讨论中出现的可行组合有以下几种,均来自 issue 内评论。

方案一:neo4j-driver + 自定义工具

RadaKichenin 的做法要点: 1. 在本地版 Flowise 上,通过外部依赖方式加入 neo4j-driver; 2. 创建一个自定义工具(custom tool),用于查询 neo4j 数据库并检索图信息; 3. 其设置中,图数据库的创建与填充不是由 LLM 完成的。 其设置中明确写为“the creation and filling of the graph database is not done by LLMs due to having structured data”,即图数据库的创建与填充不经过 LLM,而是依靠结构化数据本身。该用户同时声明“I have not tested transforming documents into graphs using Flowise”,即并未在 Flowise 中验证文档到图的转换。

方案二:graphlit 构图 + Flowise 工具查询

boble23 指出的路径:用 graphlit 构建图,再用 Flowise 工具查询 GraphRAG。boble23 同时向 RadaKichenin 追问实现细节(“Could you share some details on you did this”),但讨论中未见到详细的共享内容。

方案三:外部索引 + 查询侧接入

sirsimonson 提出用微软 solution accelerator 完成索引,再考虑以 Azure AI Search 工具的形式做查询侧接入。该方向在讨论中停留在设想层面,没有落地记录。

方案四:自建实体抽取 + 向量混合检索

ferhimedamine 在 2026-06 的几条评论中描述了另一种思路:在摄入时自动抽取实体及其关系,构建知识图谱并与向量嵌入一起存储,查询时并行执行图遍历与向量相似度检索。该三条评论均指向其自行实现的仓库地址,未给出可直接套用的 Flowise 集成步骤。 上述方案的共同局限:
  • 都要求在 Flowise 之外搭建并维护图存储/索引流程;
  • 都需要自行编写工具或外部依赖,无法像普通 RAG chatflow 那样开箱即用;
  • issue 内没有任何一条被官方采纳或验证。

方案对比表

方案索引侧查询侧依赖官方确认
neo4j-driver + 自定义工具非 LLM 方式填充(细节未完整给出)Flowise 自定义工具查询 neo4jneo4j-driver 外部依赖否
graphlit 构图 + Flowise 工具graphlitFlowise 工具graphlit否
外部索引 + Azure AI Search 工具微软 solution acceleratorAzure AI Search 工具(设想)Azure AI Search否
自建实体抽取 + 向量混合摄入时抽实体与关系图遍历与向量相似度并行自建否

常见错误排查

由于官方未提供组件,社区讨论中也没有出现具体的报错日志、错误码或崩溃栈,无法给出针对性的排错清单。可以确认的几点是:
  • 添加外部依赖后工具仍不可用:RadaKichenin 的做法明确依赖先通过教程把 neo4j-driver 作为外部依赖加入,若未完成该步骤,自定义工具无法建立数据库连接。
  • 图数据库为空:RadaKichenin 指出其设置中图的创建与填充不由 LLM 完成,意味着如果仍期望由 LLM 自动完成填充,会得到空的图。
  • 找不到官方组件:issue 状态为 open,官方未合入方案,任何试图在 Flowise 内置节点中寻找 GraphRAG 组件的做法都不会成功。
  • 查询侧接入方式不明确:sirsimonson 的 Azure AI Search 方向仅停留在设想,issue 中无落地记录,按该方向排查缺少参照。

实践建议

  • 如果目标只是让 Flowise 能查询一个已构建好的图,参考 RadaKichenin 的路径:先把 neo4j-driver 作为外部依赖加入,再写一个查询 neo4j 的自定义工具。
  • 如果把构图环节也交给外部平台,参考 boble23 的思路,用 graphlit 构图、Flowise 工具查询。该做法在 issue 中被形容为 straightforward,但缺少细节分享。
  • 不要等待原生组件。从 2024-07 到 2026-06,issue 持续 open,期间多位用户追问进展(Noel-Hol 2025-07-05 的 “+1 any successes?”、iotnxt 2025-09-08 的 “has this endeavor been abandoned?”、ncmkno 2025-09-18 的 “No progress updates?”),均未获得官方实质回复。
  • 索引与查询尽量解耦:图索引放外部,Flowise 只承担查询,这与 sirsimonson 的建议一致。
  • 关注相关上游生态。zryf2000 给出的 JS 版 LangChain 图教程是社区认为可参考的实现基础。

FAQ

Q1:Flowise 官方对原生 GraphRAG 组件的态度是什么? A:维护者 HenryHengZJ 在 2024-07-22 回复称,官方仍在探索如何在 Flowise 上把这件事做得简单,因为 GraphRAG 涉及的技术挑战多得多。issue 至今 open,未见方案合入。 Q2:为什么 GraphRAG 组件比普通 RAG 组件更难做? A:据 issue 讨论,两个主因是索引流程本身非常复杂,以及它需要一个图数据库。这与 Flowise 的易用性目标之间的抽象方式尚未解决。 Q3:当前有没有可用的社区方案? A:有。RadaKichenin 用 neo4j-driver 外部依赖加自定义工具查询 neo4j;boble23 用 graphlit 构图后以 Flowise 工具查询。两者均属社区经验,未被官方确认。 Q4:官方有没有给出修复或发布计划? A:没有。issue 仍为 open,关闭时间与关闭原因均为空,讨论中也没有出现 PR 号或合并记录。 Q5:GPT-4o-mini 的引入会加速 GraphRAG 组件的落地吗? A:请求正文认为成本更低的模型可以显著降低 GraphRAG 索引成本。Mzaxd 在 2024-07-22 提到 gpt4omini 已进入 main 分支,并表示「现在只等 graphRag」。但截至 issue 最后更新时间 2024-07-20 之后的讨论中都未见到组件落地。

订阅 AI 百事知

每周精选 AI 工具评测、行业资讯与使用教程,第一时间送达。

🔗 相关阅读(你可能还想看)

📄 Outlook 节点创建草稿添加附件为何报 UnableToDeserializePostBody?
📄 Flowise 点击市场或聊天页为何整页白屏?
📄 如何解决 Azure AI Search 向量存储的 $filter 递归深度超限错误?
📄 如何解决 shadcn/ui Sidebar 与 Header 重叠的问题?
📄 Next.js 开发服务器为何会 JavaScript heap out of memory?
📄 Nuxt 偶发 Cannot read properties of undefined 报错是怎么回事
📄 如何解决「Visual Studio Code for ipad」相关的问题?
📄 如何在AutoGen中实现企业级代理治理的加密行动收据(AAR)?
📄 记忆内容未清洗直接注入系统提示词,如何防范间接提示注入?
crewAI LiteAgent 将记忆内容直接拼接到系统提示词,存在间接提示注入风险。社区提出分层防御方案,但 iss
🤖 想直接和 AI 对话?
免费体验 DeepSeek V4 等顶级模型,无需注册,随问随答
🎯 立即体验 AI 工具

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

🤖 嘟嘟客服
滚动至顶部
🤖 嘟嘟客服
🤖 嘟嘟客服
';i.value='';m.innerHTML+='
...
';fetch('/dify-chat',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({query:q,user:'w'+Date.now()})}).then(function(r){return r.json()}).then(function(d){var a=d.answer||'暂时无法回复';m.removeChild(m.lastChild);m.innerHTML+='
'+a+'
'}).catch(function(){m.removeChild(m.lastChild);m.innerHTML+='
网络异常
'})">发送