vector_search-Funktion

Gilt für: Häkchen 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

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: Eine STRING 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: Ein STRING 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 oder columns 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.