VECTOR_NORMALIZE¶
规范化 L2 向量空间中的 VECTOR,为其元素赋予 [0,1] 范围内的值,并使其大小为 1。
- 另请参阅:
语法¶
VECTOR_NORMALIZE( <vector> )
实参¶
vector要规范化的单个 VECTOR 值。
返回¶
返回已规范化到 L2 空间的 VECTOR,以及 FLOAT 类型的值。
使用说明¶
当输入为 NULL 时返回 NULL。
向量函数的优化方式可能会降低浮点精度。此函数的结果误差幅度高达
1e-4。
示例¶
此示例演示了如何规范化向量 [1, 2, 3]:
SELECT VECTOR_NORMALIZE([1, 2, 3]::VECTOR(INT, 3));
[0.267261, 0.534522, 0.801784]
此示例演示如何重新规范化截断的向量。原始向量通过 EMBED_TEXT_768 采用 snowflake-arctic-embed-m-v1.5 模型生成,然后截断为 256 个元素。然后对截断的向量进行规范化:
VECTOR_NORMALIZE(
VECTOR_TRUNCATE(
SNOWFLAKE.CORTEX.EMBED_TEXT_768(
'snowflake-arctic-embed-m-v1.5',
'Analytical databases are typically column-oriented rather than row-oriented'
),
256
)
);