Bagikan melalui


VECTOR_NORMALIZE (Transact-SQL)

Berlaku untuk: Database SQL SQL Server 2025 (17.x) Azure SQL DatabaseAzure SQL Managed Instancedi Microsoft Fabric

Gunakan VECTOR_NORMALIZE untuk mengambil vektor sebagai input dan mengembalikan vektor yang dinormalisasi, yang merupakan vektor yang diskalakan untuk memiliki panjang 1 dalam jenis norma tertentu.

Standardisasi ini sangat penting dalam berbagai aplikasi kecerdasan buatan di mana vektor mewakili berbagai bentuk data, seperti konten visual, informasi tekstual, atau sinyal audio. Dengan menormalkan vektor, kami memastikan keseragaman dalam skalanya, yang sangat berguna untuk operasi yang bergantung pada pengukuran jarak vektor atau untuk mengelompokkan dan membedakan titik data.

Meskipun model Azure OpenAI menyediakan vektor yang dinormalisasi, ada model dan kerangka kerja lain di mana vektor tidak dinormalisasi secara otomatis. Misalnya, di pustaka Gensim, yang umumnya digunakan untuk tugas pemrosesan bahasa alami, vektor tidak selalu dinormalisasi secara default.

Pengguna sering kali perlu menormalkan vektor secara manual atau menggunakan fungsi tertentu yang disediakan oleh pustaka untuk memastikan bahwa vektor memiliki panjang unit.

Secara umum, dengan model pembelajaran mesin atau penyematan vektor, penting untuk memeriksa dokumentasi atau output model untuk menentukan apakah vektor dinormalisasi. Jika normalisasi diperlukan untuk aplikasi Anda, Anda mungkin perlu menerapkannya sebagai langkah terpisah jika model tidak menyediakan vektor yang dinormalisasi secara default.

Misalnya, jika Anda menginginkan vektor yang dinormalisasi menggunakan norma Euclidean (yang merupakan jenis norma yang paling umum), Anda dapat menggunakan:

SELECT VECTOR_NORMALIZE ( vector, 'norm2' )
FROM ...

Note

VECTOR_NORMALIZEtersedia di Azure SQL Managed Instance dengan kebijakan pembaruanSQL Server 2025 atau Always-up-to-date.

Syntax

Konvensi sintaks transact-SQL

VECTOR_NORMALIZE ( vector , norm_type )

Arguments

vektor

Ekspresi yang mengevaluasi ke jenis data vektor .

norm_type

String dengan nama jenis norma yang digunakan untuk menghitung norma vektor yang diberikan. Jenis norma berikut didukung:

  • norm1 1-norm- , yang merupakan jumlah nilai absolut komponen vektor.
  • norm2 2-norm- , juga dikenal sebagai Norma Euclidean, yang merupakan akar kuadrat dari jumlah kuadrat komponen vektor.
  • norminf - Norma tak terbatas, yang merupakan maksimum dari nilai absolut komponen vektor.

Mengembalikan nilai

Hasilnya adalah vektor dengan arah yang sama dengan vektor input tetapi dengan panjang 1 sesuai dengan norma yang diberikan.

Jika input adalah NULL, hasil yang dikembalikan juga NULL.

Kesalahan dikembalikan jika norm_type bukan jenis norma yang valid dan jika vektor bukan dari jenis data vektor .

Examples

Contoh 1

Menormalkan 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;

Contoh 2

DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'),
       VECTOR_NORMALIZE(@v, 'norminf');