01是什么 / 为什么#rag-what-why
大模型三个先天短板:知识过期、看不到你的私有数据、爱一本正经地编(幻觉)。RAG 的解法是从「闭卷考」变成「开卷考」:回答前先从外部知识库检索相关片段,让模型「看着资料」作答——更新快、更准、可溯源。
三步流程:
与微调的边界一句话:RAG 改的是「知识」,微调改的是「行为」。知识频繁变动、要引用出处、私有数据多、要快速上线——选 RAG;要固定输出格式/语气、教会模型新技能——才考虑微调,二者常组合(取舍参照 Fine-tuning 模块)。「资料全塞超长 Prompt」不可行的原因在推理侧:长上下文两头吃钱、注意力被稀释——机制账见 LLM-Inference 网页版。RAG 不能彻底消除幻觉,但「给了资料 + 要求带出处」能大幅降低,剩余风险靠重排与评估兜底。
02向量检索与 Embedding#rag-embedding
嵌入(Embedding)把一段文字映射成一串数字,像在「语义地图」上标经纬度:谈猫和谈狗的坐标挨着,谈猫和谈报税的隔得老远——检索因此「按意思找」而不是「按字面找」,这是 RAG 的地基。
检索=问题向量找最近的 Top-K 片段向量(余弦相似度看方向多接近)。K 是召回与噪声的权衡:太小漏答案、太大塞噪声——常见做法先多召回、再交给重排精选。大规模检索用 ANN(Approximate Nearest Neighbor,近似最近邻):不跟库里每条向量逐一比对,靠索引(主流是 HNSW)牺牲一点点召回换百倍速度,生产标配。这意味着召回率天生不是 100%——那是设计取舍,不是 bug:客户问「这条明明在库里,为什么没检索到」,先答这一层,再看是不是切分或 Top-K 的问题。
| 选型 | 代表(2026-07 口径) | 适合谁 |
|---|---|---|
| Embedding 托管 API | OpenAI text-embedding-3(稳妥默认);Voyage / Cohere(质量瓶颈时更强) | 数据可出企业、要快 |
| Embedding 开源自建 | BGE-M3(多语言强、可私有化) | 数据敏感或量大 |
| 向量库 · 复用现有 | pgvector(给 Postgres 加向量,省一套系统) | 已在用 Postgres |
| 向量库 · 托管/自建 | Pinecone(零运维)/ Qdrant(开源性能强)/ Weaviate(混合检索出色)/ Milvus(十亿级) | 按运维能力与规模选 |
选型三问:①数据能否出企业(API vs 自建)②要不要多语言 ③量级与预算。先小模型跑通、按评估结果升级。
选型时就要说清的隐形成本:换嵌入模型=全库重算
向量不是「文本的通用表示」,而是那个模型的坐标系里的一个坐标。换模型=换坐标系,旧向量在新空间里失去意义——所以换嵌入模型必须把全库重新嵌入、重建索引,语料越大越疼。推论有两条,都该在设计期就讲:把嵌入模型当可换件对待(别让它渗进业务代码),以及把评估集留着——换的那天要靠它跑回归证明没变差。
选型口径核实 2026-07-07,来源 2026 对比与 arXiv 2402.03216(BGE M3)。
03切分策略#rag-chunking
切分(Chunking)像给书做「便利贴索引」:便签太大(整章)夹带无关内容,太小(半句话)丢上下文。块的粒度是 RAG 里性价比最高的旋钮之一:切得糙,后面模型再强也救不回来。
为什么非切不可(客户常问「整篇丢进去不行吗」):Embedding 与上下文都有长度上限,而检索要的是「精准的那一段」不是整篇——把 50 页手册当一个块,检索命中它就等于把 50 页全塞进上下文,既贵又稀释重点。切分躲不掉,也正因为躲不掉,它是实施工作量的大头、报价时不能漏的一项。
两个旋钮的起点:每块约 300–500 Token、重叠 10–20%(重叠像剪胶片时让相邻段共享几帧,避免把一句话拦腰劈断)——没有万能数值,起步后拿评估集实测调优。策略从简单到讲究:固定长度切(快速起步)→ 按结构切(顺着标题/段落/表格边界,结构清晰文档的好默认)→ 语义切分(句向量找话题切换点)→ 父子多粒度(小块精准检索、命中后回溯大块作答)。
上下文检索(Contextual Retrieval,Anthropic 提出)是近年最实用的低门槛增强:入库前用大模型给每个块生成一句「它在整篇文档里的定位」,前置进块里再嵌入——像给每张便利贴补一行「这是《退货政策》里关于生鲜商品的部分」。
文档全是 PDF / 扫描件时先过文档智能解析(OCR),解析质量决定切分质量(上游供给见 Data-Engineering)。
上下文检索数据来源 Anthropic Cookbook,核实 2026-07-07。不可外推边界:这是在特定数据集上、对检索失败率的相对降幅,不是准确率的绝对提升;换语料与切分策略结果会变。
04重排序#rag-reranking
两阶段检索像招聘:HR 先按简历海选一批(快、宽),业务负责人再对进面的逐个深聊(准、慢)。召回负责「不漏」,重排负责「排得准」——宽召回 + 精排是 RAG 提质的标准组合拳。
机制差别:双编码器把问题和文档各自独立编码,可预建索引、能扫全库但略粗;交叉编码器把「问题+文档」拼一起联合打分,捕捉细粒度关联、准得多——但每候选实时算一次,没法预建索引,所以只做第二阶段、精排少量候选。
选型(2026-07 口径):
托管:Cohere Rerank v4.0 系
pro 重质量 / fast 低延迟,多语言 + 半结构化。
自建:BGE-reranker-v2-m3
质量/延迟/许可平衡好,多数生产环境的稳妥默认开源项。Jina Reranker v2 面向 Agentic 场景可作备选。
收益成本账:多几百毫秒和一次调用费,换准确率明显提升——对质量敏感的场景(合规问答)几乎必上,对延迟极敏感的实时场景再权衡。
Reranker 格局核实 2026-07-12(Cohere v4.0 系为当前主线),来源 docs.cohere.com 与 2026 对比。不可外推边界:版本是当日主线,重排模型迭代快;排序质量对领域敏感,通用榜领先不等于在你的语料上领先。
05评估与诊断#rag-evaluation
评估集就是 RAG 的体重秤:没有秤,你不知道换的饮食有没有用,甚至越调越糟还沾沾自喜。切分、Top-K、重排这些旋钮,都要靠评估告诉你「拧对了没有」——可度量,才可优化。
归因先分两侧
| 侧 | 症状 | 去调什么 |
|---|---|---|
| 检索侧 | 没找到对的资料 | 调切分 / Top-K / 重排 |
| 生成侧 | 资料对了但答歪了 | 改 Prompt 或换模型 |
四个核心指标与生产参考阈值
| 指标 | 哪一侧 | 量什么 · 低了说明什么 | 参考阈值 |
|---|---|---|---|
| 忠实度 Faithfulness | 生成侧 | 答案是否只基于检索到的资料——最关键的抗幻觉指标;低了=模型在编 | ≥0.75 |
| 答案相关性 | 生成侧 | 答的是不是问的;低了=答非所问,不是编,是没对上题 | ≥0.80 |
| 上下文精确率 | 检索侧 | 检回来的片段里有用的占比,即信噪比;低了=召回一堆噪声,稀释重点还费钱 | ≥0.70 |
| 上下文召回率 | 检索侧 | 该检的关键信息检全了吗——漏检在这里暴露;低了=答案压根没进上下文,后面怎么调都白搭 | ≥0.80 |
最终按业务风险定线。
| 框架 | 用在哪一段 |
|---|---|
| Ragas | 开发期迭代 |
| DeepEval | CI 门禁 |
| TruLens | 生产监控 |
评估方法论的完整展开(判分四法 / 判官校准 / 黄金集)在 Evaluation 网页版——那页收编了本节的三角指标。
更细一层是六段诊断:解析(内容完整进库?)→ 切分(块边界合理?)→ 召回(证据进候选池?)→ 重排(证据排到前面?)→ 上下文(证据密度够?)→ 生成引用(主张被支撑?)——同样是「答错」,三种病吃三种药:gold chunk 没进池修检索、进了池没进上下文修重排与预算、进了上下文还答错修提示词或换模型。
管线症状诊断器
按六段诊断与排障三问(检索到没有?排上来没有?用上没有?)把症状定位到管线段。判据全部来自本页各节;确诊靠 Trace 回放与评估集,这里给的是排查起点。
06最小管线#rag-pipeline
完整管线两条腿——离线建库低频但重(备菜进冷库),在线查询毫秒级高频(点单出菜):
最小可用版本比想象中小:纯 API + 向量库客户端几十行代码——切分(第 3 节)、嵌入建库(第 2 节)、宽召回精排(第 4 节)、带出处生成(第 1 节),每段代码对应一节。框架不是必需品:管线简单就纯 API 拼(透明好排障);生产常见组合是 LlamaIndex 管数据接入、 LangGraph 管多步编排、Langfuse/LangSmith 管观测——各管一段,不是二选一。
给客户报量级:能跑的原型几天,「可用」两周级——难点从来不是调模型 API,而是把文档变成高质量的块(解析、切分调优、建评估集)。对接现有文档系统走连接器增量同步,要确认的是权限映射:文档系统里的可见性要在检索层复刻(见 生产化)。
07混合检索#rag-hybrid
破案要人证+物证:BM25 是物证——指纹对上就是对上,一字不差;向量是人证——听得懂「那个高高瘦瘦戴眼镜的」。只信一种证据都会放走真凶。混合检索是 2026 年生产部署的最低标配基线,不是加分项。
BM25 是物证
指纹对上就是对上,一字不差。搜「错误码 0x80070005」一发命中含该错误码的 KB——向量检索只会返回一堆泛泛的「权限问题排查」。
向量是人证
听得懂「那个高高瘦瘦戴眼镜的」。搜「电脑越用越卡怎么办」,BM25 远不如向量懂你。
企业语料里型号、代号、专名密度极高——纯向量检索的翻车率被普遍低估。
融合用 RRF(Reciprocal Rank Fusion,倒数排名融合):两套分数不可比(BM25 无上界、余弦 0~1),RRF 只看名次——按 1/(k+r) 相加,k=60(Elasticsearch 默认)开箱即用。算一遍就懂:文档 A 在 BM25 第 1、向量第 8 → 0.031;文档 B 两榜都第 3 → 0.032 胜——两边都不错的稳健选手,赢过单边冠军。生产标配三段式:双路宽召回(各 Top-50~100,求不漏)→ RRF 融合(不比分数、不用调权)→ 交叉编码器重排取 Top-10(求不错)。
落地捷径:Elasticsearch / OpenSearch 已原生支持向量检索与 RRF 混合查询——存量 ES 用户升级配置即可,数据不搬家、运维不新增;向量库阵营(Qdrant/Milvus/Weaviate)用稀疏+稠密双向量一次查询完成融合。成本增量主要是 BM25 索引存储,比向量便宜得多。
RRF 为主流引擎原生支持(Elasticsearch 默认 k=60、Qdrant 默认 k=2),核实 2026-10-20,来源 Elasticsearch / Qdrant 官方文档。不可外推边界:默认 k 各引擎不同,且都是出厂值,不是对某个语料调优的结果;要不要调,用自己的评估集回答。
08Agentic RAG#rag-agentic
朴素 RAG 是条流水线:检索一次,好坏全认——生产统计显示检索环节失败占比可达四成。 Agentic RAG 把检索变成模型手里的工具:它会判断、会改写、会换个库再查——从「递什么用什么」变成「查到满意为止」。
| 模式 | 它怎么干 | 什么时候用 |
|---|---|---|
| 路由 Router | 按问题类型分发到不同知识库/检索器 | 多知识库、类型可预判——最简单,首选起步 |
| ReAct | 边想边查:推理→检索→再推理→再检索 | 多跳问题、查询需逐步细化 |
| 计划-执行 | 先拆子任务清单,再逐个检索执行 | 复杂研究型任务,步骤可预先规划 |
| 多智能体 | 多个专职 agent 并行查各自的源再汇总 | 跨部门/跨系统多源,各源差异大 |
| 自反思 Self-RAG | 模型自评「要不要查、查得好不好、答得对不对」 | 对幻觉零容忍的高可靠场景 |
| 纠错环 CRAG | 检索质量评估器,不合格就改写重查 | 兜底环,可叠加在任意模式上 |
经验路径:从 Router 起步 → 需要多跳再上 ReAct → CRAG 随时叠加兜底,别一上来就 Multi-Agent。成本口径要主动讲:每多一轮检索多一轮模型调用,token 通常 2~5 倍、延迟从一秒级到几秒级——用路由分流,简单问题走朴素管线。护栏三件:限最大检索轮数(如 3 轮)、工具白名单、每步落日志——它本质是个带循环上限的状态机,比听起来可控。
与 Agent 的接缝一句话:RAG 给模型「开卷的书」,Agent 给模型「动手的手」,Agentic RAG 就是让那双手自己去翻书——把检索管线注册成 agent 的一个工具,两边投资都复用(循环与工具的机制在 Agent 网页版)。
五大模式与 CRAG 来源 arXiv 2501.09136 / LangGraph 官方教程,核实 2026-07-08。不可外推边界:论文与教程给的是模式骨架,不含各模式的成本与延迟代价;多轮检索会把单次问答的 token 与耗时抬上去,选型要连成本一起比。
09生产化与常见坑#rag-production
Demo 到生产,菜谱没变,变的是卫生许可、翻台率和供应链。三大生产病——质量漂移、延迟尖刺、黑盒不可查——共用一个疫苗:评估集跑成定时任务 + 全链路 Trace。
| 生产病 | 症状 | 根因 | 处方 |
|---|---|---|---|
| 质量漂移 | 上线时好好的,三个月后越来越离谱 | 语料变了、切分不再适配、换过嵌入没重建 | 评估集跑成定时任务,指标掉了先查建库侧 |
| 延迟尖刺 | 平时 1 秒,高峰 10 秒 | 候选块太多、重排太重、agentic 多轮叠加 | 分级管线:简单问题走快路,缓存扛重复问 |
| 黑盒不可查 | 用户说答错了,查不出错在哪一环 | 没有全链路追踪,检索结果没落日志 | 每次问答记 Trace:查询→命中块→重排分→答案 |
Trace 的价值实例:正确片段其实在 Top-5、但排第 4、被截断在上下文之外——问题在截断策略,不在检索;没有 Trace,多半冤枉嵌入模型。排障三问固定问:检索到没有?排上来没有?用上没有?
成本、权限、可信
算账口径:月成本 ≈ 建库一次性 + 增量嵌入 + 存储 +(检索+重排+生成)× 月问量 × (1 − 缓存命中率)——命中率是最值得投资的变量。三层缓存各砍一件重复劳动:嵌入缓存省重算、语义缓存让相似问题直接命中历史答案(客服约四成问题重复,生成成本立砍四成)、 Prompt 缓存省重复上下文的输入费。
语义缓存有个说不清就会出事的坑:串答
它按「问题相似」命中,而相似不等于等价——「我的报销进度」和「他的报销进度」两句话向量挨得很近。如果缓存键只有问题本身、不含提问者身份与权限,就会把别人的答案原样返给你,绕开你在检索层辛苦设的 ACL。所以缓存键必须带身份维度、相似度阈值宁严勿松;涉密场景对高敏感问题直接不缓存。客户问「加了缓存会不会串数据」,这就是标准答法。
权限在检索层设卡:每个块入库带 ACL 元数据(部门/密级/角色),查询时按提问者身份过滤候选集——安检设在书库门口,不是等读者借走再追回。真实翻车模式:全公司文档进同一个向量库不带权限元数据,员工问「高管薪酬方案」居然真答出来了。安全三件套:数据不出租户、检索层 ACL、审计日志——可溯源是 RAG 相对纯生成的安全加分项。可信回答还要过四层证明:可访问(当前用户有权看)→ 可定位(指认出处)→ 可支持(真被证据支撑)→ 可呈现(可点摘录/冲突提示/拒答)——像法庭证据链,断一环整条作废。
上线前的验收:一条回答能不能复现
把前面十二章各留一条验收证据串起来,收敛成一句可执行的终极判断:
任何一条回答都能回放「谁问的、检索到什么版本的什么、为何这样答、引用是否支撑」。
它背后是 五个版本绑定——数据、索引、模型、提示词、策略,缺一个就不可复现:换了嵌入模型没记版本、改了 top-n 没落配置、语义层口径改了没对账,事后都追不回「当时那一答是怎么来的」。验收 RAG 方案,验的不是「demo 答得对」,是这五个版本齐不齐。
10GraphRAG#rag-graphrag
向量检索的本质是最近邻,答不了「这五千篇文档的共同主题」这类全局问题——答案不在任何一段里,在片段之间的连接里。GraphRAG 先把语料织成知识图谱、做好分区导读,让全局提问也有据可答——代价是贵。
四步:实体抽取 → 建图 → 社区检测(Leiden 分区)→ 分层摘要——像出版社给一万本书做导读体系。查询两条路:本地查询沿实体邻居找证据(细节题),全局查询汇总社区摘要(全局题)。贵在索引期:每块过 LLM 抽取、每社区预写摘要。
| 路线 | 怎么花 / 怎么省 | 什么时候选 |
|---|---|---|
| 全量 GraphRAG(Microsoft) | 索引贵 6–8 倍、运营约 3 倍 | 语料稳定、全局/关系问题是刚需(审计链、组合分析) |
| LazyGraphRAG | 索引成本压到全量的 0.1%(≈向量级),推理期才建图;全局查询便宜约 700 倍 | 2026 年默认试点起点 |
| LightRAG / Fast GraphRAG | 轻量抽取 + 简化图结构 | 中小语料、关系问题为主 |
| 向量 + 图谱路由 | 简单问题走向量,全局/关系问题走图谱 | 生产主流——第 8 节 Router 模式的直接应用 |
值得付 6–8 倍索引成本的三类问题:全局归纳(「主要主题/趋势」)、关系追溯(「A 通过什么关联到 B」)、合规审计(出处链有法律意义)。起步建议:先把混合检索+重排做扎实,收集三个月真实问题——全局性/关系性问题占比可观(如超一成)再用 LazyGraphRAG 小语料试点。增量更新是痛点:语料高频变化的场景选 LazyGraphRAG 或把图谱限定在稳定核心语料上。
成本账核实 2026-07-09,来源 Microsoft GraphRAG 文档与 2026 实践者评测。不可外推边界:索引成本的倍数随语料规模与实体密度变化很大,文档给的是其示例语料下的口径;小语料上的倍数不能外推到全量知识库。
11多模态 RAG#rag-multimodal
企业文档里最值钱的信息常在图里:架构图、财报图表、扫描件。纯文本管线的丢失发生在建库期——图表抽不成有意义的文字,后面检索再准也无济于事(「答案明明在第 47 页的柱状图里,系统答资料中未提及」)。
三条路线从便宜到强(②的代表:Cohere Embed 5 / voyage-multimodal-3.5;③的 MaxSim 逐词对格打分,表格、图表、手写体一视同仁):
选型口诀:图少且简单→转述最划算;产品图/截图混在文档里→统一嵌入;扫描件海量、查询「视觉难」→ColPali 系。先便宜后贵、增量演进:先转述兜底,三个月后看坏答案,「视觉难」查询集中失败再对那部分语料上多向量。生成端要配套能看图的模型才闭环——「模型怎么看懂图」的能力边界在 Multimodal 模块(那边给眼睛,本节给眼睛配图书馆)。
三路线格局核实 2026-07-09,来源 arXiv 2407.01449(ColPali)与 2026 实践综述。不可外推边界:论文口径以文档视觉检索基准为主,落地效果强依赖文档类型;扫描件、图纸、表格密集的材料差异很大,按自己的材料实测。
12查数与语义层#rag-structured
「查文」答「是什么」,「查数」答「多少」——数字类问题走文档检索是事故源:最坏情况从旧报告里捞个过期数字、还带着出处、显得特别可信。入口处就要分流:问题里带「多少/排名/趋势/对比数值」的,路由到查数管线。
裸 Text-to-SQL 为什么不及格:模型写标准 SQL 语法早已过关,难在语义落地——真实企业库几百张表、字段名像密码、同一个「收入」五种口径。准确率随基准的「真实程度」断崖式下滑:学术单轮基准(Spider / BIRD)能到 80–90%,中等企业化基准掉到 50–70%,最贴近真实脏 schema 的企业基准(Spider 2.0 类)低到 10–21%——所以对客要讲最低那档(场景视角与口径战场见 Solution-Patterns ChatBI 节)。而且错法危险:SQL 跑得通、数字是错的(静默错误)。同一个「去年营收多少」,sum 订单表(含取消单)和 sum 财务确认收入能差 15%,都「语法正确」。
语义层是解药
指标 / 维度 / 同义词的确定性定义(「营收 = 确认收入 − 退款」)——给空降的 SQL 高手发一本《公司指标口径手册》,把「猜口径」变成「查口径」,准确率抬到 85–95%,覆盖到的问题近乎全对。
不用先重构几百张表:先给 20 个高频指标建口径映射就能上线——语义层是「乱库上面的整洁层」。
风险三道闸
① 只走语义层
高频指标走确定性生成。
② 只读 + 行级过滤
SQL 执行权限锁死。
③ 可复核
答案附生成的 SQL 与口径出处。
生产定式:RAG 做检索层 + 语义层做回答层,查文 / 查数入口路由。场景视角(ChatBI 口径战场)在 Solution-Patterns 第 8 章。
语义层前后 50–70% → 85–95% 为 dbt 2026 基准口径(核实 2026-07-09);裸 SQL 随基准真实度分档(学术 80–90% / 中等 50–70% / 最难企业基准 10–21%)经 2026-07-23 复核、2026-09-05 与 SP 册对齐,来源 dbt 基准与 Spider 2.0 / 企业化基准(BEAVER、Spider-Ent)。不可外推边界:准确率强依赖 schema 复杂度与基准口径,别拿学术单轮数字对客报真实企业库。
13上云怎么落地#cloud
前十二章讲的是 RAG 的零件怎么选。这一节换个视角:每个零件在云上对应哪个服务、这句话对客户意味着什么、该顺着追问他什么、以及哪些事云替你做不了。按管线阶段排,不按章节排——现场画架构图时是从左到右走的,不是按目录走的。
同一环节给多厂商代表选项,不绑死单一供应商;只列有真实云关联的环节,没有就不硬凑。服务能力以各云 2026 年现状为准,报方案前按当期文档复核。
离线建库:把文档变成查得动的库
| 技术环节 | 代表性云服务(多厂商,非绑定) | 给客户一句话 |
|---|---|---|
| 原始文档存储与接入 | Amazon S3 / Azure Blob / 阿里云 OSS + 各类连接器(SharePoint、Confluence、Web 爬取) | 把企业分散的文档接进来是落地第一步 |
| 文档解析 / OCR | Amazon Textract / Azure AI Document Intelligence / Google Document AI | 把 PDF、扫描件、表格转成结构化文本,切分才有原料 |
| 切分与入库(托管) | Bedrock Knowledge Bases / Azure AI Search 索引器 / Vertex AI RAG Engine | 平台内置切分策略,接上数据源自动切好、算好、灌好 |
| Embedding 计算 | Bedrock(Titan / Cohere)/ Azure OpenAI / 各云模型服务 API | 建库是一次性大头,之后增量很便宜 |
| 向量存储 | OpenSearch Serverless / Azure AI Search / 阿里云 DashVector / 托管 Milvus / 自建 pgvector·Qdrant | 托管省运维、自建更可控,按团队能力选 |
顺着追问什么:文档现在放在哪、有多少、多久变一次?扫描件和表格占多大比例(决定要不要上 OCR 与版面解析)?文档系统里谁能看什么——那套权限要在检索层复刻吗?
云替你做不了什么:托管 RAG 把管线接起来,不保证它内置的切分策略适合你的语料——切多大、重叠多少仍要用评估集实测(见切分策略)。还有一笔要在选型当天就报给客户的账:换嵌入模型等于换坐标系,全库必须重算(见向量检索与 Embedding)——托管服务让重算这件事更省心,但省不掉。
在线问答:一次提问怎么走完
| 技术环节 | 代表性云服务 / 引擎(多厂商) | 给客户一句话 |
|---|---|---|
| 混合检索引擎 | Elasticsearch / OpenSearch(含各云托管版);Azure AI Search / 阿里云 OpenSearch | 一个引擎同管 BM25 与向量,RRF 原生内置,存量用户升级即用 |
| 重排 · 托管 API | Cohere Rerank(含各云模型市场上架)/ 各云模型市场的重排模型 | 要快速接入、不想自建 GPU 推理 |
| 重排 · 平台内置 | Azure AI Search 语义排序 / Vertex AI Search 内置重排 / Bedrock 检索重排选项 | 已用某云托管检索,直接开启其重排能力 |
| 重排 · 自建开源 | 在 SageMaker / Azure ML / Vertex AI 上部署 BGE-reranker | 数据要私有化、想控成本与版本 |
| 生成 | Amazon Bedrock(Claude 等)/ Azure OpenAI / Google Vertex AI / 阿里云百炼 | 生成端点独立可换,管线不绑定单一模型 |
| 编排 · 托管 | Bedrock Agents / Azure AI Foundry Agent Service / 各云 Agent 平台 | 循环、重试、状态、工具调用由平台兜底 |
| 编排 · 自建 | LangGraph / LlamaIndex Workflows + 云上容器 / 函数计算 | 要精细控制流程就自建图编排,云只管跑 |
| 一条龙托管 | Bedrock Knowledge Bases / Azure AI Foundry + AI Search / 阿里云百炼 | 不想自己拼零件,接上数据源即用 |
顺着追问什么:客户的高频查询里,型号、错误码这类必须一字不差的占多少(这个比例直接决定混合检索的价值,见混合检索)?端到端延迟能接受到几秒——决定要不要上 agentic 环(见Agentic RAG)。
云替你做不了什么:托管检索一键开启的重排用的是平台自己的模型,效果好不好仍要用你的评估集验,不是开了就赢。「生成端点可换」说的是接口可换,不是换了模型效果不变——换模型要重跑评估集。
工程保障:上线之后靠什么活着
| 技术环节 | 代表性云服务 / 工具(多厂商) | 给客户一句话 |
|---|---|---|
| 全链路追踪 | Langfuse(开源可自托管)/ LangSmith / 各云 APM(Application Performance Monitoring,应用性能监控) | 每次问答一条 Trace,坏答案五分钟归因 |
| 语义缓存 / 网关 | 各云 API 网关 + Redis 系(向量相似缓存);Prompt 缓存由大模型 API 原生支持 | 重复问题不进模型,成本延迟双降 |
| 权限与审计 | 向量库元数据过滤 + IAM(Identity and Access Management,身份与访问管理)+ 云审计日志 | 检索层设卡、全程留痕,过安全评审三件套 |
| 告警与看板 | 评估集定时任务 + 各云监控告警 | 指标掉了机器先知道,别等用户投诉 |
顺着追问什么:出了一条坏答案,现在多久能定位到是检索段还是生成段?谁有权看到全量问答日志——这批日志本身就是敏感数据。评估集打算多久跑一次,谁看结果?
云替你做不了什么:IAM 管的是谁能调用这个接口,管不了检索回来的片段该不该给这个人看——那道卡设在检索层的元数据过滤上,设漏了就是「员工问出高管薪酬」(见生产化与常见坑)。语义缓存按相似度命中,问题相近而答案因人而异的场景会串答,缓存键必须带身份。
按场景才用得到的三块
| 技术环节 | 代表性云服务 / 工具(多厂商) | 给客户一句话 |
|---|---|---|
| 托管图数据库(GraphRAG) | Amazon Neptune / Azure Cosmos DB(图 API)/ 各云图数据库 | 图谱要有地方放:托管图库省运维,规模大再自建 |
| GraphRAG 实现 | Microsoft GraphRAG(开源)/ 各云解决方案加速器 | 别从零写:开源实现 + 加速器起步,精力花在数据上 |
| 索引期批处理 | 各云大模型批量推理 API(批价通常约 5 折) | 抽取与摘要是一次性大批量任务,用批量接口能省一半 |
| 多模态嵌入与多向量检索 | Cohere Embed(多模态)/ voyage-multimodal / 开源 ColQwen 系;向量库侧 Milvus / Qdrant / Vespa(多向量·晚交互打分) | 图文同空间互检;ColPali 系要向量库配合多向量检索 |
| 查数四层栈 | 各云数仓(Redshift / Synapse / BigQuery 类)+ dbt Semantic Layer / 各 BI 语义模型 + 平台内置问数入口 | 语义层建在仓上,别直连业务库 |
顺着追问什么:这三块每一块动手前都先问同一句——不用它,混合检索加重排能到几分?拿评估集跑出那个数,再决定值不值得加一层。
云替你做不了什么:托管图库解决的是「图谱放哪」,解决不了「图谱抽得准不准」——全量 GraphRAG 索引成本是 6–8 倍,批量接口省的是索引期那一次,不是每次查询(见GraphRAG)。语义层把准确率抬到 85–95% 是基准库口径,自家 schema 更复杂,必须实测(见查数与语义层)。
本节服务清单与「给客户一句话」与讲义各章的「上云怎么落地」页同源,未引入新事实;成本量级(GraphRAG 6–8 倍、批价约 5 折、语义层 85–95%)见来源与核实登记。不可外推边界:这是「哪个环节有云服务可用」的地图,不是选型结论——具体产品的地域可用性、配额、计价单位与生命周期状态会月级变动,出方案前按当期官方文档逐项复核。
14现场高频追问#qa
只收会改变某个决定的问题——会改变技术方案、风险判断、验收方法、对客沟通或下一步行动。
每题标出它加入本题库的日期:2026-07-07/08 来自讲义首版对练页,2026-07-09 来自进阶三章,2026-07-12 来自 Reranker 格局复核,2026-07-23 是按客户交锋场景补的四题(准确率承诺 / 已有系统 / 换模型 / POC 验收)。
RAG 和直接微调模型,我到底该选哪个?2026-07-07
要更新的是「知识」就用 RAG(改数据不改模型、可溯源、便宜);要改的是「说话风格/能力」才考虑微调。多数企业知识问答,RAG 是性价比更高的起点,二者常组合。
「改知识 vs 改行为」这条边界一句话能拦住大量错配的微调立项——知识会变,权重不该跟着变。
下一步 把对方需求按「知识更新频率 × 行为定制需求」两轴归位,再报方案。
依据 是什么 / 为什么
块到底该切多大?有没有标准答案?2026-07-07
没有万能值,但有好起点:约 300–500 Token、重叠 10–20%。真正的答案靠评估集实测——切分是要用数据调的旋钮,不是拍脑袋定的常量。
切分这一关没过,后面模型再强、Prompt 再精也补不回来——它是全管线性价比最高的旋钮。
下一步 按结构切 + 合理重叠起步;花小钱见效快的是上下文检索(失败率降三四成)。
依据 切分策略
已经有向量检索了,为什么还要单独加重排序?2026-07-07
向量检索快但略粗,Top-K 里常混入「看着像、其实不对」的片段。重排用交叉编码器逐条精算相关性,把对的顶上来——以几百毫秒换准确率明显提升。
交叉编码器不能扫全库(无法预建索引),所以必须两阶段——理解这个机制,「为什么不直接用准的」就有了答案。
下一步 跑一组「只向量 Top-5 vs 召回 50→重排 5」的对照,量化收益和延迟给对方看。
依据 重排序
回答不准,到底是检索的锅还是模型的锅?2026-07-07
向量检索不是更先进吗,为什么还要「老古董」BM25?2026-07-08
先进不等于全能:向量强在语义,但对型号、报错码这类必须一字不差的查询反而不稳——而企业语料恰恰全是这类词。两路并跑各补短板,是生产标配不是守旧。
纯向量的翻车率被普遍低估;混合检索只多几十毫秒延迟和便宜得多的 BM25 索引,这笔账几乎总是划算。
下一步 用对方的真实型号/代码查询做一组对照演示——「你们的型号查询在纯向量下会翻车」比十页原理有说服力。
依据 混合检索
Agentic RAG 比普通 RAG 贵多少、慢多少?2026-07-08
每多一轮检索多一轮模型调用:token 通常 2~5 倍,延迟从一秒级到几秒级。所以别全量上——简单问题走朴素管线,检索质量差或问题复杂时才触发 agentic 环。
该不该上看三个信号:问题常含糊需追问、答案要跨多库拼、对错答零容忍——三个都不占,把混合检索+重排做扎实就够。
下一步 从 Router 起步、CRAG 兜底;给 agentic 环设轮数上限(如 3 轮)和 token 预算。
依据 Agentic RAG
上线后效果越来越差,怎么排查?2026-07-08
先跑评估集定位掉的是检索侧还是生成侧;八成在检索侧——查语料是否大量更新、切分是否还适配、是否换过嵌入没重建。有 Trace 的话抽 10 个坏答案逐环回放,半天定位。
质量漂移的病根埋在设计期:评估集没跑成定时任务,滑坡就只能靠用户投诉发现。
下一步 评估集挂定时任务 + 指标告警;每次问答落 Trace——三个病共用这一个疫苗。
依据 生产化
数据安全怎么保证?会不会泄露?2026-07-08
三层答案:部署上数据不出租户(私有化/专属实例);检索层按身份做 ACL 过滤,问不出无权限的内容;全链路审计留痕。RAG 比纯生成更可控——每个答案都能溯源到具体文档。
权限必须设在检索层(书库门口),不能等生成后拦截(书已借走)——「员工问出高管薪酬」的翻车都源于此。
下一步 检查向量库的块是否带 ACL 元数据、查询是否强制过滤;没有就要重建索引补字段——早设计早省事。
依据 权限与可信
GraphRAG 是不是智商税?听说索引贵好几倍。2026-07-09
看问题形态:若九成问题是「查某段」,确实不值——向量+混合检索就够。但有「横跨全库归纳、追关系链」刚需时,图谱是目前唯一稳定解;LazyGraphRAG 已把索引成本压到向量级,试错门槛大降。
全局问题的答案在「片段之间」,Top-K 从结构上就答不了——这不是调参能解决的,是检索范式的边界。
下一步 统计三个月真实问题里全局/关系类占比,超一成再用 LazyGraphRAG 小语料试点、拿对比数据决策。
依据 GraphRAG
我们的资料全是扫描件 PDF,怎么办?2026-07-09
两条路:质量好的扫描件走「文档智能解析+转述」,成本低;质量差、表格图纸多的直接上 ColPali 系页面检索,免 OCR 绕开识别错误。通常先解析路线兜底,再对高价值文档叠加。
纯文本管线的丢失发生在建库期,检索参数怎么调都找不回——先问信息进没进来,再谈检索准不准。
下一步 拿一份图表密集的 PDF 做「纯文本 vs 转述索引」对照, 3 个「答案在图里」的问题当场见分晓。
依据 多模态 RAG
问数这块,这不就是 BI 吗?会不会替代我们 BI 团队?2026-07-09
不替代,是换交互:BI 团队从「人肉写报表」升级为「维护语义层口径」——口径定义得越全,问数越准。它扩大的是数据的使用面,口径治理反而更重要了。
最危险的不是报错,是「跑得通但算错」的静默错误——语义层把口径从「猜」变「查」,这正是 BI 团队专业价值的新落点。
下一步 挑 10–20 个高频指标定义口径接上数仓,两三周出 PoC;口径评审的组织成本提前做预期管理。
依据 查数与语义层
准确率能做到多少?给个数。2026-07-23
不给通用数字,给一套可验收的标准。准确率取决于你的语料、切分和评估口径——同一套系统换个语料就是另一个数,谁当场拍一个百分比给你,都要小心。正确接法是把它转成事前能签的东西:拿你们真实问题建评估集 → 用四个指标定阈值(忠实度 ≥0.75、答案相关性 ≥0.80、上下文精确率 ≥0.70、召回率 ≥0.80)→ 按业务风险调线(合规问答就往上提)。
承诺一个绝对数是售前最贵的口误:验收时口径一变就翻车。换成「指标 + 阈值 + 用你的数据测」,既显专业,又把验收标准的解释权留在方法上而不是数字上。
下一步 请客户出一批真实问题当评估集种子(黄金集起步 20~50 题足矣,贵在真实不在数量),当场演示怎么跑分——这一步做完,「多少」就不再是嘴上争的了。
依据 评估与诊断
我们已经有搜索/知识库了,凭什么再上一套?2026-07-23
用增量价值三问接,且不贬低他们已有的系统:①治的是不是同一类问题——关键词搜索给的是「文档列表」,读者还得自己翻十篇;RAG 给的是「带出处的答案」。②去掉这层谁来兜——现在是员工自己翻。③增量成本对增量收益。而且现有搜索不是被替换、是被复用:已有的 ES / 全文索引往往能直接当混合检索里 BM25 那一路,数据不搬家。
「已经有 X 了」是最常见的开场异议。把它从「替换旧系统」改叙成「在旧系统上加一层答案」,既降低对方的决策风险,也把已有投资变成你的助力而不是对手。
下一步 拿他们搜索里几个「搜得到文档但答不出答案」的真实查询做对照演示——这是最省力的说服。
以后模型更新了,是不是整套都要重做?2026-07-23
分三层答,别一句「不用」糊过去:换生成模型——几乎零成本,换个 API 就行;换嵌入模型——要把全库重新嵌入、重建索引,这是唯一真的重活;换向量库——数据可导出重灌,工程量中等。所以设计期就该把嵌入模型当可换件对待,别让它渗进业务代码。
向量是「那个模型坐标系里的坐标」,换模型=换坐标系,旧向量在新空间里没有意义——这是重算躲不掉的根因,讲清楚了客户就不会以为你在推卸工作量。
下一步 把评估集当资产留住:换模型那天靠它跑回归,证明「换完没变差」,这也是你后续服务的抓点。
16来源与核实#sources
本页时效性数字均经联网核实后写入,完整登记(事实 × 核实日期 × 信源)见本模块 MANIFEST。核实窗口 2026-07-07 至 2026-07-12。引用任何数字前先核日期。
| 来源 ID | 信源 | 支持什么 | 不能支持什么 |
|---|---|---|---|
src-embed | 2026 对比 / arXiv 2402.03216 | Embedding 与向量库选型格局 | 具体场景的检索质量要用评估集实测 |
src-anthropic-cb | Anthropic Cookbook | 上下文检索的失败率降幅(35%/49%/67%) | 官方实验语料的结论,自家语料要复测 |
src-rerank | docs.cohere.com / 2026 对比 | Reranker 格局(v4.0 系主线,2026-07-12) | 版本线月级演进 |
src-hybrid | Elasticsearch / Qdrant 官方文档 | RRF 默认 k(ES 60 / Qdrant 2)与原生混合检索支持 | 各引擎参数细节以当日文档为准 |
src-agentic | arXiv 2501.09136 / LangGraph 官方教程 | 五大模式与 CRAG 的分类与实现 | 「检索失败约四成」为生产统计口径,非普适常数 |
src-graph | Microsoft GraphRAG 文档 / 2026 实践者评测 | 6–8 倍与 LazyGraphRAG 0.1%/700 倍的成本量级 | 量级参考,随语料形态浮动 |
src-mm | arXiv 2407.01449(ColPali)/ 2026 实践综述 | 三条多模态路线与存储代价 | 模型能力月级演进 |
src-sql | dbt 2026 基准 + Spider 2.0 / 企业化基准(BEAVER、Spider-Ent,2026-07-23 复核) | 裸 Text-to-SQL 分档口径(学术 80–90% / 中等 50–70% / 最难企业 ~20%)与语义层 85–95% | 基准库口径,自家库要实测;分档随 schema 复杂度浮动 |