首页/AI/RAG 与向量库速查

RAG 与向量库速查

RAG 管线各环节、文档解析与切分策略、Embedding 与检索、主流向量库对比与命令、重排与引用、效果评估与优化:知识库问答速查。

共 229 条更新于 2026-10-12所属领域:AI
共 229 条

架构与流程

离线索引与在线检索链路、核心环节拆解

RAG 检索增强生成总览热门

RAG 在生成回答前先检索外部知识再交给大模型作答,把知识从模型参数搬到可随时更新的索引里;全流程由离线索引与在线检索两条链路组成,是知识库问答的基础架构。

RAG 在线检索链路

在线链路对用户问题做改写与向量化,召回候选片段并重排,组装上下文交给大模型生成答案并标注引用;每一步都要分配延迟与 token 预算。

RAG 离线索引链路

离线链路把知识文档批量加工成可检索的向量索引:解析、清洗、切分、向量化、入库,并保留来源与定位元数据;这一步决定检索质量的上限。

向量检索与关键词检索的取舍

向量检索擅长语义近似与改写表达,BM25 等关键词检索擅长专有名词、型号、代码符号等精确匹配;生产常把两者组合成混合检索互补短长。

LangChain 快速搭建 RAG 链

用 LangChain 的切分器、向量库封装与检索器,几十行代码即可跑通“文本切分 → 向量化 → 相似检索”的链路,适合做原型与评测基线。

RAG 开发框架与平台选型

LangChain、LlamaIndex 提供代码级编排能力,Dify、RAGFlow、FastGPT 等平台提供可视化知识库与工作流;按团队工程能力、可控性与交付速度取舍。

LlamaIndex 快速搭建索引与查询引擎

LlamaIndex 用 SimpleDirectoryReader 加载文档、VectorStoreIndex 建索引,查询引擎自动完成“检索 + 合成回答”,适合文档问答原型。

查询改写提升检索命中

用户问题口语化、含指代、措辞与文档不一致是召回差的主因;检索前把问题改写成书面化、补全指代、补充同义关键词的独立查询,可明显提升命中。

RAG 元数据字段设计

每个切片除文本与向量外,应携带来源、定位、版本、权限、时间等元数据,用于过滤、引用标注、增量更新与排错。

RAG 与微调的选型对比

RAG 管外部知识的更新与溯源,微调管输出行为与风格塑造;知识频繁变化优先 RAG,需要固定输出格式或领域语气时可考虑微调,两者可以叠加使用。

上下文组装与 Token 预算

把重排后的片段按 token 预算拼进提示词:总预算 = 上下文窗口 − 提示词模板 − 输出预留;片段超长要截断或压缩,同时保留引用信息。

RAG 场景的提示注入防护

检索到的文档可能含恶意指令(间接提示注入);应把检索内容当作数据而非指令,在提示词中声明不执行文档内指令,并对敏感动作做程序化拦截。

RAG 链路逐段调试方法

出问题时按“解析 → 切分 → 检索 → 重排 → 生成”逐段验证:先看切片是否干净完整,再单独测检索命中,最后查生成是否忠实,把问题定位到具体环节。

Naive / Advanced / Modular RAG 三种范式

RAG 综述把系统演进归纳为三种范式:Naive RAG 检索生成直连、Advanced RAG 在检索前后加优化、Modular RAG 把各环节做成可插拔模块,便于对照定位自己的系统。

Multi-Query 多路召回合并

让模型把一个问题改写成多个不同视角的子查询,各自检索后合并去重,降低单一表述漏召回的概率;适合问题表述与文档差异大的场景。

多租户与权限过滤

企业知识库要让检索条件同时带权限标签(租户/部门/密级),在向量检索阶段就过滤,避免召回无权内容;标签要在入库时写入且随权限变更刷新。

HyDE 假设文档嵌入检索

HyDE 先让模型对问题写一段假设答案,用这段“假答案”的向量去检索真实文档;问题与文档措辞差异大的零样本场景可改善召回,代价是多一次生成调用。

增量索引与文档更新

文档变更时按 doc_id 删除旧切片、写入新切片,用稳定主键保证幂等;更新链路要覆盖新增、修改、删除三类事件与相关缓存失效。

查询分解与多跳检索

复杂问题(多实体比较、链式推理)拆成多个子问题逐一检索,再汇总生成;常与“检索-推理交替”做法配合,用于多跳问答场景。

RAG 可观测性与日志追踪

为每次问答记录改写后查询、召回片段与分数、重排结果、实际进上下文的片段与最终回答,是定位问题与沉淀评测集的基础数据。

Agentic RAG 与自适应检索

把检索做成 Agent 可调用的工具,由模型决定何时检索、检索几次、是否换查询;Self-RAG、Corrective RAG 等用反思与纠错机制改进固定流水线。

长上下文与 RAG 的配合

长上下文窗口能承载更多材料,但全量塞入成本高且有“中间遗忘”现象;常见做法是先用检索缩小范围,再把更多相关片段放进长窗口。

查询路由分流不同处理链

不是每个问题都需要向量检索:闲聊、常识、计算类问题可路由到直接作答或工具链,知识类问题才进 RAG,减少无效检索与幻觉。

语义缓存降低重复问答开销

对高频相似问题缓存已有答案:用户问题先按向量相似度查缓存,命中直接返回,省掉 embedding、向量检索与生成的开销;注意阈值校准与失效策略。

在线链路延迟预算拆分

把端到端响应时间拆到改写、向量化、检索、重排、生成各环节,先定 p95 目标再分预算;生成与重排通常占大头,缓存与并行是主要优化点。

多轮对话的检索指代消解

多轮问答中当前句常含“它 / 上面那个”等指代,需结合历史改写成独立问题再检索;同时控制历史长度,避免旧话题干扰当前检索。

RAG 成本构成与估算方法

成本分三块:索引期 Embedding 与算力、向量库存储、在线检索与生成的调用费;先按文档规模与日问答量各算一笔账,再决定模型档位与缓存策略。

GraphRAG 图谱增强检索

GraphRAG 先抽取实体与关系建知识图谱,再做社区检测与摘要,适合需要跨文档汇总的全局性问题;建图成本高于纯向量方案,适合高价值语料。

低代码 RAG 平台的落地要点

Dify、RAGFlow 等平台把解析、切分、检索、编排做成可视化配置,适合快速交付;上线前重点确认解析质量、参数开放度、数据导出与私有化部署方式。

文档版本管理与索引重建

