Como realizar semantic search nos dados do cluster do Atlas
Nesta página
Este tutorial descreve como executar uma pesquisar deANN em um vetor no campo plot_embeddings
na collection sample_mflix.embedded_movies
no seu Atlas cluster. Para demonstrar isso, ele conduz você pelas seguintes etapas:
Crie um índice do Atlas Vector Search no campo numérico chamado
plot_embeddings
na coleçãosample_mflix.embedded_movies
.Execute queries do Atlas Vector Search no campo
plot_embeddings
na coleçãosample_mflix.embedded_movies
.
Pré-requisitos
Para concluir este tutorial, você deve ter o seguinte:
Um cluster do Atlas com MongoDB versão 6.0.11, ou v7.0.2 ou posterior (incluindo RCs).
Os dados de amostra carregados no seu Atlas cluster.
Um dos seguintes aplicativos para executar consultas no seu Atlas Cluster:
Você também pode utilizar a Pesquisa de Vetor do Atlas com implementações locais do Atlas que você cria com o Atlas CLI. Para saber mais, consulte Criar uma implantação de Atlas local.
Criar o índice Atlas Vector Search Index
Esta seção demonstra como criar um Atlas Vector Search no campo plot_embeddings
na collection sample_mflix.embedded_movies
para executar query no campo.
Acesso necessário
Para criar um índice do Atlas Vector Search, você deve ter acesso do Project Data Access Admin
ou superior ao projeto.
Procedimento
No Atlas, acesse a página Clusters do seu projeto.
Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Se a página Clusters ainda não estiver exibida, clique em Database na barra lateral.
Defina o índice do Atlas Vector Search.
Clique em Create Search Index.
Em Atlas Vector Search, selecione JSON Editor e clique em Next.
Na seção Database and Collection, localize o banco de dados
sample_mflix
e selecione a coleçãoembedded_movies
.No campo Index Name, digite
vector-search-tutorial
.Substitua a definição padrão pela seguinte definição de índice e clique em Next.
Defina o índice do Atlas Vector Search.
Substitua a definição padrão pela seguinte definição de índice.
Esta definição de índice especifica a indexação dos seguintes campos em um índice do tipo vectorSearch :
plot_embedding
campo como o tipo de vetor . O campoplot_embedding
contém incorporações criadas utilizando o modelo de incorporaçãotext-embedding-ada-002
do OpenAI. A definição de índice especifica1536
dimensões vetoriais e mede a similaridade usandoeuclidean
.genres
campo como o tipo de filtro para pré-filtrar dados por valores de cadeia de caracteres no campo.year
campo como o tipo de filtro para pré-filtrar dados por valores numéricos no campo.
1 { 2 "fields": [ 3 { 4 "type": "vector", 5 "path": "plot_embedding", 6 "numDimensions": 1536, 7 "similarity": "euclidean" 8 }, 9 { 10 "type": "filter", 11 "path": "genres" 12 }, 13 { 14 "type": "filter", 15 "path": "year" 16 } 17 ] 18 }
Execute queries usando o estágio de pipeline de agregação $vectorSearch
➤ Use o menu suspenso Selecione seu idioma para selecionar o cliente a ser usado para executar as consultas de exemplo nesta seção.
Visão geral
Esta seção demonstra como consultar os dados de vetores indexados na sample_mflix.embedded_movies
coleta usando $vectorSearch
o estágio . Essas consultas de amostra também demonstram os vários operadores de pipeline de agregação e consulta de comparação que podemos usar na consulta para pré-filtrar os dados nos quais realizamos a pesquisa semântica.