Elasticsearch:向量数据库基础设施类别的兴衰

ops/2025/1/16 0:52:36/
aidu_pl">

过去几年,我一直在观察嵌入技术如何从大型科技公司的 “秘密武器” 转变为日常开发人员工具。接下来发生的事情 —— 向量数据库淘金热、RAG 炒作周期以及最终的修正 —— 教会了我们关于新技术如何在更广泛的生态系统中找到一席之地的宝贵经验。

更多有关向量搜索及结合传统搜索的混合搜索,请详细阅读 “Elastic AI 专栏”。

嵌入成为主流

曾经是科技巨头的领域,现在正成为各地开发人员的标准做法。十多年来,谷歌、Meta 和亚马逊等公司一直使用嵌入技术来大规模支持推荐系统和搜索功能。现在,开发人员可以通过预先训练的模型和改进的工具使用这些技术。

通过深度学习,我们可以将几乎任何类型的内容(文本、图像、视频、音频、代码)转换为向量表示,以捕获数据中的模式和关系。虽然这些技术在表示学习研究中有着深厚的根基,但如今革命性的是它们的可访问性。强大的预训练模型和直观的 API 将曾经复杂的研究转变为日常开发人员的实用工具。

这些嵌入使开发人员能够构建以前仅限于拥有大量研发预算的科技巨头的功能。嵌入生态系统在多个方面蓬勃发展。OpenAI、Cohere、Jina 和 Voyager 等商业提供商提供高质量的托管模型(主要是文本),而开源社区则提供了强大的替代方案,如 Sentence Transformers。HuggingFace 已成为共享和发现这些模型的事实平台,拥有数千种适用于不同语言、模态、领域和任务的嵌入模型。他们的转换器库和模型中心使尝试不同的嵌入方法变得轻而易举。

结果如何?曾经是大型科技公司高级 ML 团队专属领域的方法现在正被集成到日常应用程序中。无论是使用商业 API 还是开源模型,开发人员都可以选择最适合其成本、定制和部署要求的方法。以前难以有效搜索的内容(视频、播客记录、技术图表、科学论文)现在可以以更复杂(更有效)的检索系统的方式来呈现。

向量数据库的兴衰

基于嵌入的应用程序的激增带来了新的挑战:高效地大规模存储、索引和搜索这些高维向量。这一差距催生了向量数据库类别,Pinecone 等公司在 2022-2023 年通过定义向量操作的专用基础设施引领潮流。在 2022 年底 ChatGPT 推出后,该类别出现了爆炸式增长,因为开发人员纷纷使用检索增强生成 (Retrieval-Augmented Generation - RAG) 构建 AI 应用程序。这种激增的部分原因是人们普遍误以为基于嵌入的相似性搜索是检索 LLMs 上下文的唯一可行方法。由此产生的 “向量数据库淘金热” 吸引了大量投资和关注向量搜索基础设施,尽管传统信息检索技术对许多 RAG 应用程序同样有价值。

然而,形势迅速发展。最初是纯向量搜索引擎,现在扩展了其功能以匹配传统搜索功能。向量数据库提供商已经认识到,现实世界的应用程序通常需要的不仅仅是相似性搜索。他们越来越多地添加过滤、分面和文本搜索等功能,这些功能以前是传统搜索引擎的领域。

这种融合反映了一种更深刻的理解,即单靠向量搜索不足以满足实际的现实用例。没有比 Elasticsearch 的发展更好地说明这种融合的例子了。作为搜索市场的领导者,Elastic 认识到了基于嵌入的搜索的潜力,并开始整合这些功能。2024 年,他们将 Elasticsearch 重新定位为 “具有完全集成向量数据库搜索引擎”,承认现代搜索应用程序需要传统的基于文本和向量的操作。这种转变不仅仅是营销 —— Elasticsearch 通过优化索引结构增强了其向量搜索实现,并增加了对高效近似最近邻 (ANN) 搜索算法的支持。通过将向量搜索功能直接引入其搜索平台,Elastic 证明了搜索的未来在于将相关性评分和文本分析等传统搜索功能与嵌入相结合的统一解决方案。他们的方法验证了业内许多人已经开始认识到的事情:向量搜索不是一个单独的类别,而是现代搜索工具包中的一项基本功能。

与此同时,老牌数据库供应商几乎毫不掩饰地看着这场淘金热。许多供应商没有将向量搜索视为一个单独的类别,而是耸耸肩,将向量功能直接集成到现有产品中。PostgreSQL、MongoDB、Redis 和其他供应商都增加了对向量数据类型和相似性搜索操作的原生支持 —— 将其视为添加新索引类型的兴奋之情。从他们的角度来看,向量只是索引和查询的另一种数据类型,类似于文本、数字或地理空间坐标。这种集成简化了许多应用程序的架构,允许开发人员在熟悉的系统中管理向量操作以及传统数据工作负载,而无需说服他们的 CTO 采用另一个专门的数据库

