Pular para o conteúdo principal

Adicionar um recurso de Índice de Pesquisa de AI a um aplicativo Databricks

Adicionar Índices de Pesquisa de AI como recursos do Databricks Apps para habilitar a busca semântica e a recuperação baseada em similaridade em seus aplicativos. Os índices de AI Search armazenam e consultam incorporações vetoriais de alta dimensionalidade, possibilitando casos de uso como geração aumentada de recuperação (RAG), busca semântica e sistemas de recomendação.

Databricks AI Search era anteriormente conhecida como Databricks Vector Search.

Requisitos de privilégio​

Para acessar um índice do AI Search, a entidade de serviço do aplicativo deve ter o privilégio USE CATALOG no catálogo pai, o privilégio USE SCHEMA no esquema pai e o privilégio SELECT no índice. Ao adicionar o recurso de índice, a Databricks concede automaticamente estes privilégios à entidade de serviço do aplicativo.

Para que essa concessão automática seja bem-sucedida, uma das seguintes condições deve ser verdadeira para cada privilégio:

  • Para USE CATALOG: Ou todos os usuários account têm o privilégio USE CATALOG no catálogo, ou você tem o privilégio MANAGE no catálogo.
  • Para USE SCHEMA: Ou todos os usuários account têm o privilégio USE SCHEMA no esquema, ou você tem o privilégio MANAGE no esquema.
  • Para SELECT: Ou todos os usuários account têm o privilégio SELECT no índice, ou você tem o privilégio MANAGE no índice.

Para mais informações sobre como consultar índices de Pesquisa de AI com essas permissões, consulte Como consultar um Índice de Pesquisa de AI.

Consulte a referência de privilégiosUnity Catalog.

Adicionar um recurso de Índice de Pesquisa de AI​

Antes de adicionar um Índice de Pesquisa de AI como um recurso, revise os pré-requisitos de recursos do aplicativo.

  1. Na seção Recursos do aplicativo, ao criar ou editar um aplicativo, clique em + Adicionar recurso > Índice de pesquisa vetorial .

  2. Escolha o Índice de Pesquisa de AI dentre os índices disponíveis em seu workspace. O índice já deve existir no Unity Catalog.

  3. Selecione o nível de permissão para seu aplicativo:

    • Pode selecionar: Concede à aplicação permissão para consultar o Índice de Pesquisa de IA para pesquisas de similaridade. Corresponde ao privilégio SELECT.
  4. (Opcional) Especifique uma key de recurso personalizada, que é como você referencia o índice na configuração do seu aplicativo. A key default é vector-search-index.

nota

Índices de pesquisa de AI são tabelas do Unity Catalog com o tipo TABLE_ONLINE_VECTOR_INDEX_REPLICA ou TABLE_ONLINE_VECTOR_INDEX_DIRECT. Ao selecionar um Índice de Pesquisa de IA, seleciona-se uma tabela especialmente configurada que dá suporte a operações de pesquisa semântica.

variável de ambiente​

Quando você implanta um aplicativo com um recurso de índice de pesquisa de AI, o Databricks expõe o nome completo de três níveis por meio de variáveis de ambiente que você pode referenciar usando o campo valueFrom.

Configuração de exemplo:

YAML
env:
- name: VECTOR_SEARCH_INDEX
valueFrom: vector-search-index # Use your custom resource key if different

Utilizando o índice em sua aplicação:

Python
import os
from databricks.sdk import WorkspaceClient

# Access the AI Search index name
index_name = os.getenv("VECTOR_SEARCH_INDEX")

# Initialize workspace client
w = WorkspaceClient()

# Query the AI Search index
results = w.vector_search_indexes.query_index(
index_name=index_name,
query_text="What is machine learning?",
num_results=10
)

# Process results
for result in results.manifest.columns:
print(f"Result: {result}")

Para mais informações, veja Usar variável de ambiente para acessar recurso.

Remover um recurso de Índice de Pesquisa de AI​

Ao remover um recurso de índice do AI Search de um aplicativo, a entidade de serviço do aplicativo perde o acesso ao índice. O próprio índice permanece inalterado e continua disponível para outros usuários e aplicativos que tenham as permissões apropriadas.

Melhores práticas​

Considere o seguinte ao trabalhar com recursos do Índice de Pesquisa de IA:

  • Certifique-se de que a entidade de serviço do aplicativo tenha acesso à fonte de dados subjacente se o índice fizer referência a outras tabelas.
  • Monitore o desempenho das consultas e ajuste a configuração do índice ou os modelos de incorporação caso os tempos de resposta se degradem.
  • Considere um programa refresh de índice para manter os embeddings sincronizados com os dados de origem.
  • Utilize métricas de similaridade apropriadas (cosseno, euclidiana, produto escalar) com base no seu modelo de incorporação.