RAG(检索增强生成)是当前大模型落地最稳的模式:不训练、不微调,把企业/店铺自己的资料"喂"给模型当外挂知识,让它基于依据回答,大幅降低幻觉。这篇以一个"本地商家 AI 助理"为例讲清楚完整链路。
一、为什么 RAG 是落地首选
大模型的两个短板——知识不新(训练截止)、内容易编造(幻觉),RAG 用检索解决:回答前先从私有知识库检索相关资料,模型只基于检索结果生成。三个关键收益:
- 知识更新零成本:资料变了更新库就行,不用重新训练
- 可信度可验证:每个回答都能附上"依据是哪份文档"
- 合规友好:私有资料不出自己的环境,本地模型 + 本地向量库全链路可控
二、完整链路(四步)
1. 文档处理:文档(PDF/Word/网页)先做格式归一化。这里有个关键细节——PDF 转 Markdown 的质量直接决定后续一切:表格、列表、标题结构如果转丢了,切块就是乱的。结构化的 Markdown 是知识库的地基。
2. 切块与向量化:按标题层级切成语义完整的块(每块 300~800 字是常见区间),用 embedding 模型转成向量。注意:embedding 模型也要选支持中文的,切块粒度宁小勿大。
3. 检索:用户提问 → 向量相似度检索 Top-K 相关块。纯向量检索会漏掉精确匹配(型号、数字),向量 + 关键词的混合检索是工业级标配。
4. 生成:检索结果 + 问题一起给 LLM,prompt 里明确要求"仅基于提供的资料回答,资料没有就说不知道"。
三、本地部署的组合
- LLM:本地 27B Q4 量化模型(32GB 显存单卡跑通)
- 向量库:Chroma / Qdrant 本地实例
- 编排:Dify 或 LangChain 搭工作流,RAG 是内置节点
全链路不出内网:文档、向量、模型都在本地,商家最敏感的经营资料(价格表、客户资料、供应链)完全可控。
四、落地中的真实坑
- 切块切碎了上下文:表格被切成三行碎片,检索回来没法用——按标题切、表格整块保留
- 检索准了生成还是胡说:prompt 里没约束"基于资料回答",模型自由发挥
- 长耗时体验差:检索 + 生成加起来十几秒,要加流式输出和"正在检索中"的反馈
- 资料没做权限隔离:不同客户的资料混在一个库里,A 客户的问题检索到 B 客户的资料——多租户必须分开建库
五、这个模式能做什么
- 商家:产品资料、FAQ、价格政策 → 自动应答
- 服务方:把客户的文档做成知识库,交付"专属 AI 助理"(文档 → 结构化 → 可检索,本身就可以作为交付物定价)
- 自己用:把读过的文章、笔记全部入库,随问随查
RAG 不性感,但它是大模型从"玩具"变"工具"的分水岭。