在向量数据库中,“向量”(Vector)本质上是一串有顺序的数字(例如 [0.12, -0.56, 0.89, ...]),它是计算机用来理解和表示现实世界非结构化数据(如文本、图片、音频、视频)的“数字DNA”。

这种将具体事物转化为一串数字的过程,在人工智能领域被称为向量嵌入(Embedding)。这些向量是由深度学习模型(如大语言模型或图像识别模型)生成的。向量中的每一个数字并不是随机的,而是代表了数据在某个抽象维度上的特征。

为了更好地理解向量在数据库中的作用,可以从以下三个核心概念来认识:

高维特征空间 在日常生活中,我们用两个数字 (X, Y) 可以在二维地图上定位一个点。向量数据库中的向量通常拥有极高的维度,比如 768 维甚至 1536 维。这意味着每个事物都被放在一个几千维的虚拟空间中。在这个空间里,每一维都代表一种微小的特征。例如,对于“猫”这个词,向量中的某些维度可能隐式地代表“有毛”、“哺乳动物”、“宠物”等属性,而模型通过海量数据学习到了如何用这上千个维度去精准定义“猫”。

语义相似性 向量最神奇的地方在于,含义相近的事物,其向量在空间中的距离也非常接近。例如,“开心”和“愉快”这两个词,虽然字面完全不同,但因为它们表达的意思几乎一样,它们被转换成向量后,在多维空间中的距离会非常近。同理,一张猫的图片和“一只趴在沙发上的猫”这句文本,在经过多模态模型处理后,它们生成的向量也会紧紧挨在一起。

从“关键词匹配”到“语义搜索” 传统的数据库(如 SQL 或 Elasticsearch)主要依赖“精确匹配”,你搜索“苹果”,它就只能帮你找含有“苹果”这两个字的数据。而向量数据库则是通过计算向量之间的“空间距离”(如余弦相似度、欧氏距离),来寻找与查询内容最“像”的东西。如果你在向量数据库中搜索“红色的甜水果”,即使数据中没有这几个字,它也能通过向量距离的计算,帮你检索到“苹果”或“草莓”的结果。

简单来说,向量就是把复杂的现实世界信息,翻译成带有“语义关系”的数字坐标,从而让计算机能够进行真正的语义理解和模糊匹配。