Embedding

知识库简介

Embedding(嵌入)把文本、图片或其他对象映射为固定长度的数值向量,让模型训练目标下“关系相近”的对象在向量空间中更容易被找到。对 AI Agent Engineer 而言,关键不是拿到一串浮点数,而是维护一份完整空间契约:

  • 用什么模型、revision 与输入角色编码;
  • 输出多少维、是否归一化、使用什么距离;
  • 输入是否被截断,向量对应哪一版正文;
  • 批处理如何对账、重试、缓存与计费;
  • 新旧空间如何隔离、评测、切换和回滚。

向量相近只是一种候选召回信号,不代表事实正确、来源可信、用户有权限或答案完整。可靠 RAG 仍需 metadata 过滤、关键词/混合检索、rerank、引用和端到端评测。

动态事实边界

模型名称、输入限制、维度选项、角色参数、归一化行为、价格与 SDK API 会变化。本库只记录截至 2026-07-22 核对过的原则和示例;实施时必须回到所选模型的当前官方文档或模型卡。

在总路线中的位置

向量基础提供点积、范数与余弦直觉;Chunking策略定义要编码的证据文本;本库把 query 与 documents 转为可比较表示。后续 向量数据库、语义搜索、Reranking 和 RAG将这些表示用于检索和回答。

学习目标

完成本库后,你应能:

  • 从 one-hot、静态词向量理解到上下文与句子/文档 embedding;
  • 解释“相似”为什么依赖训练数据、目标、输入角色和度量;
  • 按语言、领域、任务、许可、隐私、限制、延迟、成本与业务 gold set 选择模型;
  • 区分 query/document 编码、对称/非对称检索和 bi-encoder/reranker;
  • 正确使用 cosine、dot product、Euclidean distance 与 L2 归一化;
  • 构建可对账的批处理、缓存键、失败分类与质量校验;
  • 阻止零向量、NaN/Inf、维度错误、静默截断和跨空间混查;
  • 用 Recall@k、MRR、nDCG、子组、延迟与成本评测候选;
  • 通过双索引重建、影子评测、原子切换和回滚迁移模型。

前置知识

  • 向量基础:向量、点积、范数和余弦;
  • API:超时、限流、重试与错误分类;
  • Chunking策略:输入边界、来源哈希和 ACL;
  • Python 函数、dataclass、JSON 与 PowerShell 基础。

不会机器学习训练也可以开始;本库聚焦“使用和评测 embedding”,训练细节只解释到理解空间含义所需程度。

核心术语

术语初学者解释工程约束
embedding vector模型为一个输入产生的定长浮点数组必须绑定模型、revision、角色、维度与预处理
embedding space同一编码契约产生、可用指定度量比较的坐标空间维度相同不等于空间兼容
bi-encoderquery 与 document 分别编码,再快速比较向量适合大规模候选召回
query/document role模型为查询和语料定义的不同任务指令或编码路径按官方模型契约调用
metriccosine、dot 或距离等排序规则与训练/归一化/索引配置一致
normalization将向量除以 L2 norm 变成单位向量不是对所有模型都应盲目执行
exact search与所有候选逐一算分小规模 gold 与 ANN ground truth
ANN近似最近邻用少量召回损失换速度/内存
space migration从旧模型/契约重建到新空间双索引隔离,不能混写混查

推荐学习顺序

顺序课程产出
1表示学习与向量直觉能解释向量“相近”的来源与边界
2模型、维度与归一化选择一张可审计的模型候选卡与对照实验
3批处理、缓存与可靠性可恢复、可对账、不泄露正文的编码流水线
4相似度、索引与版本迁移空间契约、双索引迁移与回滚门禁
5评测与迁移项目两套隔离空间的 exact 检索、指标与迁移审计

建议按顺序完成。模型选择前先理解表示含义;接入 API 前先定义空间契约;迁移前先固定业务查询与机械对账门禁。

动手实践入口

  • evaluate_embedding_space.py:严格加载、向量校验、exact search、ACL、Recall/MRR/nDCG、子组和迁移审计;
  • embedding-fixture.json:两个维度/metric 不同且隔离的手工教学空间;
  • test_evaluate_embedding_space.py:32 项输入、数学、授权、评测、迁移与 CLI 测试;指标入口拒绝重复 ranked ID、非法 relevance grade 与会在 float 转换时溢出的 fixture 数值。

从项目根目录(同时包含 docs/ 与 .website/)运行:

$env:PYTHONDONTWRITEBYTECODE = '1'  # 禁止生成 __pycache__,避免运行实验污染知识库目录。
python -B -W error '.\docs\Embedding\examples\evaluate_embedding_space.py'  # 执行两套离线向量空间的检索与迁移审计。
python -B -W error -m unittest discover -s '.\docs\Embedding\examples' -p 'test_evaluate_embedding_space.py' -v  # 发现并详细运行 Embedding 示例的单元测试。

项目完全离线,不下载模型、不需要 API key。手工向量只能验证合同与指标代码,不能证明任何真实模型质量。

掌握标准

  • 我能区分 one-hot、静态 token、上下文 token、句子/文档和多模态 embedding。
  • 我能解释 bi-encoder 召回与 cross-encoder rerank 的职责差异。
  • 模型记录含 provider/model/revision、角色/指令、维度、dtype、metric、归一化与输入限制。
  • 我只在模型明确支持时使用可变维度或向量压缩,并在业务集上重新评测。
  • 批处理逐项对账,拒绝空/零/非有限/错维向量和静默截断。
  • 缓存键包含完整空间契约与输入哈希,向量继承原文安全级别。
  • query 与 documents 始终来自兼容空间,ACL 在评分前生效。
  • 新旧空间物理或逻辑隔离,query 分别编码后独立检索。
  • 我会报告 per-query、子组、Recall/MRR/nDCG、延迟、吞吐、存储和费用。
  • 公开榜单只用于筛选,最终决策来自目标语料与查询。

与其他知识库的关系

知识库关系
向量基础解释点积、范数、距离和高维几何
Chunking策略决定 document embedding 的输入和哈希
LLM API集成提供客户端超时、重试、限流和可观测性模式
向量数据库存储向量、metadata、过滤字段和 ANN 索引
语义搜索组合 query 编码、过滤、召回与混合检索
Reranking对 bi-encoder 候选做更细 query-document 交互
评测体系管理数据划分、统计不确定性和发布门禁
RAG测试引用支持、答案正确与无答案拒答

主要参考资料

来源获取/复核日期:2026-07-22。提供商文档是动态事实,具体 API/限制须在实现当天重新核对。