用 doc_version 与删除标记管理文档生命周期;版本升级后按 doc_id 替换切片,定期全量重建清理历史残留,防止新旧内容混答。

解析与切分

文档解析工具与切分策略对比

递归字符切分

递归切分按分隔符优先级(段落 → 换行 → 句号 → 空格)逐级下探,尽量把边界落在语义断点;是中文语料常用的默认策略。

PyMuPDF 提取 PDF 文本与坐标

PyMuPDF(导入名 fitz)是常用的 PDF 解析库:逐页取文本、按块取坐标、识别基础表格,速度快、依赖少,适合电子版 PDF 的文本抽取。

pdfplumber 提取文本与表格

pdfplumber 按字符级别访问 PDF 内容,可提取文本、表格与线条、矩形等对象,调试表格结构时能看到每个单元格的位置,适合对解析精度要求高的场景。

Tesseract OCR 识别扫描件

Tesseract 是常用的开源 OCR 引擎,配合语言包可识别中英文扫描件;通常先把 PDF 按 300dpi 转成图片再逐张识别,输出带坐标的文本块。

按 Markdown 标题结构切分

按标题层级切分让切片天然携带章节语义与标题路径;对结构清晰的 Markdown 与文档站内容,检索展示与引用标注都更直观。

按 Token 数切分

按 token 而不是字符切分,才能与 embedding 模型的输入上限和计费口径对齐;用与实际模型一致的 tokenizer 计数可避免长块被静默截断。

文档解析工具速查对比

解析工具按输入类型选择:电子版 PDF 用 PyMuPDF/pdfplumber,版式复杂走 Marker/MinerU/Docling,扫描件用 Tesseract/PaddleOCR,多格式混合用 Unstructured。

Camelot 提取 PDF 表格

Camelot 专注 PDF 表格提取:lattice 模式针对带线框表格,stream 模式针对无线框表格,可批量导出 CSV/Excel/JSON,适合结构化表格入库。

PaddleOCR 中文识别与版面分析

PaddleOCR 提供中文检测、识别与方向分类模型,对中文排版与倾斜文本的处理常用;也可用其版面分析能力做版面区域切分。

trafilatura 抽取正文

trafilatura 面向网页正文抽取:自动去掉导航、广告与页脚,保留主内容与表格,适合把网页文章批量转成干净文本入知识库。

四种切分策略对比与选型

固定长度、递归、结构(标题)与语义切分各有取舍:按语料结构与效果目标选择,工程上常从结构 + 递归组合起步,再评估语义切分。

python-docx 解析 Word 文档

python-docx 读取 Word 的段落、样式与表格;段落样式(Heading 1/2)可用于构造标题路径,是制度、方案类文档入库的常用解析方式。

父子切片(小块检索、大块生成)

父子块策略把文档切成大小两级:小块用于向量检索(精度高),命中后返回其所属大块给模型(语境全);是缓解“切片太小丢语境”的常见做法。

Marker 把 PDF 转成 Markdown

Marker 基于版面分析模型把 PDF(含公式、表格、图片)转成 Markdown/JSON,适合把论文、手册批量转成利于切分与检索的文本格式。

Unstructured 统一分区解析

Unstructured 把不同格式文档切成带类型的元素(标题、段落、表格、列表项),便于按元素类型分别清洗与切分;fast 模式轻量,hi_res 模式调用版面模型。

Pandoc 多格式文档互转

Pandoc 覆盖 DOCX、HTML、EPUB、LaTeX 等到 Markdown 的互转,适合把来源格式杂乱的语料统一成便于切分的 Markdown 文本。

多栏 PDF 的阅读顺序处理

论文与手册常见双栏排版,直接按文本流读取会左右栏交错;需要按坐标分栏排序,或交给版面分析工具输出阅读顺序,否则切片语义在源头就被破坏。

语义切分(按主题跳变)

语义切分按相邻句子的向量相似度寻找主题跳变点,在相似度骤降处切分,使每块主题更集中;适合长文与主题切换多的材料,成本较高。

切片重叠(overlap)的取值

overlap 让相邻切片共享边界文本,避免答案恰好被切在切口处;经验上取 chunk_size 的 10%-20%,过大会带来重复检索与成本上升。

MinerU 结构化解析 PDF

MinerU(原 magic-pdf)面向 PDF 结构化解析:抽取文本、公式、表格与图片并输出 Markdown,对中文技术文档与论文场景有专门的版面处理。

BeautifulSoup 解析 HTML 结构

BeautifulSoup 按 CSS 选择器或标签树遍历网页结构,适合规则明确的目标页抓取(如文档站目录、FAQ 列表),配合 lxml 解析器速度较快。

入库前的文本清洗与规整

入库前清洗:统一空白与断行、去除页眉页脚与页码、修复英文断字、统一全角半角;清洗规则必须配合抽样人工核对,避免误删正文。

固定长度切分(基线策略)

按固定字符数滑窗切分是最简单的基线:实现零依赖、顺序稳定,但会截断句子与表格;适合无结构长文本或作为对照方案的起点。

表格切片:整表或按行成记录

表格不要与正文混合硬切:整表转 Markdown 作为一个切片,或按“表头 + 每行”拆成记录;命名与元数据带上表名,检索更易命中。

Docling 统一文档转换

Docling 支持 PDF、DOCX、PPTX、HTML 等多种格式统一转成结构化文档与 Markdown,便于构建一致的解析流水线,减少多格式分别处理的分支。

openpyxl 解析 Excel 数据

openpyxl 读取工作表的行与列,把表格数据转成结构化记录;对知识库场景,常把“表头 + 每行”组合成一条文本记录,保证语义完整。

解析质量抽检与指标

批量解析后先做质量抽检:统计空页比例、乱码比例、平均字符数并人工抽样比对原文;发现问题的文档单独走 OCR 或人工修复。

句子窗口切分

句子窗口策略用单句做检索单元、前后若干句作为上下文(window):句子级匹配更精确,窗口保证生成时有完整语境。

切片保留引文定位信息

切片入库时记录页码、章节、字符偏移等定位信息,生成回答时才能标注“出自哪一页/哪一节”,并支持点击回原文核对。

Markdown 解析为结构化 token

Markdown 语料可先解析成 token 流(标题层级、列表、代码块),再按标题结构切分并携带标题路径,是文档站与仓库文档入库的常见做法。

python-pptx 解析演示文稿

python-pptx 遍历每页幻灯片的文本框与备注,把讲义、培训课件转成文本;备注页常含讲稿内容,对知识库很有价值。

LlamaIndex 节点切分器

