跳到正文

10|知识底座开题:RAG 与 Connector 选型与落点 ​

一句话:知识底座不是孤岛,而是知识类 MCP Server 的供给方——RAG 引擎负责"知识导得进、查得准",Connector 层把知识库与外部系统以 MCP Server 形态暴露给企业 Agent,正好消费 HiMarket 的 MCP 市场(04 篇已实证 MCP_SERVER 产品 + meta + 订阅链),并经契约与 agentscope-service 执行层贯通(07-32 六接缝口径)。 形态:选型组合(RAGFlow 引擎 + 向量存储 + 文档解析 + MCP 连接层)作为独立积木,先在本专栏闭环,再按 00 总纲演进路线第 4 点"fork 扩展知识库"接入统一门户皮。 调研日期:2026-10-25;审核修订:2026-10-26 生产架构:知识库不以“Agent 直连 RAGFlow”上线,必须在 Higress 之后增加 Knowledge Broker 做租户/ACL、检索编排与敏感信息过滤。详见 05-AI基础设施架构审核与生产收敛.md。


一、开题结论:Connector 给 Agent 的查询,就是一个 MCP 服务 ​

用户的判断是对的,而且它就是本开题的主线:企业知识/外部系统以 MCP Server 形态暴露给 Agent,本质就是"Connector"。这条主线有四层承接,全部有专栏实证/设计支撑:

  1. 市场目录与订阅已验证:04 篇走通 MCP_SERVER 产品 + meta(protocolType=streamable_http)+ 发布 → 订阅 APPROVED;但真实 MCP 工具发现、网关调用与计量尚未闭环。
  2. 连接层是稳定端点契约:02 篇 toTransportConfig() 当前只产出 url + transportMode + mcpServerName,不含 tools 与凭证。知识产品应发布稳定端点,凭证由 Broker 注入。
  3. 传输形态有明确方向:MCP 新远程服务优先 Streamable HTTP;SSE 作为兼容形态保留退出计划。RAGFlow RC 版本的实际工具暴露仍需实测。
  4. 内容源只放非敏感配置:Nacos 保存地址、工具规格与密钥引用,长期密钥放 Vault/KMS;数据面使用已发布路由,不在每次请求访问 Nacos。

结论先行(敢讲):

决策点选型一句话理由
RAG 引擎RAGFlow(Infiniflow)POC 首选;但当前验证版本为 v1.0.0-rc2,原生 MCP、权限与 HA 未达生产结论
向量存储RAGFlow 内置(Elasticsearch / Infinity)+ 记忆层独立用 Qdrant引擎不自建第二套向量栈;Qdrant 兜 Memory 层,Apache-2.0、部署轻、payload 多租户
文档解析(ParseX 对标)RAGFlow DeepDoc(内置,OCR+TSR+DLR)+ PP-StructureV3(补充:图表转表格+公式)表格/扫描件/复杂版面开源第一档;chart2table 与公式识别只有 PP-Structure 原生覆盖
Connector / MCP 层RAGFlow MCP 管理面(/api/v1/mcp/servers)+ 自研 Knowledge Broker + 第一方业务 ServerMCP 管理 API 只是登记入口;生产检索统一经 Broker,避免把数据集 ID 与 ACL 暴露给客户端
Memory / 记忆飞轮mem0(POC 候选)+ 进阶选 Zep/Graphitimem0-mcp 集成需实测;生产必须补强隔离、删除、审计与幂等
多租户 / 权限OIDC 身份 → Portal/Developer → Consumer → Knowledge Broker ACL → RAGFlow 数据集不能把 RAGFlow me/team/public 直接当作企业 ACL;Broker 在服务端强制过滤

二、百炼知识底座能力对标(14 项 ↔ 开源落点) ​

百炼侧 14 项能力按 RAG(4)/ Memory(3)/ ParseX(4)/ Connector(3)四类拆分(来源:阿里云百炼官方文档,2026-10-25 检索)。右侧开源落点为本文第三章选型结论的逐项映射:

