Megosztás a következőn keresztül:


VectorDistance (NoSQL-lekérdezés)

A KÖVETKEZŐRE VONATKOZIK: NoSQL

Két megadott vektor közötti hasonlósági pontszámot adja vissza.

Syntax

VectorDistance(<vector_expr1>, <vector_expr2>, [<bool_expr>], [<obj_expr>])  

Argumentumok

Leírás
spatial_expr_1 Egy vagy kisebb tömb float32 .
spatial_expr_2 Egy vagy kisebb tömb float32 .
bool_expr Logikai érték, amely megadja, hogyan használja a számított értéket egy ORDER BY kifejezésben. Ha true, akkor találgatásos erőt használ. Egy érték false a vektortulajdonságon definiált indexeket használja, ha létezik. Az alapértelmezett érték false.
obj_expr Egy JSON formátumú objektumkonstans, amely a vektorok távolságának kiszámítására szolgáló beállítások megadására szolgál. Az érvényes elemek közé tartozik az distanceFunction és dataTypea .
distanceFunction A távolság/hasonlóság kiszámításához használt metrika.
dataType A vektorok adattípusa. float32, int8értékek uint8 . Az alapértelmezett érték float32.

Támogatott metrikák a következőkhöz distanceFunction :

  • cosine, amely a (legkevésbé hasonló) és a (leginkább hasonló) +1 értékekből -1 áll.
  • dotproduct, amely () (legkevésbé hasonló) +∞ és -∞-inf() (+infleginkább hasonló) értékekkel rendelkezik.
  • euclidean, amely a (leginkább hasonló) és a (+inflegkevésbé hasonló) +∞ értékekből 0 áll.

Visszatérési típusok

Olyan numerikus kifejezést ad vissza, amely számba adja a két kifejezés közötti hasonlósági pontszámot.

Példák

Ez az első példa csak a szükséges argumentumokat tartalmazza.

SELECT VALUE {
  name: s.name, 
  similarityScore: VectorDistance(s.vector1, s.vector2)
}
FROM 
  source s
ORDER BY 
  VectorDistance(s.vector1, s.vector2)

Ez a következő példa opcionális argumentumokat is tartalmaz.

SELECT VALUE {
  name: s.name, 
  similarityScore: VectorDistance(s.vector1, s.vector2, true, {'distanceFunction':'cosine', 'dataType':'float32',})
}
FROM 
  source s
ORDER BY 
  VectorDistance(s.vector1, s.vector2)

Megjegyzések

  • Ez a függvény regisztrációt igényel az Azure Cosmos DB NoSQL Vector Search előzetes verziójában.
  • Ez a függvény a vektorindex előnyeiből származik
  • ha false nem kötelező bool_expr, akkor az útvonalon definiált vektorindex lesz használatban, ha létezik ilyen. Ha nincs definiálva index a vektorútvonalon, akkor ez a függvény teljes vizsgálatra áll vissza, és magasabb ru-díjakat és nagyobb késést eredményez, mint ha vektorindexet használ.
  • Ha VectorDistance egy ORDER BY záradékban használják, nincs szükség irány megadására, ORDER BY mivel az eredmények mindig a leginkább hasonló (első) és a legkevésbé hasonló (utolsó) sorrendbe vannak rendezve a használt hasonlósági metrika alapján.
  • Az eredmény hasonlósági pontszámként van kifejezve.