类别:

Vector functions

VECTOR_TRUNCATE

VECTOR 截断到更小的维度。

也可以通过别名 VECTOR_TRUNC 调用此函数。

另请参阅:

向量嵌入VECTOR_NORMALIZE

语法

VECTOR_TRUNCATE( <vector>, <dimension> )
Copy

实参

vector

要截断的单个 VECTOR 值。

dimension

返回向量中应包含的元素数。

返回

返回一个与第一个 dimension 条目具有相同值和类型的 VECTOR 值,其余部分丢弃。

使用说明

  • 当任何输入为 NULL 时返回 NULL。

  • 使用大于 vector 中的维度数的 dimension 会导致错误。

  • 截断向量未规范化。

示例

此示例演示如何将 3 维向量截断为 2 维向量:

SELECT VECTOR_TRUNCATE([1, 2, 3]::VECTOR(INT, 3), 2);
Copy
[1,2]

此示例演示了截断 EMBED_TEXT_768 为文本“Analytical databases are typically column-oriented rather than row-oriented”生成的向量,其中 snowflake-arctic-embed-m-v1.5 模型从 768 个元素减少到 256 个元素:

SELECT 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
语言: 中文