Este início rápido descreve como carregar documentos de amostra que contêm embeddings vetoriais em um cluster do Atlas ou em uma implantação local do Atlas, criar um índice do Atlas Vector Search nesses embeddings e, em seguida, realizar uma pesquisa semântica para retornar documentos semelhantes à sua query.
Tempo necessário: 15 minutos
Objetivos
Neste início rápido, você conclui as seguintes etapas:
Crie uma definição de índice para a coleção
sample_mflix.embedded_movies
que indexa o campoplot_embedding_voyage_3_large
como o tipovector
. O campoplot_embedding_voyage_3_large
contém incorporações criadas usando o modelo de incorporaçãovoyage-3-large
da Voyage AI. A definição de índice especifica2048
dimensões vetoriais e mede a similaridade usandodotProduct
.Execute uma consulta do Atlas Vector Search que pesquisa a
sample_mflix.embedded_movies
coleção de amostras. A consulta usa o$vectorSearch
estágio para pesquisar oplot_embedding_voyage_3_large
campo , que contém incorporações criadas usando o modelo de incorporação da Voyagevoyage-3-large
AI. A consulta pesquisa oplot_embedding_voyage_3_large
campo usando incorporações vetoriais para a viagem no tempo de cadeia de caracteres. Considera até150
vizinhos mais próximos e retorna10
documentos nos resultados.
Para saber mais, consulte Resumo do aprendizado.
Resumo do aprendizado
Este início rápido se concentrou na obtenção de documentos do cluster do Atlas que contêm texto semanticamente relacionado a uma query fornecida. No entanto, você pode criar um índice de pesquisa vetorial em incorporações que representam qualquer tipo de dados que você possa gravar em um cluster do Atlas, como imagens ou vídeos.
Dados de amostra
Este início rápido usa a coleção sample_mflix.embedded_movies
que contém detalhes sobre filmes. Em cada documento da coleção, o campo plot_embedding_voyage_3_large
contém uma incorporação de vetor que representa a string no campo plot
. Para obter mais informações sobre o esquema dos documentos na coleção, consulte Exemplo de conjunto de dados Mflix.
Ao armazenar seus dados de origem e os embeddings vetoriais correspondentes no mesmo documento, você pode aproveitar os dois campos para queries complexas ou pesquisas híbridas. Você pode até mesmo armazenar embeddings vetoriais gerados a partir de diferentes modelos de embedding no mesmo documento para otimizar seu fluxo de trabalho enquanto testa o desempenho de diferentes modelos de embedding vetorial para seu caso de uso específico.
incorporações de vetor
As incorporações de vetor na sample_mflix.embedded_movies
coleção e na consulta de exemplo foram criadas utilizando o voyage-3-large
modelo de incorporação da Voyage AI. Sua escolha de modelo de incorporação informa as dimensões vetoriais e a função de similaridade vetorial que você usa em seu índice de pesquisa vetorial . Você pode usar qualquer modelo de incorporação de sua preferência e vale a pena experimentar modelos diferentes, pois a precisão pode variar de modelo para modelo, dependendo do seu caso de uso específico.
Para aprender a criar incorporações vetoriais dos seus próprios dados, consulte Como criar incorporações vetoriais.
Definição de índice vetorial
Um índice é uma estrutura de dados que contém um subconjunto de dados dos documentos de uma coleção que melhora o desempenho do banco de dados para queries específicas. Um índice de pesquisa vetorial aponta para os campos que contêm suas incorporações vetoriais e inclui as dimensões de seus vetores, bem como a função usada para medir a similaridade entre vetores de queries e vetores armazenados no banco de dados.
Como o modelo de incorporação voyage-3-large
usado neste início rápido converte dados em incorporações vetoriais com dimensões 2048 e é compatível com a função cosine
, esse índice de pesquisa de vetor especifica o mesmo número de dimensões vetoriais e função de similaridade.
Consulta de pesquisa vetorial
A consulta executada neste início rápido é um pipeline de agregação, no qual o estágio $vectorSearch
executa uma pesquisa aproximada de vizinho mais próximo (ANN) seguida por um estágio $project
que refina os resultados. Para ver todas as opções para uma query de pesquisa vetorial , incluindo o uso do vizinho mais próximo exato (ENN) ou como estreitar o escopo da sua pesquisa vetorial com a opção filter
, consulte Executar queries de Vector Search .
Próximos passos
Para saber como criar incorporações a partir de dados e carregá-las no Atlas, consulte Criar incorporações.
Para saber como implementar a geração aumentada de recuperação (RAG), consulte Geração aumentada de recuperação (RAG) com o Atlas Vector Search.
Para integrar o Atlas Vector Search com estruturas e serviços populares de IA, consulte Integrar o MongoDB Atlas com tecnologias de IA.
Para criar chatbots de IA prontos para produção usando o Atlas Vector Search, consulte a estrutura do MongoDB chatbot.
Para saber como implementar RAG sem a necessidade de chaves ou créditos de API, consulte Criar uma implementação local de RAG com o Atlas Vector Search.