向量搜索的局限性及未来发展

102 阅读11分钟

向量数据库在全文搜索、结构化数据集成、排序、实时推理和多模态RAG方面存在局限性,影响了AI应用的精度和效率。为突破这些瓶颈,需要更具表达力的基础,下一代检索和推理将探索张量的应用。

译自:Vector Search Is Reaching Its Limit. Here’s What Comes Next

作者:Bonnie Chase

这是分为两部分的第一部分。

向量数据库是许多现代AI系统的基础组件,通过近似最近邻(ANN)搜索等技术实现快速且可扩展的检索,从而根据相似性呈现信息。但随着检索增强生成(RAG)应用程序的发展,它们越来越需要更丰富的数据表示,以捕捉模态内部和跨模态(如文本、图像和视频)的关系。

随着这种复杂性的增长,基本向量表示的局限性正变得越来越难以忽视:

  1. 缺乏全文搜索能力: 大多数向量数据库无法匹配精确短语、布尔逻辑或关键字表达式,导致结果不精确或不完整。
  2. 与结构化数据和业务逻辑的集成度较弱: 大多数向量数据库难以将非结构化内容与过滤器、规则或元数据(如价格、日期或类别)相结合。
  3. 缺乏对自定义排序的支持: 在许多系统中,通过业务规则或机器学习模型来调整与您的领域相关的相关性评分可能很困难或不可能。
  4. 没有内置的机器学习推理: 外部重排序器或分类器会引入延迟、复杂性和故障点。
  5. 脆弱的实时更新管道: 许多设置需要笨拙的解决方法来保持索引的新鲜度,从而减慢了响应时间。

在需要个性化、混合相关性评分、实时响应能力和多模态理解的应用程序中,这些限制尤其成问题。让我们深入研究这些挑战中的每一个。

1:缺乏全文搜索能力

尽管向量数据库在语义相似性方面具有优势,但在全文搜索方面却存在不足。它们缺乏对关键功能的原生支持,如精确短语匹配、布尔逻辑、邻近搜索和高级语言处理。这会在检索中造成盲点,尤其是在用户需要精确度、关键词定位或短语级控制时。

考虑一个用户在文档门户中搜索“OAuth 1.5 token refresh”,或者一个法律研究员查询“force majeure”AND“(pandemic OR epidemic)”。一个纯粹基于向量的系统可能会返回松散相关的内容,但如果没有匹配精确术语或解释布尔表达式的能力,结果可能过于模糊、不完整或偏离主题而无法信任。

一些向量数据库试图通过添加关键词搜索作为外部插件或二级索引来弥补这一差距。但是,在向量原生核心之上分层全文检索会引入权衡:查询必须在两个引擎之间拆分,结果以启发式方式合并,并且评分逻辑在数据库外部管理。这使得排序不一致,限制了优化并增加了基础设施开销。

2:对结构化数据和基于规则的过滤的支持有限

虽然许多向量数据库支持基本过滤,但很少有数据库可以在相似性搜索之外执行复杂的基于规则的过滤。它们通常缺乏表达性查询语言或将结构化元数据(如价格、可用性或产品类别)与基于向量的结果连接起来的能力。这种脱节可能导致语义上相关但商业上不相关的结果,这会损害用户信任和转化率。

考虑以下示例:一位购物者在电子商务网站上搜索“200美元以下的无线降噪耳机”。向量数据库可能会返回与“无线”和“降噪”的一般概念相匹配的产品,但如果没有应用结构化过滤器(如价格阈值、库存状态或排除翻新模型)的能力,结果可能包括昂贵或不可用的商品。系统已经很接近了,但还不够。这些近似的体验在技术上是相关的,但未能满足用户意图,并且随着时间的推移,它们会削弱对搜索体验和品牌的信心。

3:僵化的、一刀切的排序

在实际应用中,相关性通常取决于比相似性更多的因素。开发人员通常需要可以考虑业务规则、个性化、新鲜度等的混合评分逻辑。然而,大多数向量数据库仅限于静态相似性函数,在使排序逻辑适应现实世界方面几乎没有灵活性。

以新闻应用程序为例。用户搜索“AI breakthroughs”。基于向量的搜索可能会检索到语义上相关的文章,但它们可能来自六个月前。在实践中,最有价值的结果可能是最近发表的文章,即使它的语义对齐度稍差。如果添加另一层,比如用户经常阅读科技政策文章,那么理想的结果也应该反映出这种个人兴趣。

这种上下文感知的排序需要将语义相似性与结构化信号(如发布日期、主题类别和用户行为)相结合。但是,大多数向量数据库无法原生支持这种程度的控制。它们缺乏用户定义的排序表达式,并且通常不支持动态评分调整或数据库内机器学习模型。

因此,排序与检索脱钩,迫使开发人员实施脆弱的外部重排序管道。这些管道在排序深度(评估足够多的候选对象以确保高质量的结果)或请求负载(有效地处理并发用户)方面都无法扩展。结果导致响应速度变慢、相关性减弱,并且在最重要的时候个性化受到限制。

4:外部推理增加延迟和脆弱性

