企业内部知识分散在大量 PDF、Word、Excel 等文档中,员工查找信息效率低下,传统全文检索无法理解语义,搜索结果不精准。同时 PDF 中的图片、表格、公式等复杂内容传统方案无法有效解析,导致大量知识资产无法被利用。本项目基于 RAG(检索增强生成)架构,构建企业级智能知识引擎,实现从文档接入、智能解析、向量化存储到多源检索、意图路由、流式对话的全链路闭环,让员工通过自然语言对话即可精准获取企业知识,大幅提升知识获取效率和决策支持能力。
点击空白处退出提示
企业内部知识分散在大量 PDF、Word、Excel 等文档中,员工查找信息效率低下,传统全文检索无法理解语义,搜索结果不精准。同时 PDF 中的图片、表格、公式等复杂内容传统方案无法有效解析,导致大量知识资产无法被利用。本项目基于 RAG(检索增强生成)架构,构建企业级智能知识引擎,实现从文档接入、智能解析、向量化存储到多源检索、意图路由、流式对话的全链路闭环,让员工通过自然语言对话即可精准获取企业知识,大幅提升知识获取效率和决策支持能力。
1. 文档智能解析模块
支持 PDF、Markdown、TXT、DOC/DOCX、Excel 等多格式统一接入
基于 MinerU 深度解析引擎,精准提取 PDF 中的图片、表格、公式、扫描件等多模态内容
5 种智能分段策略(固定长度、段落分割、递归字符、Markdown 标题、语义分段),用户按需选择
Excel 双模式切片(键值对 + HTML 表格),保障行级完整性
父子分段架构:子分段用于精确检索,命中后自动回溯父分段获取完整上下文
2. 智能检索模块
问题重写(Query Rewriting):4 维策略对用户 Query 进行语义增强,提升召回率
查询路由(Query Routing):自动路由到 ES 全文检索 / Text2SQL / Text2Cypher 三大数据源
混合检索:BM25 关键词检索 + 向量语义检索,兼顾精确匹配与语义理解
RRF 融合排序 + BGE-RERANKER 本地重排序,显著提升检索精准度
内容聚合:去重、合并、上下文补全,构建最优 Prompt Context
3. 流式对话模块
基于 Reactor Flux 全链路 SSE 流式输出,Token 级逐字推送
4 类 SSE 事件协议:[PROGRESS]、[REFERENCE]、[CARD]、Token,全链路可观测
文档引用实时推送(文档名、分段位置、相关度分数),回答可追溯可解释
4. 意图识别模块
6 大意图分类识别及结构化实体提取
基于 CoT、Few-shot 优化,意图识别准确率从 78% 提升到 96%
7 步 JSON 容错修复管道,解决 LLM 输出不规范问题
负责任务:
作为核心开发者,负责整体架构设计与核心模块开发
独立完成 RAG 检索链路、流式对话管道、文档解析服务的设计与实现
负责性能优化、分布式基础设施建设
技术栈:
后端:Java 21 + Spring Boot 3.5 + LangChain4j 1.11 + Project Reactor
搜索引擎:Elasticsearch(BM25 全文检索 + 向量检索)
图数据库:Neo4j(知识图谱查询)
缓存/锁:Redis + Redisson(三级缓存 + 分布式锁)
数据库:MySQL(结构化数据 + Text2SQL)
对象存储:MinIO(文档文件存储)
AI 推理:ONNX Runtime(BGE-RERANKER 本地重排序模型)
文档解析:MinerU + FastAPI(PDF 多模态解析微服务)
任务调度:XXL-Job
架构设计:
RAG 全链路架构:文档接入 → 智能切片 → 向量化存储 → 多源检索 → 意图路由 → 流式生成
装饰器模式解耦进度回调,弹性线程池调度阻塞式操作
事件驱动 + 定时兜底的最终一致性保障
父子分段 + 三级缓存(HashMap → Redis → MySQL)架构
技术亮点:
混合检索 + RRF 融合 + 本地 ONNX 重排序,检索精准度显著优于单一检索方案
父子分段架构解决 RAG 中"语义截断"导致回答不完整的行业痛点
Java 21 虚拟线程异步并行执行多维查询改写,不阻塞主流程
意图识别准确率通过 CoT + Few-shot 从 78% 提升到 96%
@DistributeLock 声明式分布式锁注解,支持 SpEL 动态 Key、超时自动续期
技术难点:
PDF 复杂内容(图片、表格、公式、扫描件)的精准解析与结构化还原,通过引入 MinerU 深度解析引擎解决
LLM 输出格式不稳定(Markdown 包裹、中文引号、尾部逗号等),设计 7 步 JSON 容错修复管道保障解析成功率
多源检索结果的融合排序偏差问题,通过 RRF 算法 + 本地重排序模型两阶段优化解决
流式输出中进度事件与 Token 的有序编排,通过 Flux.create() + 装饰器模式实现统一流式管道




评论