然而,将向量类型添加到现有数据库并不是看起来那么简单。存储和检索向量是一回事,构建复杂的检索系统是另一回事。许多这样的数据库缺乏完善的排名机制、相关性调整和久经考验的文本匹配算法(如 BM25),而专用搜索引擎花了几十年的时间来完善这些算法。这就是为什么那些关心搜索质量的公司仍然会转向专用搜索引擎,而不是将他们的数据库视为一刀切的解决方案。现实情况是,高质量的信息检索需要一套深层次的排名策略和相关性优化功能,而不仅仅是简单的向量相似度计算。正如没有一个关心搜索质量的人会使用常规数据库来支持他们的电子商务搜索一样,添加向量功能并不能突然将 SQL 数据库转变为一个完整的检索引擎。

结论

回顾过去,很明显我们把事情复杂化了。虽然嵌入从根本上改变了我们表示和比较内容的方式,但它们不需要一个全新的基础设施类别。我们称之为 “向量数据库” 的东西实际上是具有向量功能的搜索引擎。市场已经在纠正这种分类 —— 向量搜索提供商迅速添加传统搜索功能,而成熟的搜索引擎则整合了向量搜索功能。这种类别融合并不奇怪:构建一个好的检索引擎一直是关于结合多种检索和排名策略。向量搜索只是该工具箱中的另一个强大工具,而不是一个独立的类别。


http://www.ppmy.cn/ops/150425.html

相关文章

OpenAI Whisper:语音识别技术的革新者—深入架构与参数

当下语音识别技术正以前所未有的速度发展,极大地推动了人机交互的便利性和效率。OpenAI的Whisper系统无疑是这一领域的佼佼者,它凭借其卓越的性能、广泛的适用性和创新的技术架构,正在重新定义语音转文本技术的规则。今天我们一起了解一下Whi…

安全测评主要标准

大家读完觉得有帮助记得关注和点赞!!! 安全测评的主要标准‌包括多个国际和国内的标准,这些标准为信息系统和产品的安全评估提供了基础和指导。 一、安全测评的主要标准 1.1、国际标准 ‌可信计算机系统评估准则(TC…

linux: 文本编辑器vim

文本编辑器 vi的工作模式 (vim和vi一致) 进入vim的方法 方法一:输入 vim 文件名 此时左下角有 "文件名" 文件行数,字符数量 方法一: 输入 vim 新文件名 此时新建了一个文件并进入vim,左下角有 "文件名"[New File] 灰色的长方形就是光标,输入文字,左下…

代码随想录Day34 | 62.不同路径,63.不同路径II,343.整数拆分,96.不同的二叉搜索树

代码随想录Day34 | 62.不同路径,63.不同路径II,343.整数拆分,96.不同的二叉搜索树 62.不同路径 动态规划第二集: 比较标准简单的一道动态规划,状态转移方程容易想到 难点在于空间复杂度的优化,详见代码 class Solution {public int uniq…

MyBatis-Plus 逆向工程原理及使用指南

概述 MyBatis-Plus(简称 MP)是 MyBatis 的增强工具,它简化了开发人员对数据库的操作,并提供了代码生成器、分页插件等功能。其中的代码生成器(即逆向工程),能够根据数据库中的表结构自动生成实…

【微服务】面试题 6、分布式事务

分布式事务面试题讲解 一、问题背景与解决方案概述 因微服务项目涉及远程调用可能引发分布式事务问题,需解决。主流解决方案有阿里 Seata 框架(含 XA、AT、TCC 模式)和 MQ。 二、Seata 框架关键角色 事务协调者(TC)&…

【Ubuntu与Linux操作系统:九、Shell编程】

第9章 Shell编程 9.1 Shell编程基本步骤 Shell编程是一种通过编写脚本文件,使用Shell解释器执行批处理任务的方法。基本步骤如下: 1. 确定需求 在编写脚本之前,明确要实现的功能,例如文件备份、日志分析或自动化部署等。需求的清…

矩阵Strassen 算法

Strassen 算法 不要与多项式乘法的 Schnhage-Strassen 算法混淆。 在线性代数中,以 Volker Strassen 命名的 Strassen 算法是一种矩阵乘法算法。对于大型矩阵,它比标准矩阵乘法算法更快,具有更好的渐近复杂度,尽管朴素算法通常更适…