LlamaIndex 用 NodeParser 体系做切分:SentenceSplitter 维护句子边界并支持 token 计数,节点可直接携带来源、标题等元数据进入索引。

readability-lxml 抽取正文

readability-lxml 根据内容密度启发式提取网页正文(源自 Readability 思路),适合新闻与博客类文章;输出为 HTML 片段,可再转纯文本。

Embedding 与检索

向量模型选择、相似度与混合检索

Embedding 向量化基础

Embedding 把文本映射为定长实数向量,语义相近的文本在向量空间里距离更近;RAG 中索引侧与查询侧必须使用同一模型同一版本,度量与归一化也要一致。

混合检索(向量 + BM25)

混合检索同时跑向量与关键词两路召回再合并:语义问题靠向量、专名与精确匹配靠 BM25,覆盖单路召回失效的场景。

中文 Embedding 模型选型

中文场景常用 BGE、GTE、M3E、text2vec 等开源模型,维度从 512 到 1024 不等;选型兼顾任务类型(检索/聚类)、存储预算与部署条件。

BM25 排序算法

BM25 基于词频与逆文档频率打分,含词频饱和(k1)与文档长度归一(b)两个参数;是关键词检索的常用算法,也是混合检索中的一路召回。

HNSW 图索引与参数

HNSW(Hierarchical Navigable Small World)把向量连成多层邻近图:上层稀疏用于快速跳转,底层稠密用于精搜,是当前向量检索常用的图索引之一。

OpenAI Embeddings API 用法

托管向量化接口:text-embedding-3-small 默认 1536 维、text-embedding-3-large 默认 3072 维,都支持 dimensions 参数输出更短向量(Matryoshka 思路)。

Sentence-Transformers 本地向量化

sentence-transformers 可本地加载 ST 兼容模型(BGE/M3E/E5 等)批量编码,支持 GPU 加速与离线运行;归一化后配合余弦或内积检索。

余弦相似度(Cosine Similarity)

余弦相似度衡量两个向量的方向夹角,取值区间约 [-1, 1],对向量长度不敏感;文本检索常用它,很多向量库以 1 减余弦作为距离或直接返回相似度。

RRF 倒数排名融合

RRF(Reciprocal Rank Fusion)用排名而非原始分数融合多路召回:score(d)=Σ 1/(k+rank_i(d)),常数 k 默认 60 起缓冲作用,避免单路第 1 名过度主导。

前置过滤与后置过滤

向量检索带条件过滤(如租户、标签、时间)时有两条路:前置过滤只搜满足条件的向量,结果准确但可能变慢;后置过滤先检索再筛,速度快但 top-k 可能被筛空,需要用超采样或多取候选弥补。

切分粒度与召回效果

召回质量与切分粒度强相关:块过大时相关句被无关内容稀释、相似度下降;块过小时语义不完整、命中若干碎块也难以拼出答案;实践中用 256~512 token 起步并实测调整。

度量选择与索引一致性

度量(COSINE / IP / L2)要与模型用法和索引配置匹配;索引按度量构建,切换度量通常需要重建索引,评测脚本与线上库也必须一致。

IVF 倒排索引(nlist / nprobe)

IVF 先用 k-means 把向量空间划成 nlist 个聚类,查询时只扫描最近的 nprobe 个聚类:用少量召回损失换明显延迟下降,适合百万级以上的数据集。

top-k 选取与重排配套

top-k 要分成两级看:检索阶段候选池(常取 20~100)供重排挑选,重排或截断后的上下文条数(常取 3~10)再进提示词;候选池过小会让重排没得选。

BGE-M3 多语言多粒度模型

BGE-M3 同时提供稠密、稀疏(学习型权重)与多向量(ColBERT 式)三种表示,覆盖多语言与较长输入,适合一体化混合检索方案。

向量归一化与度量等价

向量归一化为单位长度后,内积与余弦相似度等价;部分数据库在 COSINE 度量下内部自动归一化。归一化处理不一致会造成分数漂移与排序错乱。

Recall@k 与命中率评估

Recall@k 衡量前 k 个候选中出现相关片段的查询占比(命中率口径),是检索质量最直接的指标;重建索引、换模型、调参前后都应以它为回归基线。

E5 模型的查询/段落前缀

E5 系列要求查询与段落分别加固定前缀(query: / passage:),为不对称检索设计;漏加或加错前缀会明显影响效果且不易察觉。

内积(Dot Product)与检索

内积等于余弦乘以两向量模长:方向相似且模长更大者得分更高;向量归一化后内积与余弦等价,FAISS 的 IndexFlatIP 即按内积检索。

中文分词与 BM25 效果

中文 BM25 效果强依赖分词:IK(ik_max_word / ik_smart)与 jieba 等粒度不同、召回不同;产品型号与专名建议加入自定义词典保护。

学习式稀疏向量(SPLADE)

SPLADE 类模型把文本编码成词表维度的稀疏权重向量(多数维度为 0),把神经检索带入倒排体系:可直接与 BM25 同库混排,对专名与词形变化都比纯词频稳健。

相似度阈值与 No-Answer 判定

用相似度阈值判断“无相关内容”并触发兜底话术:阈值没有通用常数,需要基于标注样本的分数分布选取,并同时观察误拒(漏答)与误收(答错)的比例。

元数据过滤加速召回

把可枚举的筛选条件(产品线、版本、语言、时间)写入元数据并建索引,可把向量检索限制在子集内:既减少无关候选,也缓解多版本文档混检造成的答非所问。

查询指令与非对称检索

查询短、文档长的不对称检索中,给查询侧添加任务指令(如 BGE-zh 的检索提示句)可提升效果;文档侧通常不加指令,以模型卡为准。

批量向量化与限流处理

批量向量化要平衡吞吐与限流:本地模型按显存调 batch_size,托管 API 按额度控并发;失败重试保持幂等并记录进度,支持断点续跑。

乘积量化(PQ)压缩向量

PQ 把 d 维向量切成 m 段子向量,每段用各自的码本量化:用 m 字节左右的编码替代原始浮点数组,内存可降一个数量级,代价是距离近似误差。

efSearch 召回与延迟调优

efSearch 控制 HNSW 查询时候选队列的长度:数值越大越接近精确搜索、延迟越高;调优时从 32 或 64 起测,在召回曲线趋缓处停下,并把取值写入服务配置固化。

多路召回合并与去重

多路召回从不同通道(向量、关键词、字段检索、多模型、查询改写变体)各取候选后合并去重:按内容 hash 与父文档 id 去重,再统一打分或交给重排,避免同一段内容占满上下文。

