从数据清洗、向量化到微调评测的完整技术链路,附开源与商用方案对比表。
企业知识库 + 大模型:先想清楚问题再动手
大部分企业把"知识库大模型化"简化成一句话——"把 PDF 灌进向量库,让大模型答"。真正上手就会发现三个坑:问不出答案(切片不对)、答得离谱(幻觉)、越用越差(知识过期)。这篇文章把从 0 到 1 的完整链路讲清楚:文档治理 → 切片 → 向量化 → RAG → 微调 → 评测 → 闭环。
第一步:文档治理(80% 的效果差距源于此)
- 来源盘点:SOP、产品手册、售后 FAQ、Wiki、聊天记录、工单、合同、公告;不同类型走不同处理策略。
- 权限矩阵:谁能看到哪部分,需要落到向量库的 metadata 里(部门、角色、密级)。
- 时效性:所有条目打上
valid_from/valid_to;召回时按时间衰减加权。 - 同义词与实体表:企业内部"退款/退货/退单/售后单"往往指一件事,必须先归一。
跳过这一步,后面所有模型选型都是徒劳。
第二步:切片(Chunking)策略
- 结构化切片:按 H2/H3/表格边界切,而不是固定 500 字。
- 语义切片:对长段落跑一遍 semantic-splitter,让每片语义自洽。
- 父子片:召回粒度小、送模型上下文粒度大,用 parent-doc-retriever 拿到更完整的上下文。
- 重叠:常规 15-20% overlap,避免边界断句。
第三步:向量化 + 检索
- Embedding 模型:中文首推 bge-m3 或 gte-large-zh;对代码/多语料考虑多模型混合。
- Rerank:一定要加,bge-reranker-v2-m3 或 cross-encoder,能把 nDCG 从 0.6 拉到 0.85。
- 混合检索:BM25 + 向量 + 关键词过滤,别偷懒只做向量。
- 索引选择:数据 < 1000 万条用 pgvector 或 Milvus;再大走 ES + 分片。
第四步:RAG Prompt 工程
关键三条:
- 让模型"必须引用",未命中就说"我不知道",不允许自由发挥。
- 引用编号回传,前端渲染成脚注;用户能点回原文。
- 系统消息里注入"当前时间 + 用户角色 + 允许命中的知识库分区"。
第五步:什么时候要微调
RAG 打不动的三类问题必须微调:
- 风格/语气一致性(律师函、投诉回复模板)
- 数值/结构化输出(工单字段、报表 JSON)
- 多轮引导型话术(销售、催收、预约)
微调不能替代 RAG,只是让"输出层"更服帖。工程上首选 LoRA + QLoRA,成本低、可回滚。
开源 vs 商用方案对比
| 维度 | 纯开源自建 | 商用私有化平台(如怡途) |
|---|---|---|
| 起步成本 | 硬件 + 3-6 人月工程 | 平台授权 + 1 人月接入 |
| 迭代速度 | 慢,坑多 | 快,坑已踩过 |
| 模型可换性 | 高 | 高(多数支持模型热插拔) |
| 后期演进 | 依赖团队水平 | 依赖厂商路线图 |
| 合规交付物 | 自证 | 平台自带审计与合规报告 |
结论:没有大模型工程团队的企业,选商用平台比自建划算 3-5 倍。
第六步:评测与闭环
- 离线评测集:至少 500 条业务问答,覆盖高频/长尾/对抗三类。
- 在线评测:日志采样 10%,人工打分 + 模型自评。
- badcase 回流:每周把打分 ≤ 3 的对话,直接进训练/切片修复队列。
- 收敛指标:3 个月内首答准确率 ≥ 85%,兜底转人工率 ≤ 15%。
FAQ
Q1: 有必要一开始就上微调吗? 不。先做好 RAG,跑三个月,用真实 badcase 判断是否需要微调。
Q2: 知识库多久更新一次? 高频业务(价格、库存)实时接口化;SOP/手册每周批量重灌。
Q3: 幻觉怎么控制? 强制引用 + 未命中兜底 + Guardrail + Rerank 四件套。
Q4: 硬件最低要求? 7B 模型 + bge-m3:单卡 4090/A10 起步;14B 走双卡或量化。
Q5: 与现有 CRM/工单如何打通? 把工单写回封装成 tool,模型以 function-calling 方式调用,不要把 CRM 数据全塞上下文。
结语
企业知识库大模型化,是工程问题占七成,模型问题占三成。把治理和评测做扎实,比追新模型有用得多。