目录
- Manticore 中的向量搜索:细节
- 什么是嵌入(为什么要关注它)?
- 向量搜索是如何工作的?
- 入门:设置向量搜索
- 高级搜索功能
- 实际应用
- 加速向量搜索:性能提示
- 保护您的向量数据:备份选项
- 保持您的搜索系统可用:复制
- 查看向量搜索的实际演示
- 在生产中运行向量搜索
- 总结:向量搜索的未来
1. Manticore 中的向量搜索:细节
如果您一直在关注我们的博客,您已经知道 Manticore Search 提供强大的向量搜索能力。在这篇文章中,我们将超越基础,展示其背后的工作原理——以及如何充分利用这一点。
在我们深入技术细节之前,有个快速的公告:在 2025年6月6日,Manticore 团队将赞助 向量搜索会议 2025
我们将进行两场专注于实际向量搜索的演讲:
- 速度与精确的结合:如何通过向量量化提升搜索效率 — Sergey Nikolaev
- 信息检索时刻:通过检索增强生成提供更智能的答案 — Dmitrii Kuzmenkov
如果您正在从事语义搜索、推荐或检索增强生成(RAG)的工作,这将是您绝对不想错过的活动。
现在,回到主题。
Manticore 的向量搜索建立在我们的 Columnar Library 之上,它允许您:
- 找到意义相似的内容,即使词语不同
- 构建感觉个性化的推荐系统
- 通过零手动标记将相似项目分组在一起
- 提供比基本关键词匹配更相关的搜索结果
在底层,Manticore 使用一种高度有效的算法叫做 HNSW(分层可导航小世界)进行向量搜索。它旨在快速找到最相关的结果,即使在大型数据集中——就像在巨大的城市中寻找最近的邻居,但不需要地图。
让我们分析一下嵌入是如何驱动这一切的,以及 HNSW 如何帮助将这些嵌入转化为快速、准确的搜索结果。
2. 什么是嵌入(为什么要关注它)?
要理解向量搜索,您首先需要了解 嵌入。它们是其核心思想。
将嵌入视为将事物——例如单词、图像或声音——转换为一组数字列表的方法,这些数字表示它们的意义。这是一种帮助计算机“理解”世界的方式,更接近于我们如何理解。
嵌入是如何工作的?
想象一张巨大的地图,其中每个点代表一个东西:一个单词、一个句子、一幅图像等等。两个点越接近,它们所代表的事物就越相似。这就是嵌入所做的——它们将数据转换为向量(仅仅是数字序列),使得:
- 将相似的事物彼此靠近放置在这个多维空间中
- 捕捉数据背后的意义
– 让我们能够对思想进行数学计算(还记得 Google 研究人员的著名例子: king – man + woman = queen 吗?)
您可以将什么转换为向量?
几乎所有东西。以下是一些常见示例:
- 文本:单个单词、完整句子,甚至整本书。“海滩”的向量会比“山”更接近“岸”。
- 图像:旅行照片、产品图片或表情包。狗的图片会聚在一起,而不是汽车的图片。
- 音频:演讲、音乐或音效。重金属曲目聚集在一起,远离安静的钢琴音乐。
这些嵌入是起点。一旦您拥有它们,像 HNSW 这样的算法就能帮助您快速搜索。
我们如何测量相似性?
一旦我们拥有这些向量,我们需要一种方法来测量它们的相似度。Manticore Search 支持三种相似性度量:
- 欧几里得距离 (L2)
- 余弦相似性
- 内积(点积)
然而,需要注意的是,相似性度量的选择并不是任意的。最佳度量通常取决于用于生成向量的嵌入模型。许多嵌入模型都是根据特定的相似性度量训练的。例如,一些模型是针对余弦相似性优化的,而其他模型则可能是针对内积或欧几里得距离设计的。使用与模型训练时使用的不同相似性度量可能导致次优结果。
在为向量搜索设置 Manticore Search 表时,您在表创建过程中指定相似性度量。此选择应与您的嵌入模型的特性保持一致,以确保准确和高效的搜索结果。
以下是每个度量的简要概述: