Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A
A következőkre vonatkozik: Databricks SQL
Fontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
A vector_search()
függvény lehetővé teszi a Mozaik AI Vector Search-index lekérdezését AZ SQL használatával.
Követelmények
- Ez a függvény nem érhető el a klasszikus SQL-raktárakban.
- További információt a Databricks SQL díjszabási oldalán talál.
- Ez a függvény régiókban érhető el, ahol a Mozaik AI Vector Search támogatott.
Szintaxis
A Databricks Runtime 15.3-ban és újabb verziókban query_text
vagy query_vector
megadhatja, hogy mit keressen az indexben.
SELECT * FROM vector_search(
index,
{ query_text | query_vector },
[ num_results ]
)
A Databricks Runtime 15.2-ben és korábbi verziókban a query
segítségével adhatja meg, hogy mit keressen az indexben.
SELECT * FROM vector_search(
index, query, num_results
)
Argumentumok
Minden argumentumot név szerint kell átadni, például vector_search(index => indexName, query_text => queryText)
.
-
index
: EgySTRING
állandó, a meglévő vektorkeresési index teljesen kvalifikált neve ugyanazon munkaterületen a meghívásokhoz. A definiálónak "Kiválasztás" engedéllyel kell rendelkeznie az indexen. - Az alábbiak egyikével adja meg az indexben keresni kívánt kifejezést:
- A Databricks Runtime 15.3 vagy frissebb verzióját használva keressen egy adott szövegsztringet a
query_text
beágyazási forrásoszlopában a segítségével. A lekérdezésnek egySTRING
kifejezésként kell megadnia a keresendő sztringet az indexben. - A Databricks Runtime 15.3 vagy újabb verziójával a
query_vector
segítségével kereshet egy adott vektort a Delta Sync Index beágyazási vektoroszlopában. Ez az argumentum szükséges a deltaszinkronizálási index ön által felügyelt vektorok használatával történő kereséséhez. A lekérdezésnek a beágyazási vektorARRAY<FLOAT>
vagyARRAY<DOUBLE>
vagyARRAY<DECIMAL(_, _)>
kifejezésének kell lennie az indexben való kereséshez. - A Databricks Runtime 15.2 vagy újabb verziójában a
query
használatával adja meg az indexben keresni kívánt sztringet.
- A Databricks Runtime 15.3 vagy frissebb verzióját használva keressen egy adott szövegsztringet a
-
num_results
(nem kötelező): Egész számállandó, a visszaadandó rekordok maximális száma. Alapértelmezés szerint 10.
Visszatérések
Az index legfelső egyező rekordjainak táblázata. A rendszer az index összes oszlopát tartalmazza.
Példák
Az alábbi szakaszok a különböző indexkeresésekhez tartozó SQL-lekérdezéseket mutatják be.
Szöveges lekérdezések az indexeken a forrásoszlopok beágyazásával
A hasonló termékek név szerinti kereséséhez keressen rá a termékváltozatok indexére. Az alábbi példa query_text
használ, amely csak a Databricks Runtime 15.3-ban és újabb verziókban támogatott. A Databricks Runtime 15.2-s és újabb verzióihoz használja a query
query_text
helyett.
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_text => "iphone", num_results => 2)
ID (Azonosító) | Terméknév |
---|---|
10 | iPhone |
20 | iPhone SE |
Az alábbi példa egyszerre keres több kifejezést egy LATERAL al-lekérdezés használatával.
SELECT
query_txt,
query_id,
search.*
FROM
query_table,
LATERAL(
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_text => query_txt, num_results => 2)
) as search
query_txt |
lekérdezés_azonosító | keresés.azonosító | keresés.terméknév |
---|---|---|---|
iphone | 1 | 10 | iPhone 10 |
iphone | 1 | 20 | iPhone SE |
képpont 8 | 2 | 30 | Pixel 8 |
képpont 8 | 2 | 40 | Pixel 8a |
Szöveges lekérdezések az indexeken a forrásoszlopok beágyazásával
Keresés képek indexében előre kiszámított beágyazásokkal, hogy beágyazás alapján találjon hasonló képeket. Az alábbi példa query_vector
használ, amely csak a Databricks Runtime 15.3-ban és újabb verziókban támogatott. A Databricks Runtime 15.2-s és újabb verzióihoz használja a query
query_vector
helyett.
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_vector => ARRAY(0.45, -0.35, 0.78, 0.22), num_results => 3)
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_vector => ARRAY(0.45F, -0.35F, 0.78F, 0.22F), num_results => 3)
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_vector => ARRAY(0.45D, -0.35D, 0.78D, 0.22D), num_results => 3)
azonosító | kép_név | képelemek beágyazása |
---|---|---|
28 | horse.jpg | [0.46, -0.34, 0.77, 0.21] |
27 | donkey.jpg | [0.44, -0.36, 0.79, 0.23] |
5 | elk.jpg | [0.23, -0.44, 0.77, 0.80] |
Az alábbi példa egyszerre keres több kifejezést egy LATERAL al-lekérdezés használatával.
SELECT
query_embedding,
search.*
FROM
query_table,
LATERAL(
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_vector => image_embedding, num_results => 1)
) as search
lekérdezés_beágyazás | search.id | keresés.képneve | képbeágyazás keresése |
---|---|---|---|
[0.45, -0.35, 0.78, 0.22] | 27 | donkey.jpg | [0.46, -0.34, 0.77, 0.21] |
[0.14, 0.29, 0.30, -0.90] | 3 | tájkép.jpg | [0.15, 0.30, 0.31, -0.91] |
[0.23, -0.44, 0.77, 0.80] | 10 | golden_gate_bridge.jpg | [0.28, -0.40, 0.23, 0.81] |
[0.88, 0.88, 0.88, 0.88] | 44 | blank.jpg | [0.88, 0.88, 0.88, 0.88] |
Korlátozások
Az előzetes verzióban a következő korlátozások érvényesek:
- Az indextípusok lekérdezése
DIRECT_ACCESS
nem támogatott. - A bemeneti paraméterek
filters_json
vagycolumns
nem támogatottak. - A
num_results
100-nál nagyobb vektorkeresés nem támogatott. -
vector_search
nem használható olyan végpontok esetén, amelyek foundation model API-k által kiosztott átviteli kapacitást használnak.