什么是向量嵌入?
向量嵌入(Embedding)是将文本、图像、音频等非结构化数据转换为一组数值(即向量)的技术。这个向量能够捕捉数据的语义信息——意思相近的文本,它们的向量在空间中也靠得很近。
为什么需要向量嵌入?
计算机无法直接理解"猫"和"狗"的语义关系,但可以通过向量来表示它们:"猫"→[0.2, 0.8, -0.3, ...],"狗"→[0.3, 0.7, -0.2, ...]。这两个向量在空间中的距离很近,说明它们语义相似。而"汽车"→[0.9, -0.1, 0.5, ...] 则离"猫"较远。
Embedding 的主要应用
语义搜索:搜索"可爱的宠物"时,不仅能找到包含"宠物"的文档,还能找到包含"猫""狗"等语义相关内容的文档。
RAG 检索:在 RAG 架构中,Embedding 是将用户问题和知识库文档进行匹配的核心技术。
聚类与分类:将大量文本转换为向量后,可以自动聚类(发现主题分组)或分类。
推荐系统:计算用户偏好和内容的向量相似度,实现个性化推荐。
主流 Embedding 模型
- ·OpenAI Embeddings(text-embedding-3-small/large)
- ·通义千问 Embedding(text-embedding-v2)
- ·BGE(北京智源研究院的开源模型)
- ·text2vec(国产开源中文 Embedding 模型)
Embedding 模型通常比大语言模型小得多、便宜得多,调用成本很低。