#百炼能力百炼侧实现开源落点落点形态
RAG-1知识库管理与文档导入/智能切片知识库 + 5 种切片策略 + text-embedding-v4RAGFlow 数据集 + 智能分块(模板/语义)引擎内置
RAG-2混合检索(稠密向量 + 关键词 BM25 并行召回)知识检索服务双 TopK 并行召回RAGFlow 张量 + 加权相似度(ES/Infinity 支持 BM25)引擎内置
RAG-3Rerank 精排 + Query 改写 + 多知识库路由(最多 15 库)qwen3-rerank 系列 + 路由判定RAGFlow Rerank(bge-reranker 类);多库路由走 RAGFlow 工作流编排引擎内置 + 工作流
RAG-4知识问答 API + 引用溯源 + 防泄漏RunDocQa + enable_citation/anti_leakRAGFlow 页码/坐标级引用溯源;防泄漏在 MCP 契约层自研(检索返回策略)引擎 + 契约层补强
MEM-1跨会话长期记忆(事实/画像/技能)记忆库 2026-08-20 商业化mem0(LLM 抽取事实 + 向量记忆);技能记忆 → LangMem procedural独立服务 + MCP
MEM-2记忆全生命周期 API + 观测/审计长期记忆 2.0 API + 控制台观测mem0 API(add/search/update/delete);观测/审计需自建管理面(实证计划含)自建补强
MEM-3记忆与 Agent 集成(Harness/插件)Agent Harness + 记忆插件mem0-mcp / Graphiti MCP 直接挂外部 AgentMCP 形态
PX-1多格式解析 → Markdown/JSON 双视图ParseX 工作区(按页计费)DeepDoc(RAGFlow 内置,版面→结构化文本);unstructured 作 loader 生态补充引擎内置
PX-2版面分析 / 表格还原 / chart2tableDocument Mind 大模型版DeepDoc TSR/DLR(表格还原 HTML);PP-StructureV3(唯一图表转表 + 公式)内置 + 补充服务
PX-3OCR / 扫描件/票据文字提取Qwen-OCRDeepDoc(CRAFT 检测 + PaddleOCR 识别);PP-StructureV3 中文 OCR 基线最强引擎内置
PX-4工作流文档解析节点 + 音视频解析工作流节点免费 + ParseX 音视频文档解析节点 → RAGFlow 工作流/API;音视频解析开源侧未查到成熟方案(如实标注)后置项
CON-1统一连接层:一次授权自动封装为 MCP 工具Connector(Beta,约 20 类系统)RAGFlow MCP 管理 API(/api/v1/mcp/servers) + 自研 Broker / MCP ServerMCP 生态层
CON-2业务数据库实时查询(MySQL/PG/PolarDB-X,数据不出库)DMS 数据源 + 数据库连接器数据库 MCP Server(Postgres/MySQL 第一方/社区 server)+ RAGFlow SQL 知识库MCP 生态层
CON-3办公协同/SaaS/云存储矩阵(钉钉/语雀/腾讯文档/Salesforce/OSS 等)Apps 目录四类接入第一方业务 MCP Server 矩阵(Notion/Slack/GitHub 官方 + 社区钉钉/语雀类)MCP 生态层

对标口径说明:百炼 Connector 整体仍为 Beta;开源侧"Connector=MCP Server 供给方"不是产品化功能,而是协议层能力——这正是 HiMarket 市场化管理的价值所在(任何符合 MCP 的 server 都能上架,见第四章)。


二.5 补深:阿里百炼机制级对标(2026-10-25 官方文档精读) ​

上一版对标基于能力名与公开资料;本节为机制级补深(全部阿里云官方文档原文精读),回答"RAGFlow 与百炼能否 PK"。

百炼 Connector 官方定义(help.aliyun.com/zh/model-studio/connector/overview):

"Connector 把这些系统收敛成一个统一的连接层:在控制台完成一次授权,Connector 就把对应系统的能力封装成标准工具,通过 MCP 协议暴露给智能体。智能体不需要关心数据存在哪里,直接调用工具即可。"

——这与本开题主线"知识底座 = 知识类 MCP Server 供给方"完全同构。百炼 Connector = App 下连接实例(保存凭证)→ 一次授权 → 自动生成工具 → MCP 协议暴露(钉钉文档/语雀/OSS/数据库/SaaS 约 20 类)。

机制级事实对照(来源均为官方文档,2026-10-25):

