Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2025 (17.x)
Azure SQL Database Azure SQL
Managed Instance
SQL Database v Microsoft Fabric
Slouží VECTOR_NORMALIZE k převzetí vektoru jako vstupu a vrácení normalizovaného vektoru, což je vektor škálovaný tak, aby měl v daném typu normu délku 1.
Tato standardizace je zásadní v různých aplikacích umělé inteligence, kde vektory představují různé formy dat, jako je vizuální obsah, textové informace nebo zvukové signály. Normalizací vektorů zajišťujeme jednotnost v jejich měřítku, což je zvláště užitečné pro operace, které se spoléhají na měření vektorových vzdáleností nebo pro seskupování a rozlišování datových bodů.
I když modely Azure OpenAI poskytují normalizované vektory, existují i jiné modely a architektury, ve kterých nejsou vektory automaticky normalizovány. Například v knihovně Gensim, která se běžně používá pro úlohy zpracování přirozeného jazyka, vektory nejsou ve výchozím nastavení normalizovány.
Uživatelé často potřebují vektory normalizovat ručně nebo použít konkrétní funkce poskytované knihovnou, aby se zajistilo, že vektory mají délku jednotky.
Obecně platí, že u modelů strojového učení nebo vkládání vektorů je důležité zkontrolovat dokumentaci nebo výstup modelu a určit, jestli jsou vektory normalizované. Pokud se pro vaši aplikaci vyžaduje normalizace, budete ji možná muset implementovat jako samostatný krok, pokud model ve výchozím nastavení neposkytuje normalizované vektory.
Pokud například chcete normalizovaný vektor pomocí normy Euclidean (což je nejběžnější typ normy), můžete použít:
SELECT VECTOR_NORMALIZE ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMALIZEje k dispozici ve službě Azure SQL Managed Instance se zásadami aktualizaceSQL Serveru 2025 nebo Always-up-to-date.
Syntax
VECTOR_NORMALIZE ( vector , norm_type )
Arguments
vektor
Výraz, který se vyhodnotí jako vektorový datový typ.
norm_type
Řetězec s názvem typu normy, který se má použít k výpočtu normy daného vektoru. Podporují se následující typy norem:
-
norm1- ,1-normcož je součet absolutních hodnot vektorových složek. -
norm2- Označuje se2-normtaké jako Euclidean Norm, což je druhá odmocnina součtu čtverců vektorových složek. -
norminf- nekonečná norma, což je maximum absolutních hodnot vektorových složek.
Návratová hodnota
Výsledkem je vektor se stejným směrem jako vstupní vektor, ale s délkou 1 podle dané normy.
Pokud je NULLvstup , vrácený výsledek je také NULL.
Pokud norm_type není platným standardním typem, vrátí se chyba, a pokud vektor není datový typ vektoru .
Examples
Příklad 1
Normalizovat 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;
Příklad 2
DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'),
VECTOR_NORMALIZE(@v, 'norminf');
Související obsah
- funkce vektoru
- Vektorový datový typ
- Inteligentní aplikace a AI