2024年剧本:向量搜索的顶级用例
搜索和信息检索一直是导航广阔数字信息领域中的基础。早期的搜索引擎依赖于简单的关键词匹配,常常因为不相关的结果而让用户感到沮丧。然而,在20世纪90年代末,谷歌的PageRank算法通过考虑关键词以及网页的权威性和相关性,彻底改变了搜索。 自那时以来,搜索已经通过语义分析、机器学习和自然语言处理不断发展和改进。现在,向量搜索承诺以前所未有地解锁复杂、高维数据的秘密。
什么是向量搜索?
向量搜索与传统方法不同,它通过将数据点编码为多维空间中的向量。这些向量包含了文本、图像、视频或任何其他非结构化数据中的语义含义。这使用户能够发现相关信息,即使搜索查询缺乏具体性。
当接收到用户查询时,向量搜索使用不同的方法,如余弦相似度或欧几里得距离,来查找并检索最接近或最相似的向量。由于数据量巨大,搜索和计算向量相似性可能会令人望而却步。因此,向量索引对于组织和高效检索相关向量至关重要。它还通过根据相似性度量结构化向量,加快了搜索操作的速度。
向量索引的不同方法包括:
平面索引: 这种技术将每个向量“原样”存储,不做修改。虽然提供了完美的准确性,但其主要缺点在于其潜在的慢速,特别是对于大型数据集。平面索引计算查询向量与索引中每个其他向量之间的相似性,返回数据集中最相似的Top-K向量。
倒排文件索引(IVF): IVF将向量空间划分为更小的子空间,称为单元,每个单元都有一个质心,代表该区域的平均向量。然后,数据库中的向量被分配到附近的质心,形成聚类。在查找过程中,查询向量首先计算到每个质心的距离,限制比较到属于选定质心的向量。
局部敏感哈希(LSH): LSH的基本思想是将数据点哈希化,使得相似的点以高概率映射到相同或附近的哈希桶。通过这样做,可以通过仅在可能包含它们的哈希桶中搜索,快速识别近似最近邻(ANN)。
基于聚类的(产品量化): 量化是一种通过降低向量的总体精度来减少数据库总大小的技术。与试图减少向量长度的降维(PCA、LDA等)相比:
基于图的索引(HNSW、CAGRA): 基于图的索引算法是索引向量最受欢迎的方式。
市场上可用的向量搜索技术
有多种技术可用于向量搜索。2017年,Meta开源了FAISS,显著降低了与向量搜索相关的成本和障碍。2019年,Zilliz推出了Milvus,这是一个专门构建的开源向量数据库,引领了行业的发展。从那时起,许多其他向量数据库公司出现了。2022年,随着许多传统搜索产品如Elasticsearch和Redis的进入以及像ChatGPT这样的LLM的广泛使用,向量数据库的趋势起飞了。
image1.png
向量搜索技术
现在有这么多向量搜索产品,它们之间有什么区别?我大致将它们归类为以下类型: 向量搜索库。 它们是算法集合,没有基本的数据库功能,如插入、删除、更新、查询、数据持久性和可扩展性。FAISS是主要的例子。
轻量级向量数据库。 它们建立在向量搜索库上,使它们在部署上轻量级,但可扩展性和性能较差。Chroma就是这样一个例子。
向量搜索插件。 这些是依赖于传统数据库的向量搜索插件。然而,它们的架构是针对传统工作负载的,这可能会对他们的性能和可扩展性产生负面影响。Elasticsearch和Pgvector是主要的例子。
专门构建的向量数据库。 这些数据库专门为向量搜索而构建,并提供比其他向量搜索技术显著的优势。例如,专用向量数据库提供更用户友好的功能,如分布式计算和存储、灾难恢复和数据持久性。Milvus是主要的例子。
向量搜索在行动:关键应用
向量搜索显著增强了各种应用程序中的信息检索和排名,除了彻底改变搜索引擎。以下是向量搜索表现出色的一些关键领域:
电子商务
产品发现:向量搜索使用户能够找到符合他们兴趣的项目,即使没有精确的表述。这种方法增强了用户体验并提高了购买可能性。
推荐引擎:由向量搜索驱动,推荐引擎比较用户偏好和项目嵌入,建议用户与之交互过的产品类似的产品,从而提高转化率。
内容管理
分类和检索:向量搜索帮助根据语义相似性而不是仅关键词进行内容分类和检索,提高了内容组织和搜索结果的准确性。
内容相似性分析:利用向量搜索,内容相似性分析识别重复、近似重复和相关内容,完善内容管理策略。
客户支持
智能聊天机器人:向量搜索使智能聊天机器人能够通过从知识库或过去的交互中检索相关信息,有效地理解和响应用户查询。这提高了聊天机器人的准确性,并防止像OpenAI的GPT-3.5或Facebook的LLAMA2这样的大型语言模型生成错误信息。
帮助台解决方案:帮助台解决方案利用向量搜索分析历史票务数据和客户互动,建议相关解决方案或将票务升级到适当的代理,以加快问题解决并提高客户满意度。
医疗保健
医学图像分析:在医学成像中,向量搜索可以通过将从图像中提取的特征与已知案例的数据库进行比较,帮助诊断疾病,促进更快、更准确的诊断。
药物发现:向量搜索通过识别具有相似分子结构或生物活性的化合物,加速药物发现,加快寻找新药的潜在候选药物。
增强向量搜索:最佳实践和关键考虑因素 实施高效的向量搜索对于从数据中提取洞察和改善用户体验至关重要。以下是一些关键考虑因素和最佳实践,以确保您的向量搜索实施的有效性:
选择正确的基础设施:成功向量搜索系统的基础在于仔细评估基准测试结果,选择适当的基础设施。考虑为您的向量数据库选择像Milvus或Zilliz Cloud(Milvus的托管版本)这样的选项,并利用像Amazon Web Services、Microsoft Azure或Google Cloud Platform这样的云服务来获得可扩展的计算能力。
动态更新以实现实时相关性:在数据不断变化的动态环境中,实施机制以无缝更新和重新索引向量。这种方法确保您的向量搜索系统随着时间的推移保持相关和准确,反映最新的洞察。
查询优化:在创建向量时存储元数据可以通过过滤用户查询来优化查询搜索过程,从而提高相关向量搜索性能。
展望未来 随着更先进的编码算法的出现,向量搜索的未来看起来充满希望,提高了搜索结果的质量和相关性。
改进的编码和检索将催生像多模态搜索这样的应用程序,这些应用程序利用文本、图像、音频和视频输入,需要能够高效处理混合媒体格式的复杂向量索引方法。
此外,生成性人工智能的出现进一步强调了向量搜索在改善大型语言模型响应中的重要性。
支持实时分析的高性能向量数据库将对需要即时决策的行业变得越来越重要,例如自动驾驶汽车。
结论 最终,向量搜索提高了我们从复杂非结构化数据集中搜索和检索信息的能力。无论是增强搜索引擎还是驱动各个行业的各种应用程序,向量搜索都提高了我们对数据的理解,前所未有。随着我们继续改进编码和检索技术,向量搜索的未来看起来光明,它将改变我们在数字时代导航和利用数据的方式。
技术干货
使用自部署的Milvus向量数据库和Snowpark容器服务构建RAG
Zilliz的生态系统和AI平台负责人Jiang Chen在最近的非结构化数据 meetup 上讨论了我们如何将Milvus与Snowflake无缝集成。具体来说,他探索了如何使用Milvus向量数据库和Snowpark容器服务(SPCS)与Snowflake生态系统集成来构建检索增强生成(RAG)系统。
2024-11-29技术干货
Elasticsearch vs 向量数据库:寻找最佳混合检索方案
如何实现语义检索?Embedding模型和向量数据库在其中的作用至关重要。前者主要完成原始信息的向量化,后者则提供对向量化信息的存储、检索等服务。目前,检索增强生成(RAG)与多模态搜索,是语义检索的核心应用场景之一。
2024-12-06技术干货
使用Spark和Milvus构建生产就绪的搜索管道
在最近的一次演讲中,Zilliz的生态系统和AI平台负责人Jiang Chen提出了一个逐步构建高效且生产就绪的向量搜索管道的过程。本文将讨论演讲的主要要点。
2024-11-29