Este documento proporciona consejos para solucionar problemas con MongoDB Vector Search. Para asistencia directa con problemas de MongoDB Vector Search, puedes iniciar una discusión en las comunidades de MongoDB en Reddito en Stack Overflow, o contacte con el servicio de asistencia.
No se puede usar el $vectorSearch etapa en el clúster
Para utilizar la etapa de la pipeline $vectorSearch para query tu clúster, este debe ejecutar MongoDB 7.0.2o superior. Si ejecutas $vectorSearch en una versión incompatible de MongoDB, es posible que veas el siguiente error:
OperationFailure: $vectorSearch is not allowed with the current configuration. You may need to enable the corresponding feature flag.
Para comprobar la versión de MongoDB de tu clúster:
En Atlas, ve a Clusters página para tu proyecto.
Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Clusters en la sección Database.
La página de clústeres se muestra.
Busca el panel de información del clúster en el que quieres usar $vectorSearch.
Consulta el número de Version en la sección inferior del panel de información.
Si su clúster ejecuta una versión de MongoDB anterior 6.0.11 a 7.0.2 o, debe actualizar la versión de MongoDB del clúster.
Consultas lentas
Para obtener recomendaciones sobre cómo mejorar el rendimiento de las consultas, consulte Benchmark para la búsqueda vectorial de MongoDB.
$vectorSearch no devuelve resultados
Si las $vectorSearch queries no devuelven resultados, realice las siguientes acciones:
Asegúrate de estar usando el mismo modelo de embedding tanto para tus datos como para tu query. Si incrustas tu query usando un modelo diferente al que usas para incrustar tus datos,
$vectorSearchno puede identificar coincidencias.Asegúrese de que su índice de MongoDB Vector Search haya finalizado su creación. Al crear o actualizar un índice de MongoDB Vector Search, este se encuentra en un estado de sincronización inicial. Una vez finalizada la creación, puede comenzar a consultar los datos de su colección.
Error during document retrieval al usar el filtrado con LangChain
Cuando uses LangChain para realizar RAG con prefiltrado, podrías encontrar el siguiente error:
Error during the document retrieval or generation process: MongoServerError: PlanExecutor error during aggregation :: caused by :: Path 'field' needs to be indexed as token
Si existe un índice field en, asegúrese de haberlo creado como un índice de MongoDB Vector Search, no como un índice de MongoDB Search. Si no field existeningún índice en, créelo. Para obtener más información sobre cómo implementar RAG con MongoDB Vector Search y LangChain, consulte la sección «Responder preguntas sobre sus datos».
Command not found al crear el índice de MongoDB Vector Search
Cuando intentes crear un índice de MongoDB Vector Search por medios programáticos, podrías encontrar un error Command not found. Este error ocurre por una de dos razones:
Ejecutas el comando en un clúster que ejecuta una versión de MongoDB anterior 6.0.11 a 7.0.2 o. En este caso, debes actualizar la versión de MongoDB del clúster para habilitar la búsqueda vectorial de MongoDB para dicho clúster.
Ejecutas el comando contra un clúster gratuito (antes conocido como
M0). En este caso, siempre que el clúster ejecute una versión compatible de MongoDB, puedes crear un índice de MongoDB Vector Search con la interfaz de usuario de Atlas.
No se puede filtrar en un campo dado
MongoDB Vector Search actualmente sólo admite filtros en campos con valores booleanos, de fecha, número, objectId, string y UUID. Para aprender más, consulta Acerca del tipo filter.