企业级 RAG 平台

可配置节点的 IngestionEngine + 四通道召回 + RRF 融合与重排,7 个 Maven 模块的模块化单体。

Spring Boot 4 / Maven 多模块 / MyBatis / PostgreSQL + pgvector / Redis / LangChain4j。

可配置的摄取链路

把「解析 → 分块 → 向量化 → 写入 pgvector」拆成可配置的节点,每个节点支持条件跳过与独立的节点级日志。文档格式杂的时候,链路能按文件类型走不同分支,某一节点失败时日志能直接指到是哪个节点、哪个文档,而不是一句「导入失败」。

四通道召回与融合

向量、关键词、图谱、联网搜索四路并行召回,RRF 融合后接 Rerank 重排。检索漏斗是「每路 20 → 融合 40 → 重排 10」,最终回答带来源引用,能点回原文。

RRF 用 1/(60 + rank) 而不是把分数直接加权,是因为四路的分数根本不在一个量纲上:余弦相似度、BM25、图上的跳数、搜索结果的排序位次,加权求和必须先归一化,而归一化又要按查询动态调参。只用名次就没有这个问题——谁排第几是四路都同意的语义。

供应商隔离

模型路由层做三态熔断 + 失败自动切换,换供应商不改核心问答流程。7 个模块的模块化单体,AI 供应商差异和 RAG 业务分在不同模块里,边界靠 Maven 依赖方向约束,而不是靠自觉。