Função vector_search
Aplica-se a: SQL do Databricks
Importante
Esse recurso está em uma versão prévia.
A função vector_search()
permite que você consulte um índice do Mosaic AI Vector Search usando SQL.
Requisitos
- Essa função não está disponível em warehouses SQL clássicos.
- Para saber mais, consulte a página de preços do Databricks SQL.
- Esta função está disponível em regiões onde o Mosaic AI Vector Search tem suporte.
Sintaxe
vector_search(index, query, num_results)
Argumentos
Todos os argumentos devem ser transmitidos por nome, como vector_search(index => indexName, query => queryText)
.
index
: uma constanteSTRING
, o nome totalmente qualificado de um índice de busca em vetores atual no mesmo workspace para invocações. O definidor deve ter a permissão “Selecionar” no índice.query
: uma expressãoSTRING
, a cadeia de caracteres a ser pesquisada no índice.num_results
(opcional): uma constante inteira, o número máximo de registros a serem retornados. O valor padrão é 10.
Devoluções
Uma tabela dos principais registros correspondentes do índice. Todas as colunas do índice estão incluídas.
Exemplos
Pesquise produtos semelhantes por nome em um índice de SKUs de produtos.
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => "iphone", num_results => 2)
ID | Nome do produto |
---|---|
10 | iPhone |
20 | iPhone SE |
O exemplo a seguir pesquisa vários termos ao mesmo tempo usando uma subconsulta 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 |
Limitações
As seguintes limitações se aplicam durante a versão preliminar:
- Não há suporte para consultar tipos de índice
DIRECT_ACCESS
. - Não há suporte para índices com
embedding_vector_columns
. - Não há suporte para os parâmetros de entrada
filters_json
oucolumns
. - Não há suporte para a busca em vetores com
num_results
maior que 100. - Os usuários que não têm acesso de LEITURA à tabela de origem não podem usar
vector_search()
. vector_search
não pode ser usado com pontos de extremidade de serviço do modelo usando a taxa de transferência provisionada das APIs do Foundation Model.