- カテゴリ:
VECTOR_NORMALIZE¶
L2ベクトル空間において、 VECTOR を正規化し、その要素の値を [0,1] の範囲で与え、1の大きさを与えます。
- こちらもご参照ください。
構文¶
VECTOR_NORMALIZE( <vector> )
引数¶
vector正規化する単一の VECTOR 値。
戻り値¶
FLOAT 型の値を持つ、L2空間に正規化された VECTOR を返します。
使用上の注意¶
入力が NULL の場合、 NULL を返します。
ベクトル関数は最適化されていますが、浮動小数点の精度を低下させる可能性があります。この関数の結果には、最大
1e-4のエラー幅があります。
例¶
この例は、ベクトル [1, 2, 3] の正規化を示しています。
SELECT VECTOR_NORMALIZE([1, 2, 3]::VECTOR(INT, 3));
[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
)
);