Resumo do aprendizado
Este início rápido focou na recuperação de documentos do seu cluster que contenham 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 escrever em seu cluster, 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 na collection, 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 Amostra 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 inserções vetoriais na coleção sample_mflix.embedded_movies e no exemplo de query foram criadas usando o modelo de inserção de voyage-3-large da Voyage AI. A escolha do modelo de incorporação informa as dimensões do vetor e a função de similaridade vetorial que você utiliza no índice de pesquisa vetorial. Você pode usar qualquer modelo de incorporação que desejar, e vale a pena experimentar modelos diferentes, pois a exatidão pode variar de modelo para modelo dependendo do caso de uso.
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 MongoDB.
Para integrar o MongoDB Vector Search a estruturas e serviços populares de IA, consulte Integrar o MongoDB a tecnologias de IA.
Para criar chatbots de IA prontos para produção usando o MongoDB Vector Search, consulte a Framework do MongoDB Chartbot.
Para saber como implementar o RAG sem a necessidade de chaves ou créditos de API, consulte Criar uma implementação local do RAG com a Vector Search do MongoDB.