大模型学习笔记:向量
Vector向量就把一段文字的语义信息,转换成一串固定长度的数字列表,让计算机能“看懂”文字的含义并做相似度计算。简单说就是让计算机连接不同的文本是否表达同一个意思。 文本嵌入模型通过深度学习等技术,从文本提取语义特征并映射为固定长度的数字序列。向量嵌入的过程,我们一般选择合适的文本嵌入模型来完成。 text-embedding-v1模型可以生成1536维的向量。生成向量维度越多,就更好的记录文本的语义特征,做语义匹配会更加精准。更多的向量会在计算、存储和匹配过程中,带来更大压力:tradeoff of precise and performance. 向量的匹配通过算法实现,如余弦相似度。向量的数字序列,共同决定了向量在高纬度空间中的方向和长度,而余弦相似度主要就是撇去长度的影响,得到方向的夹角。夹角越小越相似,即方向相同。 余弦相似度:两个向量的点积 / 两个向量模长的乘积 import numpy as np def get_dot(vec1, vec2): “”” 计算两个向量的点积 :param vec1: 向量1 :param vec2: 向量2 :return: 点积结果 “”” if len(vec1) != len(vec2): raise ValueError(“两个向量的长度必须相同”) […]