← 返回书架人工智能 · 交互式 Wiki
生成与检索服务入门专题讲解

已有分块与向量直觉后,可进入 真实中文检索实战,用实际文档、模型和逐题证据比较方法。

04 / RETRIEVAL SANDBOX

向量检索:从问题找到候选文档

这里用一个小型、可解释的五维向量空间模拟检索。你可以改变问题、分块粒度、召回数量和重排, 观察同一批向量为什么会产生不同的上下文包。

01

从 query 到上下文包

先调参数,再看下方候选排序。灰色框中的文字会随分块策略变化。

CONTROLS

文档分块粒度
相邻句子合并成中等块:保留更多上下文,也可能混入无关细节;召回变化需按问题验证。
QUERY VECTOR / TOY 5D
轴:训练信号 / 负样本 / 上下文 / 行为 / 噪声

RETRIEVAL RESULTS

负样本怎样产生梯度?

bi-encoder 召回
向量 cosine 重排后顺序 Top-k 截断
1Query 编码问题 → 一个向量
2向量召回全库 cosine / ANN
3重排更贵但更细的相关性
4上下文组装Top-k 块 + 元数据
5生成LLM 基于证据回答
02

分块怎样影响检索结果

一个向量代表什么,首先由“你把哪段文字交给编码器”决定。

太细

命中精确,证据残缺

一句里有“负样本”和“梯度”,但缺失前置条件,生成阶段可能无法解释完整机制。短块还更容易出现语义重复。

precision ↑ / context continuity ↓
合适

一个块就是一个可回答单元

块内保留定义、条件和结论,块间有清晰边界。标题、小节名与元数据可以帮助编码和过滤,让每个块保留回答所需的上下文。

unit of answer ≈ unit of vector
太粗

主题相近,稀释关键信号

长段落里包含很多主题,向量被平均后可能“什么都像一点”。召回可能看似相关,却挤占 Top-k 且把有效答案挡在外面。

recall superficially ↑ / answerability ↓

实用原则:先按语义结构分块,再评测。除了 chunk size,标题层级、段落、代码边界、表格行、问题与答案的自然单元,往往比固定窗口更重要。

03

高维“点”为什么能表示含义?

多个向量方向共同编码训练任务需要区分的差异,单个维度通常难以独立解释。

Rd

容量来自组合

d 维空间有大量不同方向。模型可以把“是否问训练”“是否关于中文”“是否可回答”等差异分散到多个维度和组合上,形成组合表示。

cos

排序比绝对值更常用

通常比较方向夹角或归一化点积。一个模型内的 0.82 可以比 0.79 更相近,但不同模型之间的 0.82 通常不可直接横向比较。

−

负样本防止“全都相似”

只拉近正样本,表示可能坍缩到一个狭窄区域;负样本提供分离压力。难负样本则让分离发生在容易混淆的地方。

τ

温度改变梯度锐度

在 InfoNCE 中,温度 τ 控制相似度分布有多尖锐。温度过低可能被少量难样本主导,过高则所有候选的差别被抹平。

04

落地时的最小检查表

按表中的环节检查,可以定位召回和排序的损失来自哪里。

THE FRAME YOU NOW HAVE

先固定这四个变量:
表示单位、相似性定义、监督信号、评估方式。

模型名和维度是这四个变量的结果。可以继续查看:历史上某种目标为何出现、某条 loss 的梯度怎么推、后训练的负样本如何挖,或者检索系统某一层为什么掉了召回。

适用范围与一手资料

检索沙盘使用手工低维特征和规则重排,演示候选集与排序的关系。bi-encoder 和 cross-encoder 的模型质量需在实际检索任务上评估。

公式与机制的原始依据 · 2 项
知识目录
搜索知识库