向量维度与存储成本

维度越高表达能力越强、存储与计算越贵;可用短向量(Matryoshka 截断或换小模型)控制成本,取舍以检索评测结果为准。

超长文本的截断与池化

多数 embedding 模型有输入长度上限(常见 512 token 级);超长文本可截断(丢尾部)或分块编码后向量池化(如平均),选择依赖任务并要评测。

用小评测集选择 Embedding 模型

用自有小评测集选模型:同一批问题与标注答案,比较各模型 top-k 命中率与 MRR,兼顾延迟与成本,避免只凭直觉选型。

欧氏距离(L2)

欧氏距离衡量向量端点的直线距离,对模长敏感;在归一化向量上它与余弦、内积排序等价,是 FAISS IndexFlatL2 等实现的默认度量。

加权分数融合与归一化

加权分数融合先让两路分数可比再加权求和:常见做法是 min-max 或 z-score 归一化后按权重相加;比 RRF 保留更多分数信息,但权重与归一化方式都要在评测集上调。

nprobe 与 IVF 召回权衡

nprobe 决定 IVF 查询扫描多少个聚类:nprobe 增大覆盖更多候选、召回上升但延迟增加;常用小数据集先测精确基线,再用网格搜索在召回-延迟曲线上选择工作点。

建立可回归的检索基线

在功能开发的同时固化评测基线:固定查询集、gold 相关片段、指标脚本与数据快照;每次改动(切分、模型、参数、索引)跑同一套评测,用差异判断收益与回退。

MTEB / C-MTEB 榜单使用

MTEB(含中文 C-MTEB)汇总 embedding 模型在检索、聚类、分类等任务上的表现,可按任务与语言筛选;榜单用于缩小候选范围,最终以自有评测集为准。

锁定 Embedding 模型版本

embedding 模型要锁定版本(含权重 revision):升级意味着向量空间变化,必须全量重建索引;升级前用评测集对比新旧版本再决定。

MRR 与 NDCG 排序质量

MRR(平均倒数排名)关注第一条相关结果的位置,适合问答类单一答案场景;NDCG 引入位置折损与相关度分级,更适合多相关文档的排序评估。

向量索引常见问题清单

索引层的高频问题:度量与索引类型不匹配、删除后未整理、分片或参数配置不当、过滤字段无索引导致退化、批量写入后未 flush 导致数据不可见;排查时按数据可见性与召回分层定位。

向量库基础概念与 CRUD

向量库把向量、id 与元数据组织进集合:写入(upsert)、查询(search/query)、按 id 读取、按条件删除是四类基本操作;不同产品的命名各异,但模型基本一致。

Embedding 领域微调

领域语料与通用模型差距大时,可用对比学习微调 embedding(查询-段落正例对 + 难负例);DPR 是经典双塔训练思路,训练数据质量决定上限。

向量化结果缓存

同一文本重复向量化是常见浪费:按内容哈希缓存向量结果,重跑索引或更新时直接命中缓存,节省时间与调用费用。

Cohere Embed 与 input_type

Cohere 托管 embedding 接口区分 input_type(search_document / search_query 等):入库文档与检索查询要使用对应类型,类型错配会损失效果。

标量量化与二值量化(SQ / BQ)

标量量化(SQ)把 float32 转成 int8 或 4 位整数,内存降约 4 倍、精度损失较小;二值量化(BQ)进一步压到 1 位,用汉明距离检索,适合内存敏感的大规模场景。

Embedding 模型升级与索引重建

更换嵌入模型后,旧向量与新查询向量空间不一致,必须全量重算文档向量并重建索引;灰度期间用双索引(新旧并行)按流量切换,评测对比后再下线旧版本。

批量检索与服务并发

在线服务要撑并发,需要批量化与并发控制:把同批查询向量拼成一个矩阵一次检索,连接池与超时分开配置,异步框架下设置并发上限避免压垮向量库。

相似度分布诊断

抽样统计查询与召回结果的相似度分布,可以快速发现索引异常:分布整体偏低说明召回弱或数据未更新,分布过窄通常意味着结果区分度不足,分数全高则可能是重复内容过多。

用 LLM 判定召回的补充评估

无完整标注时可用 LLM 做召回质量判定:给定查询与召回片段,让模型判断“是否包含回答所需信息”,抽样统计命中率;这是近似指标,关键版本仍建议人工复核。

NumPy 矩阵化相似度计算

小规模或本地原型可以直接用 NumPy 做批量向量检索:对文档矩阵做 L2 归一化后,一次矩阵乘法求出全部查询的内积,配合 argpartition 取 top-k,省去引入向量库的成本。

余弦检索实现细节与坑

工程实现余弦检索时的细节:归一化必须用 float32 避免精度漂移;接近零的向量(全零 embedding)会让除法产生 NaN,需要在入库前过滤或兜底处理。

向量数据库

Milvus/Qdrant/FAISS/pgvector 对比与常用命令

Milvus 架构组成

Milvus 采用存算分离架构:协调层管理元数据与调度,查询节点执行检索,数据节点负责落盘,消息队列串联写入链路,对象存储保存段文件;部署形态决定各组件的伸缩方式。

Milvus 索引类型选择

Milvus 2.x 常用索引:FLAT 精确、IVF 系列按聚类加速、HNSW 图索引、DISKANN 面向磁盘的大规模场景;索引选择与度量、内存预算、召回目标一起决定。

向量库选型对比要点

选型对比看四组维度:部署形态(嵌入式/单机/分布式)、过滤与多租户能力、量化与内存策略、生态与运维成本;没有通用答案,按数据规模与团队栈匹配。

Milvus 检索与过滤

Milvus 检索用 search:给出查询向量、top_k、输出字段与过滤表达式;过滤表达式作用在标量字段上,可与向量检索组合,limit/offset 用于分页。

pgvector 扩展安装与向量类型

pgvector 是 PostgreSQL 的向量扩展:安装扩展后可用 vector(n) 列存向量,配合距离算子与 ANN 索引在 SQL 内完成相似度检索,与业务表天然同库事务。

Milvus 建集合与字段

建集合先定义字段结构:主键、向量列(dim 与度量)、以及元数据标量列;之后创建索引并把集合载入内存,检索才可用;schema 设计决定过滤能力与扩展成本。

Qdrant 部署与基础运维

Qdrant 是 Rust 实现的向量数据库,单二进制或容器部署都简单:默认 REST 端口 6333、gRPC 端口 6334,容器方式一条命令即可跑起来,数据目录挂载持久化。

