vector_search
-Funktion
Gilt für: Databricks SQL
Wichtig
Dieses Feature befindet sich in der Public Preview.
Mit der vector_search()
Funktion können Sie einen Mosaic-KI-Vektorsuchindex mithilfe von SQL abfragen.
Anforderungen
- Diese Funktion ist für klassische SQL-Lagerhäuser nicht verfügbar.
- Weitere Informationen finden Sie unter Databricks SQL-Preisliste.
- Diese Funktion ist in Regionen verfügbar, in denen die Mosaik KI-Vektorsuche unterstützt wird.
Syntax
vector_search(index, query, num_results)
Argumente
Alle Argumente müssen anhand des Namens übergeben werden, z. B.vector_search(index => indexName, query => queryText)
.
index
: EineSTRING
Konstante, der vollqualifizierte Name eines vorhandenen Vektorsuchindex im selben Arbeitsbereich für Aufrufe. Der Definer muss über die Berechtigung "Auswählen" für den Index verfügen.query
: EinSTRING
Ausdruck, die Zeichenfolge, nach der im Index gesucht werden soll.num_results
(optional): Eine ganze Zahl, die maximale Anzahl der zurückzugebenden Datensätze. Der Standardwert ist 10.
Gibt zurück
Eine Tabelle der obersten übereinstimmenden Datensätze aus dem Index. Alle Spalten des Indexes sind enthalten.
Beispiele
Suchen Sie nach einem Index von Produkt-SKUs, um ähnliche Produkte nach Namen zu finden.
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => "iphone", num_results => 2)
Kennung | Produktname |
---|---|
10 | iPhone |
20 | iPhone SE |
Im folgenden Beispiel wird mithilfe einer LATERAL-Unterabfrage gleichzeitig nach mehreren Begriffen gesucht.
SELECT
query_txt,
query_id,
search.*
FROM
query_table,
LATERAL(
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => query_txt, num_results => 2)
) as search
query_txt |
query_id | search.id | search.product_name |
---|---|---|---|
iphone | 1 | 10 | iPhone 10 |
iphone | 1 | 20 | iPhone SE |
pixel 8 | 2 | 30 | Pixel 8 |
pixel 8 | 2 | 40 | Pixel 8a |
Begrenzungen
Die folgenden Einschränkungen gelten während der Vorschau:
- Abfragen von
DIRECT_ACCESS
Indextypen werden nicht unterstützt. - Indizes mit
embedding_vector_columns
werden nicht unterstützt. - Eingabeparameter
filters_json
odercolumns
werden nicht unterstützt. - Die Vektorsuche mit
num_results
mehr als 100 wird nicht unterstützt. - Benutzer, die keinen READ-Zugriff auf die Quelltabelle haben, können
vector_search()
nicht verwenden. vector_search
kann nicht mit Model-Serving-Endpunkten verwendet werden, die Foundation Model APIs für den bereitgestellten Durchsatz verwenden.