Kategorien:

Vector functions

VECTOR_NORMALIZE

Normalisiert einen VECTOR im L2-Vektorraum, was seinen Elementen Werte im Bereich von [0,1] und ihm eine Größe von 1 gibt.

Siehe auch:

Vektoreinbettungen, VECTOR_TRUNCATE

Syntax

VECTOR_NORMALIZE( <vector> )
Copy

Argumente

vector

Ein einzelner VECTOR-Wert, der normalisiert werden soll.

Rückgabewerte

Gibt einen VECTOR normalisiert auf den L2-Bereich zurück, mit Werten vom Typ FLOAT.

Nutzungshinweise

  • Gibt NULL zurück, wenn die Eingabe NULL lautet.

  • Vektorfunktionen werden so optimiert, dass die Genauigkeit der Gleitkommazahlen verringert werden kann. Die Ergebnisse dieser Funktion haben eine Fehlerspanne von bis zu 1e-4.

Beispiele

Dieses Beispiel zeigt die Normalisierung des Vektors [1, 2, 3]:

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

Dieses Beispiel zeigt, wie ein abgeschnittener Vektor wieder normalisiert wird. Der ursprüngliche Vektor wird durch EMBED_TEXT_768 mit dem Modell snowflake-arctic-embed-m-v1.5 erzeugt und dann auf 256 Elemente gekürzt. Der abgeschnittene Vektor wird dann normalisiert:

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