Milvus 混合检索与重排器

Milvus 2.4 起支持多向量混合检索:对同一集合的多个向量字段发起多路 search,用 Ranker(如 RRFRanker、WeightedRanker)在服务端融合,减少应用层拼装。

Qdrant 集合与点操作

Qdrant 以 collection 管理向量配置与距离度量,以 point 为记录单元(id + vector + payload):建集合时指定向量维度与距离,写入 upsert、读取 retrieve、删除 delete。

FAISS 定位与核心对象

FAISS 是面向稠密向量的相似度检索库(不是服务):提供索引结构、量化与 GPU 加速,嵌入到应用进程内使用;没有集合管理、过滤与持久化服务,这些需要自行实现。

pgvector 距离算子与查询

pgvector 用算子表达距离:<-> 欧氏距离、<=> 余弦距离、<#> 负内积;检索按 ORDER BY 距离排序取最近邻,配合 LIMIT 得到 top-k。

Milvus 分区与分区键

分区(partition)把集合内的数据按业务维度物理划分,检索可限定分区减少扫描量;分区键(partition key)面向多租户场景,数据按键值自动路由,天然隔离租户查询。

Qdrant 查询接口(query_points)

Qdrant 的查询统一走 query_points:既支持按向量近邻检索,也支持按 id 推荐(recommend)、按条件 scroll 浏览;旧版 search 接口在新客户端中已并入 query。

FAISS IndexFlat 精确检索

IndexFlatL2 / IndexFlatIP 是暴力精确检索索引:逐一比较全部向量,结果为准确保基线;数据量在十万级内、或用于验证近似索引的召回时常用。

pgvector HNSW 索引

pgvector 的 HNSW 索引用 hnsw 访问方法构建:支持 vector/halfvec 等类型与三种距离算子类;查询时用 hnsw.ef_search 调整召回,索引可增量维护。

Elasticsearch 向量检索(kNN)

Elasticsearch 8.x 支持 dense_vector 字段与近似 kNN 检索:字段定义 dims 与相似度,查询在 knn 段声明 number_of_candidates 与 k,可与 BM25 查询在一个请求内组合。

Qdrant 过滤条件写法

Qdrant 过滤器由 must / should / must_not / min_should 组合子条件:MatchValue、MatchAny、Range、HasId 等;嵌套字段用 key 路径访问,多租户可用 should 组合属主列表。

FAISS HNSW 使用与保存

FAISS 的 IndexHNSWFlat 在进程内提供图索引检索:构建后可在查询时调 efSearch;索引通过 write_index / read_index 保存与加载,注意保存的是索引结构而非原始数据源。

pgvector 与 SQL 混合检索

pgvector 的独特优势是向量近邻与关系条件在同一句 SQL:WHERE 过滤、JOIN 业务表、全文检索 tsvector 都能与向量排序组合,用一条语句完成多条件召回。

Elasticsearch 混合检索与 RRF

Elasticsearch 8.8+ 在检索 DSL 层面支持 RRF:把标准查询与 kNN 查询放进 retriever 树,服务端按排名融合;text_similarity_reranker 还可在检索后接模型重排(企业版功能)。

Milvus 一致性级别与可见性

Milvus 提供 Strong、Bounded、Eventually、Session 等一致性级别:刚写入的数据在不同级别下可见时间不同;RAG 在线写入场景需要据此决定是否等 flush 或接受延迟可见。

Qdrant 载荷索引(payload index)

对高频过滤的 payload 字段建索引,Qdrant 可快速定位候选集合;keyword、integer、datetime、geo 等类型分别建对应索引,建索引后过滤检索延迟明显改善。

Qdrant 稀疏向量与混合查询

Qdrant 支持同一集合内配置 dense 与 sparse 多向量:稀疏向量承载关键词/学习式稀疏表示,查询时用 prefetch 多路召回、fusion 融合(RRF 或 DBSF)。

FAISS IVF 索引与训练

IndexIVFFlat 需要先训练后添加:训练用代表性样本学习聚类中心,nprobe 控制查询扫描的聚类数;数据分布变化较大时应重新训练。

pgvector IVFFlat 索引

IVFFlat 在 pgvector 中按聚类划分列表:lists 决定划分粒度、ivfflat.probes 决定查询扫描的列表数;要求建索引时表内已有数据,否则空聚类无法查准。

Chroma 快速上手

Chroma 以轻量著称:几分钟内即可跑起向量检索,支持内存与本地持久化模式,自带默认 embedding 函数与集合 API,常用于原型验证与小型知识库。

向量库容量与内存估算

容量估算按“向量数 × 维度 × 每维字节数 × 副本数 + 索引开销”逐项加总:float32 是基线,SQ8 约四分之一,PQ 与二进制量化再降;索引结构(HNSW 图边)也要计入内存。

分片、副本与横向扩展

分布式向量库通过分片(shard)分摊数据与检索负载、副本(replica)提供并发与容灾:分片键选择影响过滤效率,副本数影响成本;扩容后需重新平衡数据分布。

Milvus 删除与压缩(compaction)

Milvus 删除是标记删除:数据先对查询不可见,随后由 compaction 合并段并物理清理;频繁删除写入的场景要关注段数量与磁盘占用,必要时手动触发 compaction。

Qdrant 量化配置

Qdrant 支持标量量化(int8)、乘积量化(PQ)与二值量化:量化向量常驻内存作为粗筛,原始向量可留在磁盘用于精排,用较小内存支撑更大集合。

pgvector 性能与资源调优

pgvector 的检索性能受并行度、内存与索引参数影响:顺序扫描可配合 max_parallel_workers_per_gather 并行加速,建索引期调整 maintenance_work_mem,查询期调 probes / ef_search。

Redis 向量检索能力

Redis Stack(RediSearch 模块)提供向量字段与 KNN 查询:HASH/JSON 中存向量与元数据,FT.CREATE 声明向量字段与距离度量,FT.SEARCH 执行近邻查询,可复用现有 Redis 运维体系。

向量索引重建操作模式

重建索引(换模型、换度量、换算法)的标准模式:新集合/新表写入副本数据 → 构建完成并验证 → 别名或流量切换 → 观察期后清理旧集合,全程可回滚。

多租户向量库模式

多租户隔离有三档:每租户独立集合(隔离强、数量多管理重)、共享集合 + 租户过滤(主流)、共享集合 + 分区键(自动路由);选择取决于租户规模、隔离要求与运维能力。

