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 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.
Localice el panel de información del clúster en el que desea utilizar $vectorSearch.
Consulte el número 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 recomendaciones sobre cómo mejorar el rendimiento de las consultas, consulta 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 búsqueda vectorial de MongoDB haya terminado de compilarse. Al crear o actualizar un índice de búsqueda vectorial de MongoDB, este se encuentra en un estado de sincronización inicial. Una vez compilado, puede empezar 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 en field, asegúrese de haber creado este índice como un índice de MongoDB Vector Search, no como un índice de MongoDB Search. Si no existe un índice en field, cree uno. Para obtener más información sobre cómo implementar RAG con MongoDB Vector Search y LangChain, consulta Responder preguntas sobre tus datos.
Command not found al crear el índice de búsqueda vectorial de MongoDB
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, debe actualizar la versión de MongoDB del clúster para habilitar MongoDB Vector Search para el clúster.
Ejecuta el comando en un clúster gratuito (anteriormente conocido
M0como). En este caso, siempre que el clúster ejecute una versión compatible de MongoDB, puedes crear un índice de búsqueda vectorial de MongoDB 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.