Categorias:

Vector functions

VECTOR_NORMALIZE

Normaliza um VECTOR no espaço vetorial L2, dando a seus elementos valores no intervalo de [0,1] e dando a ele uma magnitude de 1.

Consulte também:

Incorporações de vetor, VECTOR_TRUNCATE

Sintaxe

VECTOR_NORMALIZE( <vector> )
Copy

Argumentos

vector

Um valor de VECTOR único a ser normalizado.

Retornos

Retorna um VECTOR normalizado para o espaço L2, com valores do tipo FLOAT.

Notas de uso

  • Retorna NULL quando a entrada é NULL.

  • As funções de vetor são otimizadas de forma a reduzir a precisão do ponto flutuante. Os resultados dessa função têm uma margem de erro de até 1e-4.

Exemplos

Este exemplo demonstra a normalização do vetor [1, 2, 3]:

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

Este exemplo mostra como renormalizar um vetor truncado. O vetor original foi produzido por EMBED_TEXT_768 com o modelo snowflake-arctic-embed-m-v1.5 e, em seguida, truncado em 256 elementos. O vetor truncado depois foi normalizado:

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