向量检索监控指标

上线后的监控至少覆盖:检索 QPS 与 P95/P99 延迟、召回抽样质量、索引大小与段/分片状态、写入积压与压缩进度、错误率(超时、维度不符);把评测集的定期回归也纳入监控。

Qdrant 快照与备份

Qdrant 支持集合级与全量快照:触发快照后从下载端点取文件归档,恢复时上传或放入 snapshots 目录;备份同时覆盖向量、payload 与索引配置。

FAISS 索引读写与合并

FAISS 提供 write_index / read_index 做持久化,也可用 IndexIDMap 保存业务 id;多份索引可 merge_from 合并,适合分片构建再汇总的离线流水线。

Chroma 服务模式(HTTP)

Chroma 支持以服务方式运行:容器或命令行启动后,客户端用 HttpClient 连接,多应用共享同一实例;适合多服务共用的开发/小规模环境。

向量库备份策略要点

向量数据的备份要覆盖三样东西:向量与 id、payload/元数据、集合配置(维度与度量);只存原始文档而依赖“随时重新灌库”的方案,要评估重算 embedding 的成本与时间。

向量库迁移流程

跨库迁移按“导出 → 转换 → 灌入 → 校验 → 切流”五步走:重点在 id 与 payload 的保真映射、度量语义对齐(余弦/内积/L2 与归一化)、以及全量灌库后跑同一评测集对比召回。

半精度与降维(halfvec / Matryoshka)

两个省空间的工程手段:半精度(float16 / halfvec)把每维从 4 字节降到 2 字节,精度损失小;Matryoshka 类模型支持截断维度(如 1024→512),用少量召回损失换存储与计算下降。

Attu 与 Milvus 可视化运维

Attu 是 Milvus 的可视化管理工具:查看集合、schema 与索引,执行数据浏览与相似度检索,观察系统拓扑与慢查询;适合排查与演示,生产变更仍建议走脚本与评审。

pgvector 批量写入与更新

入库大表时用 COPY 或批量 INSERT 并开启同步提交优化能显著提速:Python 侧可用 psycopg 的 execute_values,或把向量写成文本数组用 COPY;更新向量时按主键 UPSERT。

Weaviate 与内置向量化

Weaviate 的特点是模块化:可配置向量化模块(如 text2vec-*)在写入时自动生成向量,也支持自带向量;查询提供 GraphQL 与 REST 两套接口。

GPU 加速向量检索

GPU 适合大规模批量的向量计算:FAISS 的 GPU 索引把构建与检索放到显存,批量查询吞吐显著提升;但显存容量限制数据规模,单条低延迟场景收益有限。

托管向量服务选型要点

托管向量服务(如 Pinecone、Qdrant Cloud、Zilliz Cloud 等)把运维、扩缩容与备份交给服务商:接入快、免运维,但成本模型、数据驻留、网络延迟与厂商锁定需要提前评估。

Milvus Lite 本地开发模式

Milvus Lite 是嵌入式的轻量版本:pymilvus 直接指向本地文件即可运行,适合原型、单机小数据与 CI 环境;不支持分布式特性与部分高级索引,迁移到服务端时接口保持一致。

嵌入式向量库(LanceDB / SQLite 系)

嵌入式选项把向量检索做进本地文件或轻量进程:LanceDB 基于列式格式与向量索引,适合数据分析与边缘场景;SQLite 生态也有向量扩展可查。它们适合单机、原型与批量任务,服务化能力有限。

向量库版本升级注意事项

服务端版本升级前要确认:新旧版本的 API 兼容性、索引文件格式兼容性、客户端 SDK 版本配套;升级窗口安排快照与回滚预案,升级后跑固定评测集回归。

重排与生成

重排模型、上下文组装与引用标注

Cross-Encoder 交叉编码重排

重排用交叉编码模型把「查询 + 候选片段」拼成一对送进模型打分:比向量检索的双塔余弦更准但更慢,因此只对召回候选池(几十条)精排,不用于全库检索。

RAG 生成提示词模板

RAG 提示词的行为要点:限定只依据给定片段回答、片段不足时明确说不知道、要求引用编号;模板要把「角色」「上下文」「问题」「输出格式」分开,便于版本管理与评测。

忠实度约束与少幻觉写法

降低幻觉的工程组合:提示词要求“先摘录后归纳”、明确允许回答不知道、回答后做引用校验;对高风险领域再加一道「答案与片段一致性的自动检查」。

完整重排管线组装

可用的检索管线分层:混合召回(向量 + BM25)→ 合并去重(RRF)→ 交叉编码重排 → 截断到上下文条数 → 生成;每层都有评测点,先确认召回上限再优化重排。

Lost in the Middle 与上下文排序

长上下文模型对开头与结尾的信息更敏感,中间位置容易被忽略:把高相关片段放在首尾、或减少条数并用明确编号,可缓解「检索到了但没被用上」。

BGE Reranker 使用要点

BGE 重排系列提供多语言与中文表现较好的交叉编码模型:加载后对候选对打分,输出相关性分数;使用前确认模型的语言覆盖与最大长度,超长片段会被截断影响判断。

上下文组装与编号格式

上下文组装把多条片段拼成带编号的结构化文本:每条含来源、更新时间与编号,提示词要求按编号引用;编号顺序与来源元数据要在生成后被校验,防止引用错位。

多轮对话的查询改写

多轮场景中用户问题常含指代与省略(“它”“那个报错”):先按会话历史把问题改写成自包含查询再检索;改写质量直接决定检索命中,改写版本要纳入日志与评测。

Cohere Rerank API 用法

托管重排 API 省去自建模型:提交查询与文档列表,指定模型与 top_n,返回按相关性排序的结果与分数;适合快速接入与低频调用,要评估调用成本与网络延迟。

知识库无答案的兜底行为

无命中或低置信时要给出稳定兜底:明确说明未找到、给出可能的相近主题、提供转人工或反馈入口;兜底文案与阈值一起纳入评测,避免“ confidently wrong ”。

RAG 提示词注入防护

检索片段来自外部文档,可能藏着“忽略上述指令”类的注入文本:防护要点是随机分隔符包裹上下文、在系统提示中声明上下文的从属地位、对模型输出做行为校验。

重排 top_n 与候选池调优

重排的收益取决于候选池与 top_n 的搭配:候选池要能覆盖答案片段(看召回率),top_n 决定进上下文的数量(看重排准确率与生成端消耗);两者在评测集上各自扫参。

引用标注格式与用户展示

