跳到主要内容
版本:nightly

向量函数

本页面列出了 GreptimeDB 中所有支持的向量相关函数。向量函数主要用于处理向量运算,比如距离计算、相似度度量等。

距离计算

  • l2sq_distance(vec1, vec2):计算两个向量之间的 L2 距离的平方。
  • cos_distance(vec1, vec2):计算两个向量之间的余弦距离。
  • dot_product(vec1, vec2):计算两个向量之间的点积。

参数支持向量字面值和表列。向量字面值必须用方括号 [] 括起来,并包含用逗号分隔的 Float32 元素,例如 [1.0, 2.0, 3.0]。参与运算的向量维度必须一致。

l2sq_distance

计算两个向量之间的平方欧几里得距离(L2 距离的平方)。L2 距离是几何空间中两个点之间的直线距离,此函数返回其平方值以提高计算效率。

示例:

SELECT l2sq_distance('[1.0, 2.0, 3.0]', '[2.0, 1.0, 4.0]');

说明:

  • 输入为两个维度一致的向量字面值或表列。
  • 结果为 Float64 类型的标量值。

cos_distance

计算两个向量之间的余弦距离。余弦距离是两个向量之间的夹角余弦值,用于衡量向量之间的相似度。

示例:

SELECT cos_distance('[1.0, 2.0, 3.0]', '[2.0, 1.0, 4.0]');

说明:

  • 输入为两个维度一致的向量字面值或表列。
  • 结果为 Float64 类型的标量值。

dot_product

计算两个向量之间的点积。点积是两个向量对应元素的乘积之和,常用于度量两个向量的相似性或用于机器学习的线性变换中。

示例:

SELECT dot_product('[1.0, 2.0, 3.0]', '[2.0, 1.0, 4.0]');

说明:

  • 输入为两个维度一致的向量字面值或表列。
  • 结果为 Float64 类型的标量值。