Funzione vector_search
Si applica a: 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
- Questa funzione non è disponibile nei warehouse SQL classici.
- Per altre informazioni, vedere la pagina relativa ai prezzi di Databricks SQL.
- Questa funzione è disponibile nelle aree in cui la ricerca vettoriale di Mosaic AI è supportata.
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 costanteSTRING
, 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’espressioneSTRING
, 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
ocolumns
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.