Docs 菜单
Docs 主页
/
Atlas
/

故障排除

本文档提供有关解决MongoDB Vector Search 问题的建议。如需有关MongoDB Vector Search 问题的直接帮助,您可以在 RedditStack Overflow上的MongoDB社区上发起讨论,也可以联系支持。

要使用 $vectorSearch管道阶段查询集群,集群必须运行MongoDB 7.0.2+。如果您在不兼容的MongoDB版本上调用 $vectorSearch,则可能会看到以下错误:

OperationFailure: $vectorSearch is not allowed with the current
configuration. You may need to enable the corresponding feature
flag.

要检查集群的 MongoDB 版本,请执行以下操作:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 在侧边栏中,单击 Database 标题下的 Clusters

会显示集群页面。

2

找到要使用$vectorSearch的集群的信息窗格。

3

请查阅信息窗格底部的Version号码。

如果您的集群运行的是早于6.0.11或7.0.2的 MongoDB 版本, 您必须升级集群的 MongoDB 版本。

有关提高查询性能的建议,请参阅MongoDB Vector Search 基准。

如果 $vectorSearch 查询未返回结果,请执行以下操作:

  • 确保您对数据和查询使用相同的嵌入模型。 如果嵌入查询使用的模型与嵌入数据时使用的模型不同,则 $vectorSearch 无法识别匹配项。

  • 确保MongoDB Vector Search 已完成构建。创建或更新MongoDB Vector Search索引时,索引索引处于初始同步状态。构建完成后,您可以开始查询集合中的数据。

当您使用 LangChain 执行带预过滤的 RAG时,可能会遇到以下错误:

Error during the document retrieval or generation process:
MongoServerError: PlanExecutor error during aggregation :: caused
by :: Path 'field' needs to be indexed as token

如果field 上存在索引,请确保您已将此索引创建为MongoDB Vector Search索引,而不是MongoDB Search索引。如果field 上不存在索引,则创建一个。要学习;了解有关使用MongoDB Vector Search 和 LangChain 实施 RAG 的更多信息,请参阅回答有关数据的问题。

当您尝试以编程方式创建MongoDB Vector Search索引时,可能会遇到 Command not found 错误。出现此错误的原因有两个:

MongoDB Vector Search 目前仅支持对具有布尔值、日期、数字、ObjectId、字符串和 UUID 值的字段进行筛选。 要学习;了解更多信息,请参阅关于 filter 类型。

后退

AI 集成

在此页面上