对齐边界
下面说的是**独立检索服务(Retrieval Service)**的能力,不含Agent循环、召回评估、多轮检索决策(这部分放在主Agent)。 这个RAG服务只负责:文档入库处理流水线 + 检索接口 + 运维/权限/评估;对外输出原始chunk+元信息,不做答案生成、不决定如何搜索及搜索几次。
分成五大块:【文档接入&解析流水线】、【分块与索引管理】、【在线检索核心能力】、【企业管控能力】、【观测&评估运维能力】,再加进阶多模态/知识图谱扩展。
一、文档接入 & 解析流水线(Ingestion)
这是离线侧,把原始文件变成可检索内容
-
多源连接器
- 文件:PDF、Word、Excel、PPT、Markdown、txt、epub、扫描件
- 数据源:对象存储(MinIO/COS)、本地目录、网页爬虫、API同步、数据库、Git、OA/SharePoint/Jira等
- 增量同步:定时轮询、Webhook触发变更、监听消息队列,只处理新增/修改文档,避免全量重刷
-
文档解析引擎
- 普通解析:提取文字、保留标题层级、表格提取、目录、页码、章节位置元数据
- OCR:扫描件、图片里文字识别;复杂场景版面解析(Layout解析,区分正文/表头/注释/页眉页脚)
- 清洗:去水印、去重复页眉页脚、乱码修复、空白段落过滤、格式标准化
- 多模态解析:图注提取、图表OCR、图片转描述(VL解析)
-
文档版本管理
- 同一文档多版本存档,支持版本切换、旧版本索引冻结;文档删除/软删除、索引清理
二、分块、Embedding、索引管理(Index)
-
多种分块策略(可按知识库/文档类型配置)
- 基础:固定长度分块、递归分块
- 进阶:标题感知分块、语义分块、表格独立分块、按章节边界切分,带重叠窗口
- 块级元数据绑定:文档ID、文件名、页码、章节、上传人、部门、时间、标签、权限标签
-
Embedding管理
- Embedding模型路由,支持多Embedding共存(不同库用不同模型)
- 向量归一化、向量压缩(PQ)
- 模型切换时批量重向量化流水线
-
索引与存储
- 向量库(Milvus/Qdrant/pgvector)+ 全文库(ES/Elasticsearch)双索引
- 多租户/Namespace隔离、知识库隔离、库级开关
- 索引生命周期:热索引、冷归档、TTL、自动清理失效chunk
三、在线检索核心API能力(给主Agent调用的核心)
这就是你主Agent调用的工具接口,只返回chunk,不生成答案
-
混合检索 Hybrid Search
- 稠密向量检索(语义)+ BM25稀疏关键词检索 + RRF融合打分(业界标配)
- 纯向量、纯关键词、混合三种模式可切换
-
检索过滤
- 元数据过滤:时间范围、文档类型、部门、设备编号、规程版本、标签
- 文档级ACL权限过滤:接口传入用户身份,自动过滤该用户不可见的chunk(防越权)
-
Rerank重排
- 先粗召回topN(比如20~50)→ 重排模型打分 → 返回topK
- 支持开关、自定义reranker、超时降级(重排挂了直接返回粗排结果)
-
结果后处理
- 去重、near-duplicate合并、过滤低分碎片
- 返回结构统一:chunk文本、来源文档ID、页码、章节、分数、原始文件链接、元数据
-
缓存、限流、熔断、降级
- 查询缓存(Redis,相同query+相同过滤条件复用召回结果,设置过期)
- 接口限流、并发控制、超时设置;向量库/ES异常时自动降级策略
-
多路知识库路由
- 一个检索接口,根据路由参数,自动路由到不同知识库(规程库、缺陷库、历史方案库)
✅ 区分:Query Rewrite / Sub-question 放在主Agent,不在这个检索服务里
四、企业管控 & 安全能力(生产必加)
-
权限体系
- 知识库级权限、文档级权限、用户/角色/部门ACL
- 接口鉴权:API Key、JWT、和主业务SSO打通
-
内容安全
- 入库内容审核、检索结果敏感词过滤、脱敏(手机号、身份证、涉密字段)
-
知识库管理后台(Web)
- 上传文档、查看文档列表、预览、手动触发重新解析/重分块/重建索引
- 标签管理、知识库创建、开关、统计(文档数量、chunk数量、存储占用)
- 手动测试检索:输入query,看召回chunk、分数、重排效果(调试用)
五、可观测、评估、迭代能力
-
链路Tracing
- 每次检索埋点:query、过滤条件、召回数量、重排前后分数、耗时、返回chunkID、用户ID、知识库ID
- 对接LangFuse/LangSmith,和上层Agent的trace打通,一条链路看到:Agent调用retrieve → 检索内部全流程
-
指标监控(Prometheus+Grafana)
- P95/P99延迟、QPS、错误率、缓存命中率、召回数量分布、重排耗时
- 入库流水线指标:解析失败率、向量化失败、同步延迟
-
RAG评估模块(离线评估)
- 接入Ragas、DeepEval:Context Recall、Context Precision、Faithfulness
- 测试集管理、批量评测、版本对比(改分块/Embedding/reranker前后效果对比)
- 人工标注入口:标注召回是否相关,回流测试集
-
反馈闭环
- 检索结果标记:“相关/不相关”,用于后续优化分块、过滤、rerank
六、进阶扩展能力(按需上,不是标配)
- 多模态检索:图文混合,图检索、表格检索、VL解析后的图文对齐检索
- GraphRAG知识图谱检索:实体、关系抽取,子图检索,和向量检索并行返回(适合设备、规程、缺陷关联查询)
- 摘要索引/小摘要辅助检索:chunk摘要单独建索引(注意:原始chunk依然保留返回给Agent,不能只用摘要)
- 引用定位:PDF原文精确定位(页码+坐标,前端可以高亮原文)
七、重点边界,避免耦合
✅ 在检索服务里:解析、分块、建索引、混合检索、过滤、重排、权限过滤、返回原始片段
❌ 不在检索服务里(放到主Agent) :query改写、子问题拆解、判断要不要检索、评估召回够不够、多轮循环检索、答案生成、幻觉校验