Embeddings Magic
嵌入向量将语言转化为数学。
它们是现代 AI 的基石。许多人将其视为黑盒。本文将解释它们的工作原理。
当词汇不匹配时,关键词搜索就会失效。
如果你搜索 "How do I reset my password?",关键词搜索会寻找这些完全相同的词。如果文档中写的是 "Steps to recover your account credentials",搜索可能会失败。你知道它们的含义是一样的,但计算机并不知道。
嵌入向量解决了这个问题。
嵌入向量是一组数字列表。这些数字代表了文本的含义。嵌入模型将词汇映射到一个高维空间中。
单个词汇如 "cat" 会变成一个向量: [0.18, -0.42, 0.91, ...]
单纯的数字本身没有任何意义。重要的是向量的位置。
想象一张地图。地理位置接近的城市通常拥有相似的气候和边界。嵌入向量的工作原理也是如此。含义相似的文本在向量空间中彼此靠近。
- 狗 (Dog) 和猫 (Cat) 靠得很近。
- 汽车 (Car) 和卡车 (Truck) 靠得很近。
- 汽车 (Car) 和狗 (Dog) 离得很远。
这些点之间的距离代表了相似度。
这实现了语义搜索。你可以根据意图而非拼写来查找信息。
为了比较这些向量,我们使用余弦相似度 (cosine similarity)。该指标衡量两个向量之间的夹角。
- 夹角小意味着相似度高。
- 夹角大意味着相似度低。
嵌入向量还为检索增强生成 (RAG) 提供动力。在 RAG 流水线中,过程如下:
- 使用嵌入模型将文档转换为向量。
- 将向量存储在向量数据库中。
- 将用户查询转换为向量。
- 在数据库中找到最接近的向量。
- 将相关的文档发送给 LLM。
LLM 并不会直接搜索你的文件。它是在嵌入空间中搜索最匹配的内容。
如果你构建 AI 应用,就必须理解嵌入向量。从搜索引擎到推荐系统,一切都由它们驱动。它们的强大之处在于它们组织意义的方式。
Source: https://dev.to/tahaboussaden/embeddings-magic-2hlb
Optional learning community: https://t.me/GyaanSetuAi
