Funkcja vector_search
Dotyczy: Databricks SQL
Ważne
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
Funkcja vector_search()
umożliwia wykonywanie zapytań względem indeksu wyszukiwania wektorów mozaiki sztucznej inteligencji przy użyciu języka SQL.
Wymagania
- Ta funkcja nie jest dostępna w klasycznych magazynach SQL.
- Aby uzyskać więcej informacji, zobacz stronę cennika usługi Databricks SQL.
- Ta funkcja jest dostępna w regionach, w których jest obsługiwane wyszukiwanie wektorów mozaiki sztucznej inteligencji.
Składnia
vector_search(index, query, num_results)
Argumenty
Wszystkie argumenty muszą być przekazywane według nazwy, na przykład vector_search(index => indexName, query => queryText)
.
index
: stała, w pełni kwalifikowanaSTRING
nazwa istniejącego indeksu wyszukiwania wektorów w tym samym obszarze roboczym dla wywołań. Definiowanie musi mieć uprawnienie "Wybierz" w indeksie.query
STRING
: wyrażenie, ciąg do wyszukania w indeksie.num_results
(opcjonalnie): stała całkowita, maksymalna liczba rekordów do zwrócenia. Wartość domyślna to 10.
Zwraca
Tabela najważniejszych pasujących rekordów z indeksu. Wszystkie kolumny indeksu są uwzględniane.
Przykłady
Wyszukaj indeks jednostek SKU produktu, aby znaleźć podobne produkty według nazwy.
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => "iphone", num_results => 2)
ID | Nazwa produktu |
---|---|
10 | iPhone |
20 | iPhone SE |
Poniższy przykład wyszukuje wiele terminów jednocześnie przy użyciu podzapytania 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 |
piksel 8 | 2 | 30 | Piksel 8 |
piksel 8 | 2 | 40 | Piksel 8a |
Ograniczenia
W wersji zapoznawczej obowiązują następujące ograniczenia:
- Wykonywanie zapytań dotyczących typów indeksów
DIRECT_ACCESS
nie jest obsługiwane. - Indeksy z programem
embedding_vector_columns
nie są obsługiwane. - Parametry
filters_json
wejściowe lubcolumns
nie są obsługiwane. - Wyszukiwanie wektorowe z
num_results
większa niż 100 nie jest obsługiwane. - Użytkownicy, którzy nie mają dostępu do odczytu do tabeli źródłowej, nie mogą używać polecenia
vector_search()
. vector_search
nie można używać z punktami końcowymi obsługującymi model przy użyciu interfejsów API modelu foundation aprowizowanej przepływności.