Compartilhar via


Função vector_search

Aplica-se a:verificação marcada como sim 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

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 constante STRING, 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ão STRING, 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 ou columns.
  • 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.