Este documento fornece conselhos para solucionar problemas com a Vector Search do MongoDB . Para obter assistência direta com problemas do MongoDB Vector Search, você pode iniciar uma discussão nas comunidades do MongoDB no Reddit ou Stack Overflow, ou entre em contato com o suporte.
Não é possível usar o $vectorSearch
estágio no cluster
Para usar o estágio do pipeline $vectorSearch
para consultar seu cluster, seu cluster deve executar o MongoDB 7.0.2+. Se você invocar $vectorSearch
em uma versão incompatível do MongoDB, poderá ver o seguinte erro:
OperationFailure: $vectorSearch is not allowed with the current configuration. You may need to enable the corresponding feature flag.
Para verificar a versão do MongoDB do seu cluster:
No Atlas, VáGo para a Clusters página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto 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.
Na barra lateral, clique em Clusters sob o título Database.
A página Clusters é exibida.
Localize o painel de informações do cluster em que você deseja usar o $vectorSearch
.
Consulte o número Version na seção inferior do painel de informações.
Se o cluster executar uma versão do MongoDB anterior a 6.0.11 ou 7.0.2, você deve atualizar a versão MongoDB do cluster.
Queries lentas
Para obter recomendações sobre como melhorar o desempenho da query, consulte Benchmark for MongoDB Vector Search.
$vectorSearch
não retorna resultados
Se $vectorSearch
queries não retornarem resultados, execute as seguintes ações:
Certifique-se de que está a utilizar o mesmo modelo de incorporação para os seus dados e para a sua query. Se você incorporar sua query usando um modelo diferente do que usa para incorporar seus dados,
$vectorSearch
não conseguirá identificar as correspondências.Certifique-se de que sua Vector Search do MongoDB tenha terminado de ser construída. Quando você cria ou atualiza um índice do MongoDB Vector Search, o índice do índice está em um estado de sincronização inicial. Quando terminar de ser criado, você poderá começar a consultar os dados em sua coleção.
Error during document retrieval
ao usar filtragem com LangChain
Ao usar o LangChain para executar o RAG com pré-filtragem, você pode encontrar o seguinte erro:
Error during the document retrieval or generation process: MongoServerError: PlanExecutor error during aggregation :: caused by :: Path 'field' needs to be indexed as token
Se houver um índice field
no, certifique-se de ter criado esse índice como um índice do MongoDB Vector Search , e não um índice do MongoDB Search. Se não field
existirnenhum índice em, crie um. Para saber mais sobre a implementação do RAG com o MongoDB Vector Search e o LangChain, consulte Responder a perguntas sobre seus dados.
Command not found
ao criar o índice do MongoDB Vector Search
Ao tentar criar um índice do MongoDB Vector Search programaticamente, você pode encontrar um erro Command not found
. Esse erro ocorre por um dos dois motivos:
Você executa o comando em um cluster executando uma versão do MongoDB anterior a 6.0.11 ou 7.0.2. Nesse caso, você deve atualizar a versão do MongoDB do cluster para habilitar a Vector Search do MongoDB para o cluster.
Você executa o comando em um cluster de camada grátis do
M0
. Nesse caso, desde que o cluster esteja executando uma versão compatível do MongoDB, você pode criar um índice do MongoDB Vector Search com a UI do Atlas.
Não foi possível filtrar em um determinado campo
Atualmente, a Vector Search do MongoDB suporta filtragem apenas em campos com valores booleanos, data, número, ObjectId, string e UUID. Para saber mais, consulte Sobre o tipo filter
.