现代AI应用程序越来越依赖于实时推理:动态生成嵌入、在索引期间执行情感分析或根据用户上下文调整结果。然而,大多数向量数据库无法原生执行这些步骤。

考虑一家主要航空公司的客户支持聊天机器人。当用户输入“我的航班延误了,我错过了转机。我有哪些选择?”时,系统必须迅速采取行动:

  • 为用户的消息生成嵌入。
  • 检索相关的政策、常见问题解答或之前的互动。
  • 可能运行情感分析以检测挫败感或紧迫性,并相应地确定优先级。

如果底层系统缺乏数据库内推理,则每个步骤都必须依赖外部模型服务,从而引入额外的往返、网络延迟和潜在的故障点。虽然这在批量工作流程中可能是可管理的,但在实时应用程序中,每一毫秒都很重要,这会成为严重的瓶颈。

这些外部依赖项会降低响应时间,降低用户体验并使基础设施复杂化。相比之下,支持检索引擎内部原生推理的平台可以简化整个管道——减少延迟、消除脆弱性并以更快的速度实现更智能的响应。

5:面向批处理的索引导致结果过时

大多数向量原生系统的设计都考虑了批处理,而不是连续的实时摄取。因此,它们通常难以跟上高频更新或流式数据,从而导致结果过时、滞后或不一致。

以流媒体平台上的个性化推荐引擎为例。当用户观看新节目、跳过其他节目或将标题添加到他们的观看列表时,系统应立即适应,实时显示最相关的建议。但是,如果底层向量数据库依赖于计划的批处理更新,则这些行为信号可能需要几分钟甚至几小时才能注册。

这意味着刚刚狂看了三部惊悚片的用户仍然可能会收到浪漫喜剧的推荐。这种体验感觉脱节,打破了个性化的幻想。在欺诈检测或内容审核等更关键的用例中,延迟更新可能更为严重,允许恶意活动或有害内容在系统赶上之前溜走。

在这些环境中,实时摄取和索引至关重要。无论您是优化参与度、保护用户还是确保最新的相关性,即时集成新鲜数据的能力对于高风险、动态应用程序中的信任、响应能力和安全性都至关重要。

多模态RAG中向量搜索的盲点

将多模态数据转换为向量可以简化处理,但这种简单性是有代价的:您会丢失定义模态内部和跨模态含义的结构和上下文关系。让我们探讨一下这如何影响不同的数据类型。

图像:空间上下文消失

向量数据库消除了空间布局。但在视觉搜索或内容审核等任务中,仅仅检测图像中出现的内容是不够的;您还需要知道它的位置。

例如,产品植入中显示的徽标与出现在暴力或有争议内容旁边的同一徽标截然不同。在放射学中,AI模型需要了解异常发生的位置才能做出更准确的诊断。自动驾驶系统中的对象检测在很大程度上取决于对象相对于车辆的位置。知道背景中有一个行人与检测到车辆路径中的行人是不同的。

如果没有空间结构,模型可能会出现误报、遗漏违规行为和合规性问题。

文本:精确度被稀释

向量表示通常会模糊语言中细微的差异。当向量搜索仅关注语义相似性时,它可能会检索到听起来正确但不正确的文档。

例如,搜索“OAuth setup”的用户可能会被定向到v2.0说明,即使客户正在运行v1.5*。* 向量搜索可能会忽略“仅适用于1.5版本”等细微线索,从而导致浪费时间和错误配置。在信贷政策或监管文件中,“15天后收取滞纳金”与“15天后可能收取滞纳金”截然不同。如果检索系统遗漏了这种细微差别,可能会导致不正确的风险评估或误导性的客户指导。

向量搜索可能会检索到主题相关的文档,但仍然会遗漏最重要的文档。如果没有细粒度的结构或短语级的精度,搜索结果在法律上或操作上可能不可靠。

视频:时间在翻译中丢失

将整个视频压缩成单个向量会折叠时间。用户希望精确定位特定时刻,无论是产品演示、教程步骤还是关键场景。但是,平面向量无法捕获时间结构。这使得生成相关推荐、提取亮点或支持精确的搜索和跳转功能变得更加困难,从而降低了参与度和实用性。

例如,媒体公司需要验证特定广告何时投放,或者有争议的内容是否在受保护的时间段内播出。如果没有时间感知的索引,自动化系统将无法有效地支持审计或标记违规行为。在《办公室》中搜索“德怀特最有趣的时刻”或在幻想系列中搜索“与红龙的战斗场景”的用户希望直接跳到这些时刻,而不是滚动浏览整个剧集。

无论是产品演示、培训步骤还是关键事件,时间粒度都会在平面嵌入中丢失。结果是模糊的检索、笨拙的推荐和糟糕的用户体验。

结论:向量是不够的——接下来会发生什么

正如我们所看到的,传统的向量搜索难以满足当今企业级AI应用程序的实际需求。从脆弱的排序管道和过时的数据,到结构化、文本和多模态检索中的盲点,这些限制都清楚地表明:仅靠向量是不够的。要超越基本的相关性并提供精确、上下文感知和实时的结果,我们需要一个更具表现力的基础。

在第2部分中,我们将探讨张量如何解锁下一代检索和推理。