Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL Database a Microsoft Fabricben
Egy vektor bemenetként való beírására és a normalizált vektor visszaadására szolgál VECTOR_NORMALIZE , amely egy adott normatípusban 1 hosszúságú vektor.
Ez a szabványosítás kulcsfontosságú a különböző mesterségesintelligencia-alkalmazásokban, ahol a vektorok különböző adatformákat képviselnek, például vizuális tartalmakat, szöveges információkat vagy hangjeleket. A vektorok normalizálásával biztosítjuk a skálájuk egységességét, ami különösen hasznos a vektorok távolságának mérésére vagy az adatpontok csoportosítására és megkülönböztetésére támaszkodó műveleteknél.
Bár az Azure OpenAI modelljei normalizált vektorokat biztosítanak, vannak más modellek és keretrendszerek is, amelyekben a vektorok nem normalizálódnak automatikusan. A Gensim-kódtárban például, amelyet gyakran használnak természetes nyelvi feldolgozási feladatokhoz, a vektorok alapértelmezés szerint nem normalizálva lesznek.
A felhasználóknak gyakran manuálisan kell normalizálni a vektorokat, vagy a kódtár által biztosított bizonyos függvényeket kell használniuk annak biztosításához, hogy a vektorok egységhosszúságúak legyenek.
Gépi tanulási modellek vagy vektorbeágyazások esetén általában fontos ellenőrizni a modell dokumentációját vagy kimenetét annak megállapításához, hogy a vektorok normalizálva vannak-e. Ha normalizálásra van szükség az alkalmazáshoz, előfordulhat, hogy külön lépésként kell implementálnia, ha a modell alapértelmezés szerint nem biztosít normalizált vektorokat.
Ha például normalizált vektort szeretne az euklideszi normával (amely a leggyakoribb normatípus), a következőt használhatja:
SELECT VECTOR_NORMALIZE ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMALIZE a felügyelt Azure SQL-példányban az SQL Server 2025 vagy az Always-up-todátumfrissítésiszabályzattal érhető el.
Syntax
Transact-SQL szintaxis konvenciói
VECTOR_NORMALIZE ( vector , norm_type )
Arguments
vektor
Vektor adattípusra kiértékelt kifejezés.
norm_type
A normatípus nevével ellátott sztring, amely az adott vektor normának kiszámításához használható. A következő normatípusok támogatottak:
-
norm1- A1-normvektorösszetevők abszolút értékeinek összege. -
norm2- Az2-normeuklideszi norma, amely a vektorösszetevők négyzetének négyzetgyöke. -
norminf- A végtelen norma, amely a vektorösszetevők abszolút értékeinek maximális értéke.
Visszaadott érték
Az eredmény egy vektor, amelynek iránya megegyezik a bemeneti vektor irányával, de az adott norma szerint 1 hosszúságú.
Ha a bemenet az NULL, akkor a visszaadott eredmény is NULL.
A hiba akkor jelenik meg, ha norm_type nem érvényes normatípus, és ha a vektor nem a vektor adattípusa.
Examples
1. példa
Vektor normalizálása:
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;
2. példa
DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'),
VECTOR_NORMALIZE(@v, 'norminf');