类别:

Vector functions

VECTOR_NORMALIZE

规范化 L2 向量空间中的 VECTOR,为其元素赋予 [0,1] 范围内的值,并使其大小为 1。

另请参阅:

向量嵌入VECTOR_TRUNCATE

语法

VECTOR_NORMALIZE( <vector> )
Copy

实参

vector

要规范化的单个 VECTOR 值。

返回

返回已规范化到 L2 空间的 VECTOR,以及 FLOAT 类型的值。

使用说明

  • 当输入为 NULL 时返回 NULL。

  • 向量函数的优化方式可能会降低浮点精度。此函数的结果误差幅度高达 1e-4

示例

此示例演示了如何规范化向量 [1, 2, 3]

SELECT VECTOR_NORMALIZE([1, 2, 3]::VECTOR(INT, 3));
Copy
[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
    )
);
Copy
语言: 中文