agentic_huge_data_base / wiki
页面 2.3 · Dify / RAGFlow / Onyx·事实基线:应用、解析、搜索均调用本项目检索与权限层

2.3 Dify / RAGFlow / Onyx

三个上层平台分别代表三种参考形态:Dify 是应用编排与外部知识接入,RAGFlow 是深度文档理解的 检索增强生成引擎,Onyx 是企业搜索与对话。本项目从中借鉴模式,但把它们作为事实源。

类别应用、解析与搜索 Layer应用编排层 阶段二期验证 · 设计参考
相关来源文件
  • docs/11-reference-platforms-agentic-knowledge-base.md · §5 Dify。
  • docs/11-reference-platforms-agentic-knowledge-base.md · §6 RAGFlow 与 Onyx。

Dify · 应用编排与外部知识

Dify 提供大语言模型应用的可视化编排:工作流 / 智能体 / 对话流、提示词管理、工具调用、知识库。其中最关键的是 外部知识接口,可以让 Dify 应用把检索委托给外部服务,而不是 Dify 自带的知识库。

能力本项目用途边界
工作流 / 智能体编排问答、报告生成、合同审阅等业务流编排层只调用接口,不直接读写文件库
知识库 (内置)仅作 验证 评测对比作为事实源
外部知识接口统一调用本项目检索服务权限与引用由项目侧负责
HTTP 工具 / 代码节点调用标签查询、字段抽取等接口所有调用走网关,带用户身份
来源docs/11-reference-platforms-agentic-knowledge-base.md §5.1-5.2。
Code langgenius/dify · 外部知识控制器 api/controllers/console/datasets/external.py; 外部知识接口 协议(请求 / 响应)api/services/external_knowledge_service.py; 知识检索 节点 api/core/工作流/nodes/knowledge_retrieval/; 工作流 引擎 api/core/工作流/; RAG 内置实现(用于对照)api/core/rag/
Dify 不是事实源
Dify 的内置知识库使用方便,但权限模型、审计、标签体系都不能满足企业资料库的要求。本项目把 Dify 定位为应用层:所有检索请求通过 外部知识接口 反向调用项目自己的检索服务,结果带权限过滤和引用片段。

外部知识接口 接入图

图 2.3.1 · Dify 通过 外部知识接口 调用项目检索服务,权限和引用都在项目侧完成。
图 2.3.1 · Dify 通过 外部知识接口 调用项目检索服务,权限和引用都在项目侧完成。

RAGFlow · 深度文档理解的 检索增强生成引擎

RAGFlow 强调"看得见的 RAG":解析、切块、检索、引用每一步都可视化、可调试,特别适合复杂版式文档(合同、年报、技术规范)。

借鉴点说明本项目落地
模板化切块按文档类型 (合同 / 论文 / 表格 / 简历) 选择不同分块策略文件类型 × L2 标签决定 检索片段er
可视化检索片段检视界面中可查看每个检索片段的来源页码、版面框资料详情页接入检索片段预览
引用优先回答回答必须附带 检索片段引用,否则降权智能体输出强制 引用字段
检索测试界面运维可在界面中调试 query → 检索片段内部检索调参与回归测试入口
来源docs/11-reference-platforms-agentic-knowledge-base.md §6.1。
Code infiniflow/ragflow · 模板化切块器 rag/app/laws.py / paper.py / book.py / resume.py / table.py / qa.py / manual.py); 检索与重排 rag/nlp/search.pyrag/nlp/rag_tokenizer.py; DeepDoc 文档理解 deepdoc/parser/deepdoc/vision/; 引用与可视化 web/src/components/检索片段-card/
不要把 RAGFlow 当唯一知识库
RAGFlow 自带的知识库与权限模型偏向单一团队,跨部门、跨权限组的资料治理仍需要项目自己的元数据层。RAGFlow 在本项目中作为 验证 参考:评估其切块与引用质量,再把对应思路实现进项目的入库管线。

Onyx · 企业搜索与对话

Onyx (原 Danswer) 是开源的企业搜索 + 对话平台,特点是连接器丰富、权限同步是一等公民、搜索与对话双入口。

借鉴点说明本项目落地
连接器模型每种数据源一个连接器,独立调度;原项目可参考 Confluence、SharePoint、Drive 等连接器实现SVN / SMB / NAS / 邮件 各自连接器化
权限同步一等公民每次拉取同时同步 ACL,检索时按用户过滤权限索引随文档同步,检索强制 ACL
搜索 + 对话双入口同一索引同时支持关键词搜索和 LLM 对话资料库主页保留搜索入口 + 问答入口
Document Sets按业务划分文档集合,控制可见性与对话上下文对应项目的标签集合 + 权限组
来源docs/11-reference-platforms-agentic-knowledge-base.md §6.2。
Code onyx-dot-app/onyx · 连接器 集合 backend/onyx/连接器s/(含 confluence/google_drive/sharepoint/ 等参考实现); 连接器接口与抽象 backend/onyx/连接器s/interfaces.py; 权限同步(企业版) backend/ee/onyx/external_权限/; Document Set 数据模型 backend/onyx/db/document_set.py; 检索与重排 backend/onyx/document_index/backend/onyx/context/search/
社区版可能不覆盖 SVN 授权
Onyx 社区版的连接器以 SaaS / 主流文档系统为主,对 SVN、内网 SMB、特定 OA 的权限映射支持有限。本项目把 Onyx 作为设计参考:借鉴其 连接器 + 权限同步的架构,但实际连接器需要项目自研。

三平台对比

平台核心定位所在层项目用法阶段
DifyLLM 应用编排 + 外部知识接入应用编排层承载业务问答 / Agent,通过 外部知识接口 调本项目检索二期验证
RAGFlow深度文档理解 检索增强生成引擎检索增强生成引擎层借鉴模板化切块、可视化 检索片段、引用优先回答验证 参考
Onyx企业搜索 + 对话检索 / 对话层借鉴 连接器 + 权限同步、搜索对话双入口设计参考

三者共同的边界

继续阅读