能力域阿里百炼(托管)RAGFlow(自托管)判定
切片6 策略(智能/长度/页/标题/正则/符号),最大段默认 600 token(10-6000),附场景推荐表模板/语义/自定义分块同级
混合检索检索服务绑 1-15 库+权重;Query 改写、向量 TopK 1-100、关键词 TopK 1-100、相似度阈值、标签过滤张量检索+BM25 加权同级机制
Rerankqwen3-rerank / hybrid / vl-rerank(多模态),问答/相似/自定义高级模式bge-reranker 类百炼多模态领先
知识库路由路由开关(LLM 判定,计费)+ 多库权重工作流编排百炼产品化领先
引用溯源enable_citation / anti_leak页码/坐标级引用RAGFlow 粒度更细
Connector官方定义=MCP 协议暴露,一次授权自动封装工具有 MCP 能力:/api/v1/mcp/servers 为管理面,实际对外工具面与鉴权需在 v1.0.0-rc2 实测;生态靠自研/第一方 Server 补架构同构;百炼生态开箱多,RAGFlow 需 Knowledge Broker 补 ACL 与凭证中介
Memory记忆库(memstore_ ID):事实记忆 10 接口+画像 5 接口+技能记忆 GetSkillExport;2026-08-20 商业化;限流 3000QPM(add 120/search 300)mem0+Qdrant 自建(Apache-2.0 免费)托管 vs 自托管
文档解析ParseX:Parse(图文+音视频)vs Extract(JSON Schema 字段抽取+missing/conflict 状态+CirTAKE);异步 biz_id;结果复用 7 天DeepDoc(OCR+TSR+DLR)+ PP-StructureV3百炼音视频领先;开源表格/公式可补
部署/私有化全托管 SaaS(Workspace 多租户)Apache-2.0 自托管(docker compose / K8s),Team+文档级权限RAGFlow 数据不出域(合规关键)

PK 三句话结论:

  1. 能力几乎同级——六大能力域百炼有的 RAGFlow 都有(音视频解析与开箱连接器生态除外);
  2. 胜负手在形态——托管 SaaS(多租户/生态开箱)vs 可私有化引擎(Apache-2.0/数据不出域/LLM 无关/坐标级溯源),企业知识合规场景自托管是硬需求;
  3. 架构同构——百炼 Connector=MCP 协议暴露(官方原文),自建方案是对标百炼的同等架构,不是降级替代。

开源侧真实差距(如实标注,不藏):① 音视频解析无成熟开源方案(后置);② 多模态 rerank(qwen3-vl-rerank 等价物)缺位;③ 钉钉/语雀/OSS 等国内系统开箱连接器靠社区 MCP server 补。