引用格式决定可读性与可核查性:常见做法是在句末标 [编号] 并在回答下方列出「编号 → 文档标题 + 段落/页码入口」;多来源综合句可并列多个编号。

上下文 token 预算换算

上下文预算 = 模型上下文窗口 − 系统提示 − 输出预留 − 会话历史;按条数与每条平均 token 估算可放几条片段,估算值与实际以 tokenizer 计数为准。

ColBERT 后期交互检索

ColBERT 类模型为查询与文档的每个 token 生成向量,用 MaxSim 求和打分:介于双塔(快但粗)与交叉编码(准但慢)之间,适合需要细粒度匹配又要求可扩展的场景。

上下文压缩与提取

把检索片段压缩成与问题相关的要点再进提示词:可用抽取式压缩(按句选取相关句)或 LLM 摘要压缩;目的是降低 token 消耗与噪声干扰,但要防止压缩过程丢失关键数字与条件。

生成参数与 RAG 输出稳定性

知识库问答优先稳定性:温度取低值(0~0.3)减少自由发挥,输出长度按业务限制;需要要点罗列时用结构化输出(JSON)约束,避免格式漂移。

生成模型选择与 RAG 适配

生成模型要按场景选:长上下文窗口容纳多片段、指令遵循保证引用格式、中文表达质量、推理能力与成本延迟;用固定评测集对比候选模型,别只看榜单。

多版本冲突与时效性处理

知识库中同一主题常有多版本文档:检索时按时效与版本排序(新版本优先),生成时若片段互相矛盾要显式呈现差异并注明各自版本,而不是静默合并。

生成后校验清单

回答发出前的校验清单:引用编号是否越界、事实句是否有片段支撑、是否包含未授权内容(内部代号、密钥样式文本)、格式是否符合渠道;校验失败走降级或转人工。

归因评估(Attribution)

归因评估检查答案中的每条陈述能否追溯到给定片段:常用 RAGAS 的 faithfulness、Attributed QA 等思路;报告按“完全支撑 / 部分支撑 / 不支撑”分层统计,比单一分数更能定位问题。

长文档的 Map-Reduce 生成

单篇文档超长时用 Map-Reduce 式处理:先对每个片段分别生成要点(Map),再汇总要点作答(Reduce);适合摘要类与全文档问答,代价是调用次数增加。

答案格式与长度控制

面向运维/客服场景时用固定结构降低阅读成本:结论先行、步骤编号、注意事项单列、引用附后;长度按渠道限制(IM 短、工单长),超长时降级为摘要 + 展开入口。

片段锚点与原文定位

每个片段在入库时记录定位信息(文档 id、章节、页码、字符区间):展示引用时跳转原文锚点,溯源、审计与反馈闭环都依赖它;OCR/解析阶段要尽量保留页码映射。

流式输出与引用展示

流式输出提升体感速度,但引用信息要在完整答案后才能确定编号映射:常见做法是正文流式、引用卡片在结束时补发;或在流式块中保留编号占位,结束时批量校验。

会话记忆与上下文预算

多轮场景中历史对话也要占预算:保留最近若干轮原文、更早轮次压缩为摘要;摘要与检索片段争抢窗口时,优先保证本轮检索片段与系统约束。

引用可核查性与抽查机制

上线后按周抽查:随机抽取回答,逐条核对引用片段是否真实支撑对应句子,统计不支撑比例;抽查结果回流到提示词与校验规则的迭代。

上下文去重与修剪

进上下文前做两件事:跨片段去重(同一内容多分块命中)与冗余修剪(保留与问题最相关的句/段);修剪后的片段要保留来源锚点,引用才能回溯。

提示词缓存与生成成本优化

把稳定的系统提示与知识片段前缀交给服务端缓存(如各家 prompt caching 能力)可降本降延迟:缓存命中要求字节级一致,因此模板拼接顺序与空白字符都要稳定。

无重排模型的替代方案

没有交叉编码器或托管重排时,可用替代信号排序候选:向量分数 + 关键词覆盖率 + 时效加权 + 来源权威度;组合权重在评测集上调,作为重排的轻量平替。

置信度信号与降级策略

把置信度设计成多信号合成:检索最高分、重排分布、片段间一致性、校验结果;低置信时降低语气确定性、提示“仅供参考”,极低时转人工或要求补充信息。

追问建议与澄清提问

在答案后附 2~3 个可点击的追问或澄清问题,引导用户收敛意图(如“你的环境是哪个版本”);追问建议应由检索片段主题生成,避免凭空发散。

评估与优化

命中率评估方法与常见问题优化

RAGAS 评估框架入门

RAGAS 面向 RAG 管线提供自动化评估:给定「问题、答案、检索上下文、(可选)标准答案」,计算忠实度、答案相关性、上下文精度与召回等指标;指标基于 LLM 与嵌入模型计算,需指定模型。

忠实度(Faithfulness)指标

faithfulness 衡量答案中的事实性陈述有多少能由检索上下文支撑:先拆分答案陈述,再逐条判定是否被上下文蕴含,比值即忠实度;低分意味着幻觉或上下文误用。

上下文精度与召回指标

context_precision 衡量检索上下文中相关条目排在前部的程度;context_recall 衡量标准答案所需信息被上下文覆盖的比例;两者分别对应「排得好」与「找得全」。

幻觉问题的定位与修复顺序

按顺序排查幻觉:① 上下文里是否有答案(context_recall)→ ② 答案是否被上下文支撑(faithfulness)→ ③ 提示词是否给了“可自由发挥”的口子 → ④ 模型是否能力不足;从检索修到提示词,再考虑换模型。

答案相关性(Answer Relevancy)

answer_relevancy 反向生成问题:用答案让模型“还原”它可能回答的问题,再与原问题比较相似度;衡量答案是否切题,不评价事实正确性。

RAG 三要素(RAG Triad)

RAG Triad 是评估的骨架思路:上下文相关性(检索的片段与问题相关吗)、有据生成(答案被上下文支撑吗)、答案相关性(答案回应了问题吗);三者联合定位问题出在检索还是生成。

切片断裂问题的处理

切片断裂表现为答案缺主语、条件或结论:调整切分粒度和重叠、按标题层级切、对超长表格与小节做保底合并;入库前用抽样脚本检查块首尾完整性。

RAG 回归测试与上线门禁

把 RAG 拆成可回归的层级:解析切分层(切分数量与样例)、检索层(recall@k)、生成层(忠实度与格式)、端到端(答案抽查);每层设阈值与负责信号,任一变化都触发对比报告。

