Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:Azure SQL Database
Catatan
Jenis data ini dalam pratinjau dan dapat berubah. Pastikan untuk membaca persyaratan penggunaan pratinjau dalam dokumen Perjanjian Tingkat Layanan (SLA) untuk Layanan Online.
VECTOR_NORMALIZE
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, ketika bekerja 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_column, 'norm2' )
FROM ...
Sintaks
VECTOR_NORMALIZE ( vector_column, norm_type )
Argumen
vector_column
Ekspresi yang mengevaluasi ke vektor. Kolom ini harus dari jenis data vektor .
norm_type
String dengan nama jenis norma yang digunakan untuk menghitung norma vektor yang diberikan. Jenis norma berikut didukung:
-
norm1
- 1-norma, yang merupakan jumlah nilai absolut komponen vektor. -
norm2
- 2-norma, 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.
Nilai hasil
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 akan menjadi NULL
.
Kesalahan dikembalikan jika norm_type bukan jenis norma yang valid dan jika vector_column bukan jenis data vektor .
Contoh
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 VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'), VECTOR_NORMALIZE(@v, 'norminf');