向量库专项(用户追问,已查证):RAGFlow 官方 FAQ 明确"只有 Elasticsearch 和 Infinity 满足混合搜索需求"(全文/短语搜索+高级排序是硬门槛),不支持 Milvus(GitHub 有开放 feature request #7749,社区呼声高、官方未实现;第三方页面声称支持多后端与官方 FAQ 冲突,不可信)。企业已有 Milvus 时:文档引擎仍用 RAGFlow 内置(ES/Infinity);记忆层可挂 Milvus(纯向量检索,无全文/短语要求);或换 Milvus 生态方案(QAnything 默认 Milvus、Dify 支持 Milvus)。


三、开源产品全景盘点与选型结论 ​

3.1 RAG 引擎:5 选 1,结论 = RAGFlow ​

调研 5 款开箱产品(Dify / RAGFlow / QAnything / FastGPT / MaxKB,事实快照 2026-10-25),先给对比总表,再给结论:

维度DifyRAGFlowQAnythingFastGPTMaxKB
架构形态多容器(api/worker/web/sandbox/plugin)组件化(引擎+executor+ES/Infinity+MinIO+Redis,新版 Go 网关)组件化 Compose(8777 API + RAG 后端)轻量(Next.js + MongoDB + pgvector)轻量(Django + pgvector + Redis)
部署成本Compose 一键,无 GPU,组件多内存偏高Compose,4 核/16G/50G,CPU 可跑门槛最低纯 CPU;本地模型需 N 卡算力 8.0+最低 2c4g,无 GPUDocker 一键,无 GPU
文档解析中(OCR,无深度版面/TSR)最强(DeepDoc:OCR+TSR+DLR、MinerU、图表上下文窗口)中(PDF/表格优化,无深度版面)中偏弱(分段+QA 拆分)中(有解析,深度不及 RAGFlow)
检索精度混合+Rerank+改写+引用混合+Rerank+页码/坐标级引用跨语言 BCEmbedding+混合+Rerank混合+Rerank+多路召回LLM+RAG 召回+工作流
MCP 化(第一权重)原生 MCP Server(v1.6.0 双向:App/Workflow 一键发布 MCP URL)有 MCP 面但未完成生产实证(Go 网关提供 /api/v1/mcp/servers 管理面;对外工具面、鉴权与传输需按 v1.0.0-rc2 实测)无原生(仅 REST 8777 可自封装)原生 MCP Server(v4.9.6+ 多 App SSE/Streamable HTTP 暴露)仅 MCP Client(对外需 OpenAI 兼容 API 自封装)
多租户工作区级,知识库细粒度弱(企业版)Team + 文档级 R/W/Manage,最细基本无团队/共享,细粒度企业版用户/团队,细粒度 X-Pack
API 面REST 完善REST + OpenAPI 完善有 REST,生态弱REST 完善OpenAI 兼容 + 系统 API
License修改版 Apache 2.0(禁多租户 SaaS)Apache-2.0 纯宽松Apache-2.0修改版 Apache 2.0(禁多租户 SaaS)GPL-3.0(copyleft)
活跃度官网 159K+ star,迭代最快92.4K star,push 2026-10-17版本停滞 2024 初,活跃度放缓25.6K star,v4.9.6+ 活跃23.0K star,push 2026-10-21

结论:RAG 引擎选 RAGFlow,理由按权重排序:

  1. MCP 化命中(用户第一优先级):RAGFlow 已提供 MCP 管理面(/api/v1/mcp/servers),方向上可把检索/问答能力暴露为 MCP 工具;但当前 v1.0.0-rc2 的对外工具清单、鉴权方式与 Streamable HTTP 行为尚需实测,不能把“管理面存在”写成“生产 MCP 已闭环”。POC 可用其管理面登记,生产统一由 Knowledge Broker 暴露稳定工具契约。Dify/FastGPT 同样原生支持,但见第 3 点 License。
  2. 知识导入质量(RAG 第二优先级):DeepDoc 的 OCR + 表格结构识别(TSR)+ 版面分析(DLR)是 5 款里唯一"深度文档理解"级别的解析栈;0.23.0 起的"图像/表格上下文窗口"把图表与正文绑块一起检索,直接对标百炼 ParseX 大模型版。
  3. License 干净(企业落地硬约束):Dify 与 FastGPT 都是修改版 Apache 2.0(未经授权不得运营多租户 SaaS),MaxKB 是 GPL-3.0(二次开发传染)——RAGFlow 是唯一纯 Apache-2.0 的开箱引擎,且无 SaaS 限制。对企业私有化 + 未来对外输出平台能力,这是不可让的底线。
  4. 存储层权限粒度较细:Team + 文档级 Read/Write/Manage 可作为 RAGFlow 内部 ACL;但它不能直接等同企业租户/项目授权。生产必须由 Knowledge Broker 维护 tenant/project/document ACL,并把 RAGFlow 权限降级为存储层执行能力,禁止客户端自报 dataset_ids 绕过。
  5. 代价与对策(如实标注):外部数据源连接器生态薄弱——但这正好不是缺口,而是 Connector 层的活(第三章 3.4):连接器统一走 MCP 生态,RAGFlow 专注"解析 + 检索内核",各干各的。

淘汰理由:QAnything 无 MCP 原生 + 活跃度停滞(版本停在 2024 初),出局;MaxKB GPL-3.0 + 无对外 MCP Server,出局;Dify/FastGPT 功能强但 License 有 SaaS 限制且文档解析深度不及 RAGFlow,降级为备选(若未来主做"应用编排平台"而非"知识底座",再评估 Dify)。

3.2 向量存储:引擎内置为主,Memory 层独立用 Qdrant ​

组件定位部署形态多租户License结论
Milvus云原生分布式,RBAC + partition 多租户单机 Compose / K8s(etcd+MinIO+Pulsar)数据库级隔离 + 内置 RBACApache-2.0 ✅大规模集群首选;本场景运维偏重,不选
QdrantRust 高性能,payload 多租户一等公民单机二进制/Docker/K8s,部署轻is_tenant payload 隔离Apache-2.0 ✅Memory 层与自研检索服务首选
Weaviate内置向量化模块,原生 multi-tenancyDocker/K8s/SaaS原生 tenant 隔离BSD-3(wl/ 企业版单独许可)✅SaaS 多租户友好;企业版边界需留意
Chroma嵌入式,开发者体验最好进程内/独立 server三级隔离但 OSS RBAC 薄弱Apache-2.0 ✅原型/edge 用;生产权限需外接

结论:RAGFlow 内置 Elasticsearch / Infinity 做检索索引(含稠密+稀疏),不为引擎另配向量库;记忆层与未来自研检索服务用 Qdrant(Apache-2.0、单机部署轻、payload 多租户与"每租户一记忆空间"天然匹配)。

3.3 文档解析(ParseX 对标):DeepDoc 内置 + PP-StructureV3 补充 ​

维度unstructuredDeepDoc(RAGFlow 内置)PP-StructureV3(PaddleOCR)
数字 PDF强(fast/hi_res)强强
扫描件/图片 PDF中(依赖 Tesseract)强(深度学习 OCR+版面)强(中文 OCR 基线最强)
表格还原hi_res 支持,中等强(跨页表格,输出 HTML)强
图表转表格弱中(保留图块,不转表)强(PP-Chart2Table 原生)
公式识别未查到原生弱(官方推荐公式场景走 MinerU)原生支持
输出 Markdown需后处理平台侧有原生输出
LicenseApache-2.0 ✅Apache-2.0(随 RAGFlow)✅Apache-2.0 ✅

结论:主解析能力随 RAGFlow 内置 DeepDoc(表格/扫描件/复杂版面开源第一档,零额外部署);对百炼 ParseX 的 chart2table 与公式识别能力缺口,挂一个 PP-StructureV3 解析服务(唯一原生覆盖"图表→表格 + 公式 + Markdown 输出",Apache-2.0);unstructured 仅在需要广谱 loader 对接(邮件/HTML/EPUB 等)时作为前置层引入。

3.4 Connector / MCP 层:怎么搭(本开题的主线工程) ​

Connector 层 = 三路 MCP Server 供给,全部经 HiMarket MCP 市场上架:

路供给方工具形态上架方式
A. 知识检索RAGFlow MCP 管理面(/api/v1/mcp/servers;实际暴露的工具需在目标版本实测)细粒度:retrieve(证据 chunks)/ chat(问答);是否可直接暴露由 Broker 定义Nacos 登记 → HiMarket MCP_SERVER 产品 + meta(streamable_http)
B. 定制知识服务MCP 官方 SDK 自研 Server(Python/TS,Tier 1)业务化工具(如 knowledge_search(query, filters)、防泄漏版 secure_answer)同上(自研 server 部署后登记)
C. 业务连接器矩阵第一方 MCP Server(GitHub 官方、Slack 官方、Notion 官方)+ 数据库 server(Postgres 等)+ 官方 reference server(filesystem/git/memory/time/fetch)各业务域标准工具同上(批量上架 = 企业 Connector 目录)

关键事实与口径(MCP 官方生态现状,2026-10 核实):

  • 官方 modelcontextprotocol/servers 仓库 2025 年起只保留 7 个通用 reference server(Everything/Fetch/Filesystem/Git/Memory/Sequential Thinking/Time);业务类 server 全部移入 servers-archived 归档,改由业务方第一方维护——所以"Connector=接入第一方 MCP server 生态"不是绕路,而是官方演进方向。
  • 新远程 Server 优先 Streamable HTTP;存量 SSE 可保留兼容期,但必须制定下线计划。鉴权方向以 OAuth 2.1 为主,存量产品多提供 API Key 模式,需要平台做凭证中介。
  • MCP Registry(registry.modelcontextprotocol.io)收录经审核的 server,企业内网部署不依赖 Registry,走 Nacos 登记 + HiMarket 管理。

3.5 推荐组合(一页结论) ​

知识导入:企业文档/网页/DB → [RAGFlow DeepDoc + PP-StructureV3] 解析
        → RAGFlow 智能分块 → ES/Infinity 向量化 → 知识库 Dataset
知识检索:外部 Agent → Higress(鉴权/限流/计量)→ Knowledge Broker(ACL/过滤)→ RAGFlow
        (retrieve 证据 + chat 问答,页码/坐标级引用溯源)
连接器:Knowledge Broker + MCP SDK 自研 Server + 第一方业务 Server
       → Nacos 登记非敏感配置 → HiMarket MCP_SERVER 产品 → 订阅 → 稳定端点调用
记忆飞轮:mem0(Qdrant 存储)+ mem0-mcp / Graphiti-MCP → 同样以 MCP 形态供给
多租户:OIDC(IdP) → HiMarket Portal/Developer → Consumer → Knowledge Broker ACL → RAGFlow 数据集

记忆层衔接口径(对齐 03 篇对标表):百炼 Memory 的落点=实例体系(记忆蒸馏,#21 数据飞轮)——执行层管记忆的蒸馏策略,本开题的 mem0 层管记忆的持久化与检索供给(经 mem0-mcp 以 MCP 形态挂回执行层),两者是"谁生产/谁存储"的分工,不冲突。


四、落地架构 ​

4.1 知识导入链路 ​

施工要点(对应 RAGFlow 官方能力,非臆造):

  • 解析器按文档类型选:扫描件/复杂版面 → DeepDoc;公式/图表密集 → 接 MinerU 或外部 PP-StructureV3 服务结果再入库;
  • 分块策略:企业制度/合同等长文用模板分块(按章节标题),FAQ 类用语义分块;image/table context window 开启,图表与正文同块检索;
  • 权限分两层,不把 RAGFlow ACL 当企业 ACL:
    • 存储层:RAGFlow Team / 文档级 R/W/Manage 只作为引擎内部隔离与服务账号授权;
    • 企业层:Knowledge Broker 维护 tenant_id / project_id / document_id / classification / owner_subject 的授权关系,写入时登记文档 ACL 元数据,检索时由服务端生成过滤条件;
    • 客户端不可决定过滤范围:请求体不得直接携带可生效的 dataset_ids、team_id 或 owner;Broker 只接受已签名的身份上下文,并拒绝与上下文不一致的自报字段。

4.2 查询链路(Agent 经 MCP 查询知识库) ​

4.3 以 MCP Server 形态接入 HiMarket(架构总图) ​

链路口径:Nacos 登记非敏感配置(内容层)→ HiMarket 上架为 MCP_SERVER 产品(市场层)→ Consumer 订阅 → Higress 校验(数据面)→ Credential Broker 注入上游凭证 → Knowledge Broker 执行 ACL 与服务端过滤 → RAGFlow(供给层)→ agentscope 消费(执行层)。04 篇已实证的“产品 + meta + 订阅 APPROVED”仅是 REG → PROD → SUB 段,不代表后续数据面已闭环。


五、与 agentscope-service 契约整合点(07-32 六接缝口径) ​

按 00 篇引用的 07-32"六层组件角色、五条接线链路、六个接缝、P0-P5"框架,知识底座的接缝落点:

接缝契约内容知识底座落点优先级
接缝 1(内容寻址)Nacos 登记 MCP Server 配置(域名/路径/密钥引用)知识类 MCP Server(RAGFlow / mem0 / 业务 server)统一登记;长期密钥不落 NacosP0
接缝 2(规格同步)工具规格/元数据同步POST /mcp-servers/meta/{id}/refresh-tools 拉取 retrieve/chat/memory 工具清单(04 篇端点已实证存在)P0
接缝 3(身份映射)IdP subject ↔ HiMarket Developer ↔ agentscope user知识库权限按 Consumer 凭证映射;跨层透传 OIDC 令牌(02 篇三层映射)P1
接缝 4(凭证/出口)统一凭证注入、Higress 出口知识检索调用统一走 Higress,凭证由平台注入(04 篇 meta connectionConfig 的 ${credential} 占位即此落点)P0
接缝 5(计量)调用计量事实回写知识检索/问答按 MCP 工具调用计,HiMarket 记录用量事实(计量≠计费,00 篇口径)P1
接缝 6(产物/证据链)Skill 包下载、执行产物回传检索引用(页码/坐标)作为 Agent 回答的证据链回传 agentscope 会话,支撑可审计回答P1

agentscope-service 侧契约形态:执行层只消费“稳定产品端点 + Consumer 凭证 + 工具白名单”,不直接消费 RAGFlow 的租户令牌或数据集 ID;Knowledge Broker 负责把身份上下文转换成服务端 ACL 条件。


六、多租户 / 权限 / 审计(对标 02 篇 OIDC 口径) ​

原则:不另建身份库,但必须把“身份链”和“数据授权链”分开。 身份复用专栏既有 OIDC 体系;知识库 ACL 由 Knowledge Broker 在服务端维护,RAGFlow 只承担存储层隔离。

企业 IdP(OIDC,Provider 挂 Portal)
  └─ OIDC subject(人类身份,唯一可信来源)
       └─ HiMarket Portal / Tenant(一个企业一个 Portal;tenant_id 由 Portal 派生)
            └─ Developer(人类开发者身份,绑定 subject)
                 └─ Consumer(工作负载/应用身份,持有 AK/SK,不等于员工本人)
                      └─ 订阅知识库 MCP 产品(APPROVED 只代表授权关系,不代表可调用)
                           └─ Knowledge Broker ACL(tenant_id / project_id / document_id / classification)
                                └─ RAGFlow 服务账号 / 租户内 Dataset(只执行 Broker 下发的过滤条件)
层机制生产约束 / 口径来源
身份Portal 挂 oidcConfigs(provider/displayName/clientId/authCodeConfig/redirectUris);授权码流程 state 10 分钟防 CSRF02 篇 §4(源码级)
生产必补ID Token JWK 验签(OidcServiceImpl.java:310 TODO)——企业 SSO 接入前必须启用 jwks_uri 验签02/03 篇风险表
租户tenant_id 由 Portal/Consumer 的已签名上下文派生;X-Tenant-Id 等请求头只能作断言,不一致直接拒绝禁止请求体自报;Broker 强制校验
主体人类用 OIDC subject;工作负载用 Consumer 凭证;Agent 用平台签发的委托令牌。三者不得混用,也不得把 Consumer 当作员工身份02/03/05 篇
数据权限Broker 维护文档 ACL 与密级;检索时服务端注入 tenant/project/document/classification 过滤,RAGFlow Team 仅作兜底客户端传入的 dataset_ids 不生效
工具权限Higress 校验订阅、配额、工具白名单与 Consumer 状态;撤销订阅后数据面立即拒绝,而不是只改市场状态订阅状态与数据面授权需同源或短 TTL 同步
调用审计Higress 记录权威调用事件(谁、以何身份、调用何工具、结果码、用量);Broker 记录 ACL 决策与过滤条件;RAGFlow 日志只作补充证据不以 RAGFlow 日志作为计量权威源
记忆审计记忆服务按 tenant/owner/project 隔离,记录写入、检索、更新、删除与来源;控制台可查询开源侧需自建管理面,不能只依赖 mem0 日志

七、实证计划(POC 最小链路 + 生产验收) ​

目标:先在 v1.0.0-rc2 上跑通“导得进、查得到、接得上市场”的最小链路;再补负向隔离、质量基线与 HA 证据。以下全部是待执行计划,不是已通过结论。

7.1 POC 步骤(可本地执行) ​

#步骤方法验收口径当前状态
1本地起 RAGFlowDocker Compose,固定镜像 v1.0.0-rc2,资源按官方建议控制台可登录;ES/Infinity 索引健康;记录镜像 digest已部署(POC)
2建知识库并导入建 Dataset,上传数字 PDF、含表格文档、扫描件各 1 份解析任务成功;表格/OCR 结果可人工复核仅完成 4 chunk / 193 tokens 的小样本,不代表解析质量达标
3检索与引用混合检索 + 引用(页码/坐标);Rerank 单独开关对照引用能定位原文;Rerank 前后有可量化差异Rerank 未实证,不得宣称生效
4RAGFlow MCP 面通过 /api/v1/mcp/servers 管理面登记 Server,再用 MCP client 验证实际暴露工具与传输记录 endpoint exists / 调用成功 / 工具清单 三层证据管理面路径已核对;对外工具面与鉴权待实测
5Nacos 登记 + HiMarket 上架登记非敏感配置(地址/协议/工具元数据)→ 创建 MCP_SERVER 产品 + meta(streamable_http)→ 发布 → 订阅订阅 APPROVED;响应元数据不含上游密钥04 篇已验证目录/订阅段
6消费闭环用 toTransportConfig() 返回的稳定端点 + Consumer 凭证发起调用;上游凭证由 Credential Broker 注入经 Higress 完成“检索→回答带引用”;无凭证直连被拒未完成(04 篇未装 Higress)
7记忆飞轮起 mem0(Qdrant)+ mem0-mcp,经同一 MCP 出口调用跨会话 add/search 可用;隔离与删除见 12 篇闸门方案级,未实证
8租户/文档隔离负向测试见 7.2,至少 6 组越权全部被拒且有审计记录未执行
9契约接缝抽查refresh-tools 拉工具清单;网关计量事件落到可查询存储工具元数据同步;用量可对账端点存在,未完成全链

7.2 生产前必须补的负向与质量证据 ​

类别用例通过标准
租户隔离租户 A 的 Consumer 调租户 B 的产品 / Dataset401/403;Broker 记录拒绝原因;无跨租户片段返回
同租户角色同租户普通员工 vs 知识库管理员管理员可见管理端点;普通员工访问管理端点被网关角色拦截
文档级 ACL同租户共享文档 vs 私有文档私有文档不出现在非授权用户检索结果与引用中
参数伪造请求体伪造 dataset_ids、tenant_id、user_id、owner自报字段不生效或被拒绝;以签名上下文为准
订阅撤销撤销订阅后立即调用数据面在约定 TTL 内拒绝;计量记录撤销后拒绝事件
旁路直连绕过 Higress 直连 RAGFlow/内部 APINetworkPolicy 拒绝;服务账号凭证不可从客户端获得
检索质量黄金集 ≥100 问,含无答案/多跳/表格/扫描件记录 recall@k、MRR、引用正确率、无答案拒答率;阈值由业务确认
删除传播删除文档/撤销权限后再次检索向量、缓存、引用快照均不可再召回;给出可验证完成状态
毒文档注入含 Prompt Injection/冲突事实的文档隔离或降权;不进入高可信回答;有告警
容量/HA并发压测、节点故障、索引恢复达到 SLO;单节点故障不丢计量事件;恢复时间可测量

落地顺序:1→2→3(引擎与质量门)→ 4(MCP 面)→ 5→6(市场与数据面)→ 8(隔离)→ 9(计量/审计)→ 7(记忆)。步骤 6 才是 04 篇“⏳ MCP 端到端调用”的真正销项;仅订阅成功不算。


边界 ​

  • 本开题管"供给与市场化":知识底座提供解析/检索/记忆/MCP 供给;执行(Agent 编排、会话)在 agentscope-service 侧,按契约消费;
  • 计量≠计费:知识检索用量事实由网关记录,价格/结算在企业计费系统(00 篇口径);
  • 音视频解析、记忆观测/审计控制台为开源侧缺口,已如实标注(PX-4、MEM-2),不做臆造承诺;
  • License 红线:选型只落 Apache-2.0/BSD-3 族;Dify/FastGPT 修改版 Apache(禁多租户 SaaS)与 MaxKB GPL-3.0 在知识底座主链路不采用,仅在应用编排类场景单独评估;
  • 传输规范:远程 MCP 目标形态为 Streamable HTTP;RAGFlow v1.0.0-rc2 的实际传输与工具面未完成实测,SSE 只作兼容并需退出计划。
  • 版本边界:RAGFlow 当前验证镜像为 v1.0.0-rc2,不是稳定版 v1.0;升级前必须重跑 MCP、权限、检索质量与 HA 回归。
  • SSRF 边界:RAGFlow 的出站访问限制是正确安全护栏,不得以修改代码“绕过”作为生产方案;受控内网 embedding 必须走显式允许清单、出站代理、NetworkPolicy 与 DNS 重绑定防护,详见 11 篇 §2.2。
  • 不宣称项:本文不宣称 RAGFlow 已生产就绪、检索质量已达标、MCP 已端到端闭环或记忆层已实证;这些均以 05 篇闸门和第七章证据为准。

把 AI 工程讲到既懂也会用