Catégories :

Vector functions

VECTOR_NORMALIZE

Normalise un VECTOR dans l’espace vectoriel L2, en lui attribuant des valeurs d’éléments comprises dans l’intervalle [0,1] et en lui attribuant une magnitude de 1.

Voir aussi :

Intégrations vectorielles, VECTOR_TRUNCATE

Syntaxe

VECTOR_NORMALIZE( <vector> )
Copy

Arguments

vector

Une seule valeur VECTOR à normaliser.

Renvoie

Renvoie un VECTOR normalisé à l’espace L2, avec des valeurs de type FLOAT.

Notes sur l’utilisation

  • Renvoie NULL lorsque l’entrée est NULL.

  • Les fonctions vectorielles sont optimisées de manière à réduire la précision des virgules flottantes. Les résultats de cette fonction présentent une marge d’erreur jusqu’à 1e-4.

Exemples

Cet exemple illustre la normalisation du vecteur [1, 2, 3] :

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

Cet exemple montre comment renormaliser un vecteur tronqué. Le vecteur original est produit par EMBED_TEXT_768 avec le modèle snowflake-arctic-embed-m-v1.5, puis tronqué à 256 éléments. Le vecteur tronqué est ensuite normalisé :

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