Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2025 (17.x)
Banco de Dados
SQL do AzureBanco de DadosSQL do Azure Banco de Dados SQL banco de dados SQL do Banco de Dados SQL do Azure
banco de dados SQL no Microsoft Fabric
Use VECTOR_NORMALIZE para usar um vetor como entrada e retornar o vetor normalizado, que é um vetor escalado para ter um comprimento de 1 em um determinado tipo de norma.
Essa padronização é crucial em várias aplicações de inteligência artificial em que os vetores representam diferentes formas de dados, como conteúdo visual, informações textuais ou sinais de áudio. Ao normalizar vetores, garantimos uniformidade em sua escala, o que é particularmente útil para operações que dependem da medição de distâncias vetoriais ou para agrupar e distinguir pontos de dados.
Embora os modelos do Azure OpenAI forneçam vetores normalizados, há outros modelos e estruturas em que os vetores não são normalizados automaticamente. Por exemplo, na biblioteca Gensim, que normalmente é usada para tarefas de processamento de linguagem natural, os vetores nem sempre são normalizados por padrão.
Os usuários geralmente precisam normalizar os vetores manualmente ou usar funções específicas fornecidas pela biblioteca para garantir que os vetores tenham comprimento unitário.
Em geral, com modelos de machine learning ou inserções de vetor, é importante verificar a documentação ou a saída do modelo para determinar se os vetores são normalizados. Se a normalização for necessária para seu aplicativo, talvez seja necessário implementá-la como uma etapa separada se o modelo não fornecer vetores normalizados por padrão.
Por exemplo, se você quiser um vetor normalizado usando a norma euclidiana (que é o tipo de norma mais comum), você pode usar:
SELECT VECTOR_NORMALIZE ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMALIZEestá disponível na Instância Gerenciada de SQL do Azure com a política de atualização do SQL Server 2025 ou Always-up-to-date.
Syntax
Convenções de sintaxe de Transact-SQL
VECTOR_NORMALIZE ( vector , norm_type )
Arguments
vetor
Uma expressão que é avaliada como tipo de dados de vetor .
norm_type
Uma string com o nome do tipo de norma a ser usado para calcular a norma do vetor fornecido. Os seguintes tipos de norma são suportados:
-
norm1- O1-norm, que é a soma dos valores absolutos dos componentes de vetor. -
norm2- A2-norm, também conhecida como Norma Euclidiana, que é a raiz quadrada da soma dos quadrados dos componentes do vetor. -
norminf- A norma do infinito, que é o máximo dos valores absolutos dos componentes vetoriais.
Valor de retorno
O resultado é um vetor com a mesma direção que o vetor de entrada, mas com um comprimento de 1 de acordo com a norma fornecida.
Se a entrada estiver NULL, o resultado retornado também NULLserá .
Um erro será retornado se norm_type não for um tipo de norma válido e se o vetor não for do tipo de dados de vetor .
Examples
Exemplo 1
Normalize um vetor:
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;
Exemplo 2
DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'),
VECTOR_NORMALIZE(@v, 'norminf');