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 Reddit o Stack Overflow, o ponerse en contacto con soporte.
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 tu clúster ejecuta una versión de MongoDB anterior a 6.0.11 o 7.0.2, 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 la búsqueda vectorial de MongoDB haya terminado de construirse. Cuando crea o actualiza un índice de búsqueda vectorial de MongoDB, el índice se encuentra en sincronización inicial. Cuando se termine de construir, se podrá empezar a consultar los datos de tu 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 en field, asegúrate de que has creado este índice como un índice de búsqueda vectorial de MongoDB y no como un índice de MongoDB Search. Si no existe ningún índice en field, cree uno. Para obtener más información sobre la implementación de RAG con la Búsqueda Vectorial de MongoDB y LangChain, consulta Responde preguntas sobre tus 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 a 6.0.11 o 7.0.2. En este caso, debes actualizar la versión de MongoDB del clúster para habilitar la búsqueda vectorial de MongoDB en el 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.