Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2025 (17.x) Förhandsversion
Azure SQL Database
Azure SQL Managed Instance
Förhandsversion av SQL-databas för Microsoft Fabric
Använd VECTOR_NORMALIZE för att ta en vektor som indata och returnera den normaliserade vektorn, som är en vektor skalad för att ha en längd på 1 i en viss normtyp.
Den här standardiseringen är avgörande i olika program för artificiell intelligens där vektorer representerar olika former av data, till exempel visuellt innehåll, textinformation eller ljudsignaler. Genom att normalisera vektorer säkerställer vi enhetlighet i deras skala, vilket är särskilt användbart för åtgärder som är beroende av att mäta vektoravstånd eller för att gruppera och särskilja datapunkter.
Även om Azure OpenAI:s modeller tillhandahåller normaliserade vektorer finns det andra modeller och ramverk där vektorer inte normaliseras automatiskt. I Gensim-biblioteket, som ofta används för bearbetning av uppgifter med naturligt språk, normaliseras till exempel inte alltid vektorer som standard.
Användare behöver ofta normalisera vektorerna manuellt eller använda specifika funktioner som tillhandahålls av biblioteket för att säkerställa att vektorerna är av enhetslängd.
I allmänhet med maskininlärningsmodeller eller vektorinbäddningar är det viktigt att kontrollera dokumentationen eller utdata från modellen för att avgöra om vektorerna normaliseras. Om normalisering krävs för ditt program kan du behöva implementera det som ett separat steg om modellen inte tillhandahåller normaliserade vektorer som standard.
Om du till exempel vill ha en normaliserad vektor med euklidisk norm (som är den vanligaste normtypen) kan du använda:
SELECT VECTOR_NORMALIZE ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMALIZEär tillgängligt i Azure SQL Managed Instance med sql Server 2025- eller always-up-to-date update-principen.
Syntax
Transact-SQL syntaxkonventioner
VECTOR_NORMALIZE ( vector , norm_type )
Arguments
vector
Ett uttryck som utvärderas till vektordatatyp .
norm_type
En sträng med namnet på den normtyp som ska användas för att beräkna normen för den angivna vektorn. Följande normtyper stöds:
-
norm1- ,1-normsom är summan av de absoluta värdena för vektorkomponenterna. -
norm2- ,2-normäven känd som Euclidean Norm, som är kvadratroten av summan av kvadraterna i vektorkomponenterna. -
norminf– Oändlighetsnormen, som är maxvärdet för vektorkomponenternas absoluta värden.
Returvärde
Resultatet är en vektor med samma riktning som indatavektorn men med en längd på 1 enligt den givna normen.
Om indata är NULLär det returnerade resultatet också NULL.
Ett fel returneras om norm_type inte är en giltig normtyp och om vektorn inte är av vektordatatypen .
Examples
Exempel 1
Normalisera en vektor:
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;
Exempel 2
DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'),
VECTOR_NORMALIZE(@v, 'norminf');