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égioUSE CATALOGno catálogo, ou você tem o privilégioMANAGEno catálogo. - Para
USE SCHEMA: Ou todos os usuários account têm o privilégioUSE SCHEMAno esquema, ou você tem o privilégioMANAGEno esquema. - Para
SELECT: Ou todos os usuários account têm o privilégioSELECTno índice, ou você tem o privilégioMANAGEno í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.
-
Na seção Recursos do aplicativo, ao criar ou editar um aplicativo, clique em + Adicionar recurso > Índice de pesquisa vetorial .
-
Escolha o Índice de Pesquisa de AI dentre os índices disponíveis em seu workspace. O índice já deve existir no Unity Catalog.
-
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.
-
(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.
Í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:
env:
- name: VECTOR_SEARCH_INDEX
valueFrom: vector-search-index # Use your custom resource key if different
Utilizando o índice em sua aplicação:
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.