一、承接上篇文档能转能盖能去但检索还靠翻找上篇把向量底座——本地 BGE 嵌入模型、ChromaDB 与外部 Milvus——搭好了检索的地基打牢了。可当文档堆成库人依然靠打开—搜索—翻页找答案效率低且易漏。我们要让工具直接回答问题。嵌入模型、向量库与外部接入的底座细节已在上阶段讲透本篇聚焦上层的混合检索与 RAG 编排。二、痛点纯语义检索的三重陷阱把宪法第 X 条修正案和宪法混淆年份 / 版本 / 条款号搅在一起答非所问大模型幻觉回答无依据在企业场景里尤其危险企业知识必须隔离绝不能泄漏到公网。三、技术核心本地向量库 混合检索底座是 ChromaDB 持久化 本地 BGE-large-zh-v1.51024 维CPU/CUDA 自适应禁止联网下载并预留可插拔 VectorStoreMilvus / Qdrant。检索层用混合策略保精度BM25中文二元词组保留年份 / 第 X 条 / 编号这类精确词不被向量模糊掉向量语义兜住同义表达RRF 加权融合 本地确定性重排序兼顾召回与排序稳定。架构上做 LangChain 迁移ChatPromptTemplate / Runnable / SQLiteChatMessageHistory 长期记忆。多模式思考 / 人工客服 / 法律 / 自定义各自绑定独立 System Prompt 与独立向量库元数据隔离维度为 knowledge_scope / user_key / conversation_id / document_id。入库做 MD5 精确去重提取年份 / 版本元数据并支持年份敏感检索BGE 入库后显式释放 GPU 显存共享实例 RLock reset。离线查询重写保留年份 / 条款号。审计 trace 可溯源API Key 用 DPAPI 加密脱敏防泄漏。混合检索示意BM25 向量 RRF 融合results rrf_fuse(bm25_search(q), # 保留精确词vector_search(q), # 语义兜底weights…) # 加权融合四、踩坑实录GPU、显存与漏检选了 CUDA 却没用上 GPU装的是 torch CPU 版且 Runtime 没消费 device 配置。换 torch cu128 并真正消费配置后生效。BGE 不释放显存阶梯增长改为共享单一 Embedding 实例 显式释放显存回落。法律文档漏检重写提示词强制保留文件名 / 年份 / 版本 / 条款号禁止模型自行回答或加事实并给 Reranker 增加标题 / 类型匹配。附件已就绪但模型未读逐层验证 上传→解析→会话记录→原文直读→Prompt→模型→SSE数据库方法签名漂移导致直读 TypeError异常处理器自身抛 NameError 掩盖原始异常——均修。混合检索为什么比纯向量更稳纯向量检索的软肋恰恰是企业文档的高频诉求精确的词年份、第 X 条、编号会被语义模糊掉宪法第 X 条修正案和宪法就混了。所以我们用 BM25中文二元词组守住精确词用向量兜住同义再用 RRF 加权融合 本地确定性重排序平衡两者。可插拔 VectorStoreMilvus / Qdrant预留底座仍是本地 ChromaDB BGE-large-zh-v1.5禁止联网下载。多模式思考 / 人工客服 / 法律 / 自定义各自绑定独立 System Prompt 与独立向量库元数据按 knowledge_scope / user_key / conversation_id / document_id 隔离知识不串门。入库 MD5 精确去重、提取年份/版本元数据做年份敏感检索BGE 入库后显式释放 GPU 显存共享实例 RLock reset避免阶梯增长。很多团队上检索问答的第一步就栽在检索不准用户问的是某一年某一条的具体条款模型却答成了泛泛的概念。问题不在模型而在检索层把精确信息模糊掉了。我们用混合检索把这件事掰回来——精确的年份、条款号交给关键词语义相近的说法交给向量两者再融合排序答案才站得住脚。对企业知识来说宁可保守一点、答得准也别为了聪明而胡说。本地知识库的意义是把散落各处的文档变成随时能对话的资产。我们坚持混合检索本质上是承认一件事纯语义检索在企业场景里不够可靠精确信息必须被守住。多模式隔离则保证了不同业务的知识不串门合规上站得住。但能力再强一旦多人使用就必须有权限管控与稳定运行兜底——这是终章要收尾的话题。检索准了问答才敢用。知识被隔离好、对外不泄露、对内可溯源工具才算真正可信这也是本地化最硬的底气。本阶段使用建议法律/条款类文档强制在查询与提示词里保留文件名、年份、版本、条款号选了 CUDA 就装 torch cu128 并真正消费 device 配置别让 GPU 空转附件已就绪但模型未读时逐层验证 上传→解析→会话记录→原文直读→Prompt→模型→SSEAPI Key 用 DPAPI 加密脱敏审计 trace 可溯源防泄漏。五、小结本地 RAG 的灵魂是可控检索可控、知识隔离可控、显存与合规可控。它把文档从存档变成可对话的资产。下期预告底座稳了、检索准了功能再强一旦多人、跨机使用没有权限管控和稳定运行兜底前面所有能力都是空中楼阁。下一篇讲权限安全与一键部署终章。标签#RAG #ChromaDB #BGE #混合检索 #知识库