Condividi tramite


Funzione vector_search

Si applica a: segno di spunta sì Databricks SQL

Importante

Questa funzionalità è disponibile in anteprima pubblica.

La funzione vector_search() consente di eseguire query su un indice di Mosaic AI Vector Search usando SQL.

Requisiti

Sintassi

vector_search(index, query, num_results)

Argomenti

Tutti gli argomenti devono essere passati per nome, ad esempio vector_search(index => indexName, query => queryText).

  • index: una costante STRING, il nome completo di un indice di ricerca vettoriale esistente nella stessa area di lavoro per le chiamate. Il definer deve avere l'autorizzazione "Select" per l'indice.
  • query: un’espressione STRING, la stringa da cercare nell'indice.
  • num_results (facoltativo): una costante intera, numero massimo di voci da restituire. L’impostazione predefinita è 10.

Valori restituiti

Tabella delle voci corrispondenti principali dell'indice. Sono incluse tutte le colonne dell'indice.

Esempi

Cercare un indice di SKU di prodotto per trovare prodotti simili in base al nome.


SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => "iphone", num_results => 2)
ID Nome prodotto
10 iPhone
20 iPhone SE

Nell'esempio seguente, vengono cercati più termini contemporaneamente usando una sottoquery LATERAL.


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

Limiti

Durante l'anteprima, si applicano le limitazioni seguenti:

  • I tipi di indice DIRECT_ACCESS di query non sono supportati.
  • Gli indici con embedding_vector_columns non sono supportati.
  • Parametri di input filters_json o columns non supportati.
  • La ricerca vettoriale con num_results maggiore di 100 non è supportata.
  • Gli utenti che non dispongono dell'accesso in lettura alla tabella di origine non possono usare vector_search().
  • vector_search non può essere usato con gli endpoint di gestione del modello usando la velocità effettiva con provisioning delle API Modello di base.