1. 向量检索基础:从概念到应用

各位同学好,我是这门课的主讲。今天咱们聊聊向量检索的根基——那些你绕不开的基础概念。说实话,我见过太多人一上来就调 Milvus、搞 HNSW,结果出了问题连向量怎么算的都不清楚。嗯,这不行。

这一章,我会带你从零搭建向量检索的知识骨架。你不需要数学多好,但得理解「为什么」。

1.1 向量化:把世界变成数字

什么叫向量化?说白了,就是把一段文本、一张图片、一首歌,变成一串固定长度的数字。比如「苹果」这个词,在某个模型里可能变成 [0.12, -0.34, 0.56, ...] 这样 768 个浮点数。

为什么要这么做?因为计算机不懂语义,只懂数字。向量化就是给计算机搭了一座桥——让机器能「理解」相似性。

核心要点:向量化不是简单的哈希编码,而是通过深度学习模型,把语义信息压缩到低维稠密向量中。两个向量在空间里离得近,就代表它们语义相似。

我在项目中遇到过最典型的翻车案例:有人直接用 one-hot 编码做向量检索,结果「苹果手机」和「苹果水果」的向量距离几乎一样。这显然不对。原因很简单——one-hot 没有语义信息。

1.2 Embedding 模型:谁在背后干活?

向量化靠的是 Embedding 模型。目前主流的有这么几类:

模型类型 代表模型 输出维度 适用场景
文本 Embedding text2vec-base, BGE, ada-002 768 / 1024 / 1536 文本搜索、RAG、问答
图像 Embedding CLIP, ResNet-50 512 / 2048 以图搜图、多模态检索
多模态 Embedding CLIP, ImageBind 512 / 1024 跨模态检索(文本搜图等)

选模型时我建议你注意两点:

  • 维度不是越高越好。高维度意味着更细的语义区分,但检索计算量也更大。768 维在大部分场景下够用了。
  • 领域适配很重要。通用模型在专业领域(比如医疗、法律)效果往往打折扣。我曾经在金融场景里用通用模型做相似度,结果「涨停」和「跌停」的向量距离比「涨停」和「红色」还远——这显然不合理。

我的习惯:拿到一个新场景,先用 3-5 个典型样本跑一遍 Embedding,肉眼检查一下相似度排序。这一步花不了 10 分钟,但能避免后面踩大坑。

1.3 向量相似度计算:三种核心度量

向量有了,怎么比谁跟谁更「像」?三种最常用的度量方式:

余弦相似度(Cosine Similarity)

公式:cos(A, B) = (A·B) / (||A|| × ||B||)

取值范围:[-1, 1],越大越相似。

它只关心方向,不关心长度。你想想看,在文本场景里,「苹果很好吃」和「苹果非常好吃」的向量长度可能不同,但方向应该接近——余弦相似度正好处理这种情况。

欧氏距离(Euclidean Distance)

公式:d(A, B) = sqrt(Σ(Ai - Bi)²)

取值范围:[0, +∞),越小越相似。

它同时考虑方向和长度。在图像检索里,我更喜欢用欧氏距离——因为图片的亮度、对比度差异往往体现在向量长度上,不能忽略。

内积(Dot Product)

公式:A·B = Σ(Ai × Bi)

取值范围:(-∞, +∞),越大越相似。

内积在推荐系统里很常见。为什么?因为很多推荐模型输出的向量已经做了归一化,内积和余弦相似度等价,但计算更快——少做一次除法。

度量方式 是否考虑长度 计算开销 推荐场景
余弦相似度 否 中(需归一化) 文本搜索、RAG
欧氏距离 是 中 图像检索、异常检测
内积 是 低 推荐系统、已归一化向量

避坑指南:我曾经在一个项目里直接用内积算未归一化的向量相似度,结果召回率惨不忍睹。后来才发现,向量长度差异把结果完全带偏了。记住:用内积前,先确认向量是否已经 L2 归一化。

1.4 向量检索的应用场景

聊完基础,咱们看看向量检索到底用在哪。我挑三个最常见的场景:

推荐系统

用户过去点击了 10 篇文章,把这 10 篇文章的向量取平均,得到一个「用户兴趣向量」。然后去向量库里找最接近的 50 篇文章推荐给用户。整个过程就是一次向量检索。

我在做短视频推荐时,用户兴趣向量每 5 分钟更新一次,向量库里有 500 万条视频。每次检索要求 10 毫秒内返回——这就是后面章节要讲的任务调度要解决的问题。

搜索引擎

传统搜索靠关键词匹配,你搜「苹果手机」它不会给你「iPhone」。向量搜索不一样——它理解语义。你把查询文本向量化,去库里找语义相近的文档。

我见过一个企业知识库,用向量搜索后,员工找文档的时间从平均 3 分钟降到了 15 秒。效果立竿见影。

RAG(检索增强生成)

这是目前最火的方向。大模型回答问题前,先去向量库里检索相关文档,然后把文档作为上下文喂给模型。这样模型就能回答「训练数据之外」的问题。

举个例子:你问「公司今年的报销政策是什么?」大模型本身不知道,但向量检索能从公司知识库里找到最新的报销文档,模型基于这个文档生成答案。

关键数据:在 RAG 场景里,检索的召回率直接决定回答质量。Top-5 召回率从 80% 提升到 95%,回答准确率能提升 20 个百分点以上。所以向量检索的精度和延迟,是 RAG 系统的生命线。

1.5 本章知识体系总览

下面这张图,把本章的核心逻辑串起来了。你可以把它当作一张「地图」——后面每讲一个技术点,都能在这张图上找到位置。

向量检索基础 · 知识体系 原始数据 Embedding 模型(文本/图像/多模态) 稠密向量(768/1024维) 余弦相似度 欧氏距离 内积 应用场景:推荐 / 搜索 / RAG 大规模任务调度(后续章节) 💡 核心逻辑 原始数据 → 向量化 → 相似度计算 → 应用场景 → 调度优化 ⚠️ 常见误区 • 未归一化直接用内积 • 维度越高效果越好

这张图把整个流程串起来了:原始数据经过 Embedding 模型变成向量,然后通过三种相似度度量之一计算距离,最终落地到推荐、搜索、RAG 等场景。而所有这些环节,在数据量大了之后,都需要任务调度来保证性能和稳定性——这就是咱们这门课后面要深入讲的内容。