检索评估流水线搭建

检索评估的最小闭环:收集真实问题 → 标注相关片段(人工或程序辅助)→ 脚本化计算 recall@k / mrr / ndcg → 与当前线上配置对照出报告;数据与脚本入库,版本化可复跑。

专名与缩写检索优化

专有名词、型号、缩写是向量检索弱项(低频词被平滑),修复思路:混合检索引入 BM25 一路、构建同义词与缩写词典、在元数据中显式保存型号字段并支持精确过滤。

全链路日志与可观测性

每次问答要留下可复盘的轨迹:原始问题、改写后查询、候选片段 id 与分数、重排结果、上下文条数、模型参数、输出与校验结果;按 trace id 串联,才能回答“为什么这次答错了”。

TruLens 反馈函数与追踪

TruLens 通过包装应用记录检索与生成本步骤,并以“反馈函数”对每一步打分(groundedness、context relevance、answer relevance 等):能追到具体 trace,适合定位管线问题。

重复内容的识别与治理

重复内容来自多版本文档、多来源转载与重复导入:检索侧用内容 hash 与相似度去重,入库侧建立唯一键与版本替换规则;重复不清会挤占上下文、放大错误答案权重。

Embedding 与切分参数协同调优

切分长度要与 embedding 模型的最大输入匹配:超长会被截断(尾部信息丢失),过短则语义不足;同时检查是否加了模型要求的指令前缀,三者的匹配决定召回上限。

召回差 vs 重排差的区分

判断问题在召回还是重排:用精确检索或人工挑出的理想片段对比——理想片段不在候选池内是召回问题;在池内但没进上下文是重排/截断问题;两者修复动作完全不同。

RAG 延迟优化清单

延迟优化按链路拆解:检索(索引参数)、重排(候选数与模型大小)、生成(首 token 与总时长)、网络串行段;先测各段 P95 占比,再优化占比最高的环节,避免全链路撒胡椒面。

DeepEval 与 CI 中的评测

DeepEval 以测试用例方式组织评测:把问题、检索上下文与输出写成用例,断言各指标阈值,接入 CI 后每次发布自动跑回归——评测从“一次性报告”变成“持续门禁”。

合成评测问题生成

用文档内容合成评测问题扩充电商/客服等问答集:每个片段生成若干问题,再人工抽检修正;注意去重与难度分层(事实型、比较型、条件型),避免全是“原文复读”。

表格信息丢失的修复

表格在解析中易退化为乱序文本:修复手段包括解析阶段启用表格识别(Camelot/docling 等)、按表转 Markdown 或 CSV 入库、对宽表按行组切分;查询时用结构化表述回填。

阈值校准实践

阈值校准按数据说话:收集带标注的「有答案/无答案」查询,统计其最高分分布,选使误拒与误收之和较小的切点;上线后按周监控分布漂移。

知识库新鲜度与增量更新

知识过期是 RAG 的隐性质量问题:建立增量更新管线(变更检测 → 重新解析切分 → 向量更新 → 旧块删除)、对文档记录 updated 时间并在排序中适度加权,定期做“过期答案”抽检。

生成与检索成本优化

成本优化三大方向:减少 token(压缩上下文、缩短输出)、减少调用次数(缓存、路由到小模型)、选更便宜的资源(小模型分流简单问题);每项都对照质量指标评估。

RAG 上线评估检查清单

上线前的评估检查清单:检索(recall@k、延迟)、生成(忠实度、引用合规、格式)、鲁棒性(无答案、注入、多轮)、运维(监控、回滚、成本);全部有基线数据再上生产,单项缺失即风险敞口。

数字与型号准确性保障

数字、版本号、单位与型号是最易出错的答案内容:检索侧保证片段含完整上下文(单位与条件不丢),生成侧要求逐个数字引用来源;关键场景用抽检与规则校验兜底。

查询漂移与意图偏离

查询漂移指改写、摘要或多轮上下文引入后,检索目标偏离用户本意:通过对比原查询与改写查询的检索结果、保留可回溯日志来发现;必要时对改写做约束(禁增实体)。

查询理解与意图识别优化

对多意图系统先识别查询类型再选检索策略:操作类问题(怎么做)偏步骤文档、概念类(是什么)偏定义章节、排障类(报错)偏错误码与日志片段;识别错误会让检索方向整体偏掉。

上下文窗口限制的应对

模型上下文窗口不够用时不只有“换模型”一条路:减少条数、压缩片段、分段生成再汇总、把全文放到可检索工具里让模型按需索取;先量化“答案所需最小上下文”再设计。

格式一致性问题的修复

模型输出格式漂移(该 JSON 时输出散文、该列表时输出段落)会直接破坏下游:用结构化输出/函数调用能力、提供格式示例、服务端加 schema 校验与一次重试,仍失败则降级纯文本。

用户反馈闭环

把点赞/差评/引用点击作为质量信号:差评样本进入复盘队列(区分检索问题与生成问题),好样本沉淀为评测集;反馈入口要与 trace id 关联,否则无法定位。

知识库数据治理要点

RAG 的质量上限由数据本身决定:文档要有唯一来源、责任人与生命周期(草稿/发布/下线),敏感信息入库前脱敏或隔离,权限变更与文档状态同步;治理缺失时任何检索优化都只是权宜之计。

跨语言检索优化

中英混合文档库的跨语言检索有三种做法:选多语言 embedding(如 bge-m3 类)、查询翻译后双路检索、或按语言分区再分别检索;评测要覆盖“中文问、英文档”这类组合。

新知识库冷启动方法

新库冷启动:先选 50~100 篇高质量文档入库建基线,用真实问题(客服工单、搜索词)做第一批评测;确认召回与答案质量后再扩量,避免一上来全量灌入后问题难以定位。

业务侧效果度量

技术指标之外要盯业务指标:自助解决率、转人工率、答案采纳率(复制/点赞)、平均处理时长、二次追问率;技术指标达标但业务无变化的方案需要重新对齐场景。

图片与图表信息的处理

文档中的架构图、截图与曲线图承载关键信息:可用多模态模型生成图注与要点描述入块、或人工补写图注;描述要与图片锚点关联,回答时引导用户查看原图核对。

检索命中日志的统计复用

检索日志可以反哺内容运营:统计高频查询与零结果查询、命中片段点击分布、未覆盖主题清单;把零结果与低分查询按月输出给文档团队,形成“用户问题 → 内容补齐”的闭环。

没有匹配的条目。换个关键词试试,或直接全站搜索。
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