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: Pratinjau
SQL Server 2025 (17.x) Azure SQL Database
Azure SQL Managed Instance
SQL database di Microsoft Fabric
Catatan
Jenis data ini dalam pratinjau dan dapat berubah. Pastikan untuk membaca persyaratan penggunaan pratinjau dalam Perjanjian Tingkat Layanan (SLA) untuk Layanan Online.
Menghitung jarak antara dua vektor menggunakan metrik jarak tertentu. Jarak vektor selalu tepat dan tidak menggunakan indeks vektor apa pun, bahkan jika tersedia. Untuk menggunakan indeks vektor dan dengan demikian melakukan perkiraan pencarian vektor, Anda harus menggunakan fungsi VECTOR_SEARCH . Untuk mempelajari selengkapnya tentang cara kerja pengindeksan vektor dan pencarian vektor, dan perbedaan antara pencarian yang tepat dan perkiraan, lihat Vektor di Mesin Database SQL.
Sintaks
VECTOR_DISTANCE ( distance_metric, vector1, vector2 )
Argumen
distance_metric
String dengan nama metrik jarak yang akan digunakan untuk menghitung jarak antara dua vektor yang diberikan. Metrik jarak berikut didukung:
-
cosine
- Jarak kosinus -
euclidean
- Jarak Euclidean -
dot
- (Negatif) Produk titik
vektor1
Ekspresi yang mengevaluasi ke jenis data vektor .
vektor2
Ekspresi yang mengevaluasi ke jenis data vektor .
Metrik Jarak
Metrik | Deskripsi | Rentang | Contoh |
---|---|---|---|
cosine |
Jarak kosinus (sudut) | [0, 2] |
0 : vektor identik 2 : vektor yang berlawanan |
euclidean |
Jarak Euclidean | [-∞, +∞] |
0 : vektor identik |
dot |
Indikasi jarak berbasis produk titik, diperoleh dengan menghitung produk titik negatif |
[-∞, +∞] | Angka yang lebih kecil menunjukkan lebih banyak vektor serupa |
Nilai hasil
Fungsi mengembalikan nilai float skalar yang mewakili jarak antara kedua vektor menggunakan metrik jarak yang ditentukan.
Kesalahan dikembalikan jika distance_metric bukan metrik yang valid dan jika vektor yang disediakan bukan dari jenis data vektor.
Contoh
Detail database yang digunakan dalam sampel dapat ditemukan di sini: Unduh dan impor Artikel Wikipedia dengan Penyematan Vektor.
Contoh mengasumsikan keberadaan tabel bernama wikipedia_articles
dengan kolom title_vector
jenis vector
yang menyimpan penyematan judul artikel Wikipedia.
title_vector
diasumsikan sebagai penyematan yang dihasilkan dengan model penyematan seperti text-embedding-ada-002 atau text-embedding-3-small , yang mengembalikan vektor dengan 1.536 dimensi.
Untuk contoh lainnya, termasuk solusi end-to-end, buka repositori GitHub Sampel Pencarian Vektor Azure SQL Database.
Contoh 1
Contoh berikut membuat vektor dengan tiga dimensi dari string dengan array JSON.
DECLARE @v1 VECTOR(2) = '[1,1]';
DECLARE @v2 VECTOR(2) = '[-1,-1]';
SELECT
VECTOR_DISTANCE('euclidean', @v1, @v2) AS euclidean,
VECTOR_DISTANCE('cosine', @v1, @v2) AS cosine,
VECTOR_DISTANCE('dot', @v1, @v2) AS negative_dot_product;
Contoh 2
Contoh berikut mengembalikan 10 artikel paling mirip teratas ke artikel tertentu, berdasarkan jarak kosinus antara vektor judul mereka.
DECLARE @v AS VECTOR(1536);
SELECT @v = title_vector FROM [dbo].[wikipedia_articles] WHERE title = 'Alan Turing';
SELECT TOP(10)
id,
title,
VECTOR_DISTANCE('cosine', @v, title_vector) AS distance
FROM
[dbo].[wikipedia_articles]
ORDER BY
distance
Contoh 3
Contoh berikut mengembalikan semua artikel serupa ke artikel tertentu, berdasarkan jarak kosinus antara vektor judulnya, hanya memilih yang memiliki jarak kurang dari 0,3.
DECLARE @v AS VECTOR(1536);
SELECT @v = title_vector FROM [dbo].[wikipedia_articles] WHERE title = 'Alan Turing';
SELECT
id,
title,
VECTOR_DISTANCE('cosine', @v, title_vector) AS distance
FROM
[dbo].[wikipedia_articles]
WHERE
VECTOR_DISTANCE('cosine', @v, title_vector) < 0.3
ORDER BY
distance