什么是向量搜索?
向量搜索是一种基于意义和上下文而非精确关键词匹配的搜索技术。它通过嵌入向量来识别相似文本、图像、音频等内容,解决了关键词搜索的局限性,常用于RAG、企业搜索、推荐系统和异常检测。生产系统通常结合向量和关键词搜索以获得更强结果,而托管服务如Databricks AI Search可添加重排序、元数据过滤、自动索引更新和治理功能。
向量搜索是一种根据意义和上下文而非精确关键词匹配来检索信息的搜索技术。它利用嵌入向量(embeddings)来识别相似文本、图像、音频和其他内容,从而解决了关键词搜索的局限性,使系统能够识别同义词、跨语言和跨格式搜索,并检索相关信息,适用于RAG、企业搜索、推荐系统和异常检测等用例。
向量搜索的工作原理分为三个阶段:创建嵌入、构建索引和匹配查询。首先,一个模型将每个项目转换为嵌入向量,即捕捉其意义的数值表示。文档、产品描述、图像和音频片段都可以这样表示。意义相似的项目往往具有相似的嵌入。然后,这些嵌入存储在一个专为快速相似性搜索而设计的结构中,该索引使得高效搜索数百万个项目成为可能。当查询到达时,它使用相同的模型转换为嵌入,系统找出与查询最接近的存储嵌入并返回相关结果。
生产系统中常用的方法是近似最近邻(ANN)搜索,它使用专门的索引来识别可能的匹配项,而无需比较每个项目,从而以牺牲少量精度换取显著更快的性能,使向量搜索在大规模下变得实用。
向量搜索与关键词搜索各有优势。关键词搜索最适合结构化查询,如订单ID、产品代码和已知文档标题。而向量搜索处理同义词、跨语言和跨格式匹配更强。因此,最强的搜索系统通常结合两者,形成混合搜索(hybrid search)。混合搜索将基于向量和基于关键词的结果融合到一个单一排序中,并常包含重排序步骤,以将最匹配的结果置顶,从而提供更可靠的相关性。
向量搜索的常见用例包括检索增强生成(RAG)、语义文档和企业搜索、推荐系统和相似性搜索、多模态和跨语言搜索,以及欺诈和异常检测。对于RAG,文档被分割成更小的块,以便系统检索最相关的段落,而非整个文档。
实施向量搜索时,并非总是需要专门的向量数据库。根据规模、性能要求和现有基础设施,可以使用向量数据库、带向量功能的搜索引擎或相似性搜索库。托管服务如Databricks AI Search可减少设置时间和运维开销,它结合了向量搜索、关键词搜索、元数据过滤和重排序,并与AI治理功能集成。
在生产环境中,向量搜索系统需要持续的调优和维护。大型向量索引消耗内存和计算资源,增加基础设施成本。索引必须定期刷新以反映源内容的变化。评估质量时,应构建一个小型测试集,并检查正确结果是否出现在顶部。元数据过滤和嵌入模型的选择对相关性有显著影响。对于专业领域,使用领域调优模型可以提高检索质量。