カテゴリ:

Vector functions

VECTOR_NORMALIZE

L2ベクトル空間において、 VECTOR を正規化し、その要素の値を [0,1] の範囲で与え、1の大きさを与えます。

こちらもご参照ください。

ベクトル埋め込みVECTOR_TRUNCATE

構文

VECTOR_NORMALIZE( <vector> )
Copy

引数

vector

正規化する単一の VECTOR 値。

戻り値

FLOAT 型の値を持つ、L2空間に正規化された VECTOR を返します。

使用上の注意

  • 入力が NULL の場合、 NULL を返します。

  • ベクトル関数は最適化されていますが、浮動小数点の精度を低下させる可能性があります。この関数の結果には、最大 1e-4 のエラー幅があります。

この例は、ベクトル [1, 2, 3] の正規化を示しています。

SELECT VECTOR_NORMALIZE([1, 2, 3]::VECTOR(INT, 3));
Copy
[0.267261, 0.534522, 0.801784]

この例では、切り捨てられたベクトルを再正規化する方法を示します。元のベクトルは、 snowflake-arctic-embed-m-v1.5 モデルを使用して EMBED_TEXT_768 によって生成され、その後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