VECTORDISTANCE - Bahasa kueri di Cosmos DB (di Azure dan Fabric)

Fungsi mengembalikan VECTORDISTANCE skor kesamaan antara dua vektor yang ditentukan.

Fungsi sistem Azure Cosmos DB yang mengembalikan skor kesamaan antara dua vektor untuk satu atau beberapa item dalam kontainer.

Syntax

VECTORDISTANCE(<vector_expr_1>, <vector_expr_2>, <bool_expr>, <obj_expr>)

Arguments

Description
vector_expr_1 Array satu dimensi dari float32, , float16int8 atau unit8 jenis.
vector_expr_2 Array satu dimensi dari float32, , float16int8 atau unit8 jenis.
bool_expr Boolean opsional yang menentukan bagaimana nilai komputasi digunakan dalam ekspresi ORDER BY. Jika true, maka brute force digunakan. Nilai false menggunakan indeks apa pun yang ditentukan pada properti vektor, jika ada. Nilai defaultnya adalah false.
obj_expr Objek berformat JSON opsional yang digunakan untuk menentukan opsi untuk perhitungan jarak vektor. Item yang valid meliputi distanceFunction, , dataTypedan searchListSizeMultiplier, quantizedVectorListMultiplier, dan filterPriority.

Opsi (opsional)

Harta benda Tipe Description
distanceFunction string Fungsi jarak mengesampingkan (Cosine, DotProduct, Euclidean)
dataType string Penimpaan jenis data (Float32, Float16, Int8, Uint8)
searchListSizeMultiplier nomor/angka Pengali untuk ukuran daftar pencarian DiskANN. Meningkatkan ini dapat meningkatkan pengenalan dengan mengorbankan latensi/RU. Contoh: 5, 10, 20
quantizedVectorListMultiplier nomor/angka Pengali untuk daftar kandidat vektor terukur. Meningkatkan ini dapat meningkatkan pengenalan dengan mengorbankan latensi/RU. Contoh: 5, 10, 20
filterPriority nomor/angka Berat prioritas untuk filter kueri dalam klausa WHERE vs. pencarian vektor di DiskANN. Contoh: 0.0, 0.1, 0.5, 1.0

Tipe pengembalian

Mengembalikan ekspresi numerik yang menghitung skor kesamaan antara dua ekspresi.

Examples

Bagian ini berisi contoh cara menggunakan konstruksi bahasa kueri ini.

Dalam contoh ini, VECTORDISTANCE fungsi digunakan untuk mengembalikan skor kesamaan antara vektor dokumen dan vektor kueri, sambil mengurutkan berdasarkan skor kesamaan.

SELECT c.id, c.name, VECTORDISTANCE(c.vector, [1,2,3]) AS SimilarityScore 
FROM c
ORDER BY VECTORDISTANCE(c.vector, [1,2,3])
[
  {
    "name": "document1",
    "SimilarityScore": 0.8923471786
  },
  {
    "name": "document2",
    "SimilarityScore": 0.7492739573
  }
]

Dalam contoh ini, fungsi VECTORDISTANCE digunakan untuk mengurutkan berdasarkan skor kesamaan. Parameter opsional disediakan untuk mengambil dataTypealih , tentukan yang lebih besar searchListSizeMultiplier, dan tentukan filterPriority pada klausa 'WHERE.

SELECT c.id, c.name
FROM c
WHERE c.Date >= "2025-09-30"
ORDER BY VectorDistance(c.embedding, [1, 2, 3], false, {dataType:'Float32', quantizedVectorListMultiplier:10, filterPriority: 0.75})

Komentar

  • Jika array multidimensi disediakan untuk vector_expr_1 atau vector_expr_2, fungsi tidak mengembalikan SimilarityScore nilai dan tidak mengembalikan kesalahan.