Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Sql Server 2025 (17.x)
Database
SQL di Azure Istanza
gestita di SQL di Azurein Microsoft Fabric
Usare VECTOR_NORMALIZE per accettare un vettore come input e restituire il vettore normalizzato, ovvero un vettore ridimensionato per avere una lunghezza di 1 in un determinato tipo di norma.
Questa standardizzazione è fondamentale in varie applicazioni di intelligenza artificiale in cui i vettori rappresentano forme diverse di dati, ad esempio contenuto visivo, informazioni testuali o segnali audio. Normalizzando i vettori, si garantisce l'uniformità nella scala, particolarmente utile per le operazioni che si basano sulla misurazione delle distanze dei vettori o per il raggruppamento e la distinzione dei punti dati.
Sebbene i modelli di Azure OpenAI forniscano vettori normalizzati, esistono altri modelli e framework in cui i vettori non vengono normalizzati automaticamente. Ad esempio, nella libreria Gensim, che viene comunemente usata per le attività di elaborazione del linguaggio naturale, i vettori non vengono sempre normalizzati per impostazione predefinita.
Gli utenti spesso devono normalizzare i vettori manualmente o usare funzioni specifiche fornite dalla libreria per garantire che i vettori siano di lunghezza unità.
In generale, con modelli di Machine Learning o incorporamenti vettoriali, è importante controllare la documentazione o l'output del modello per determinare se i vettori sono normalizzati. Se la normalizzazione è necessaria per l'applicazione, potrebbe essere necessario implementarla come passaggio separato se il modello non fornisce vettori normalizzati per impostazione predefinita.
Ad esempio, se si vuole un vettore normalizzato usando la norma euclidea (che è il tipo di norma più comune), è possibile usare:
SELECT VECTOR_NORMALIZE ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMALIZEè disponibile in Istanza gestita di SQL di Azure con i criteri di aggiornamento di SQL Server 2025 o Always-up-to-date.
Syntax
Convenzioni relative alla sintassi Transact-SQL
VECTOR_NORMALIZE ( vector , norm_type )
Arguments
vector
Espressione che restituisce il tipo di dati vector .
norm_type
Stringa con il nome del tipo di norma da utilizzare per calcolare la norma del vettore specificato. Sono supportati i tipi di norma seguenti:
-
norm1- ,1-normovvero la somma dei valori assoluti dei componenti vettoriali. -
norm2- Il2-norm, noto anche come Norma euclidea, che è la radice quadrata della somma dei quadrati dei componenti vettoriali. -
norminf- Norma infinito, ovvero il massimo dei valori assoluti dei componenti vettoriali.
Valore restituito
Il risultato è un vettore con la stessa direzione del vettore di input, ma con una lunghezza pari a 1 in base alla norma specificata.
Se l'input è NULL, anche il risultato restituito è NULL.
Viene restituito un errore se norm_type non è un tipo di norma valido e se il vettore non è del tipo di dati vector .
Examples
Esempio 1
Normalizzare un vettore:
CREATE TABLE dbo.vectors
(
ID INT PRIMARY KEY,
v VECTOR(3) NOT NULL
);
INSERT INTO dbo.vectors (ID, v)
VALUES (1, '[0.1, -2, 42]'),
(2, '[2, 0.1, -42]');
SELECT ID, VECTOR_NORMALIZE(v, 'norm2') AS nv
FROM dbo.vectors;
Esempio 2
DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'),
VECTOR_NORMALIZE(@v, 'norminf');