矢量数据库是指任何可让您存储和查询向量嵌入或非结构化数据(如文本、图像或音频)的数字表示形式并将其编入索引的数据库。
Google Cloud 将这些企业级功能直接集成到托管式服务中(包括 AlloyDB for PostgreSQL、Spanner 和 BigQuery),帮助您构建智能应用,而无需管理单独的基础设施。
向量嵌入是数据的数值表示法,通常定义为浮点数的数组。它们将复杂的非结构化数据(如文本、图片或音频)转换为机器学习模型可以处理的格式。
通过将此数据映射到向量空间,嵌入可以捕获语义含义;相似项的位置会更接近,而不相似项的位置会更远。此空间关系有助于系统根据上下文和含义(而不仅仅是关键字匹配)来识别数据点之间的联系。
虽然一些专用数据库仅支持向量嵌入,但另一些数据库除了支持向量嵌入之外,还支持许多不同的数据和查询类型。这对于基于丰富的真实世界数据构建生成式人工智能应用至关重要。随着使用向量嵌入进行语义查询的优势越来越明显,大部分数据库都将添加矢量支持。未来,我们相信每个数据库都将是矢量数据库。
了解 Vertex AI 的向量搜索如何支持构建高性能生成式 AI 应用。Vertex AI 的 Vector Search 基于可伸缩最近邻搜索 (ScaNN),ScaNN 是 Google 研究团队开发的一种可伸缩且高效的矢量搜索技术,非常适合处理大型数据集,也可满足实时搜索需求。观看下方视频详细了解向量搜索和嵌入,并参考此快速入门指南以开始操作。
高效查询大量向量需要专门的索引和搜索策略,这与传统的文本或数字字段不同。由于向量没有单一逻辑排序,向量数据库依赖以下机制来检索数据:
向量嵌入可捕获复杂数据的语义含义。结合提供高效索引和检索的向量数据库,开发者可以构建各种智能应用和数据处理工具。
借助向量数据库,开发者可以构建超越协同过滤的个性化系统。通过将用户行为和商品属性表示为向量,应用可以实时识别相似的商品,或将用户与符合其偏好的内容进行匹配。此架构支持电子商务产品建议、内容 Feed 和媒体流推荐。
与传统关键字搜索不同,向量数据库支持语义搜索应用,能够理解用户意图。开发者可以构建搜索体验,让用户能够按概念而非确切措辞进行查询。此外,由于向量可以在同一空间中表示不同的数据类型,因此您可以构建多模态搜索工具,让用户可以使用文本描述搜索图片,或使用输入图片查找相关文档。
向量数据库可以帮助识别海量数据集中的异常模式。通过建立代表“正常”行为或交易的向量空间,开发者可以以编程方式检测远离已建立集群的离群值。此功能对于构建金融欺诈检测系统、网络安全监控工具和 IT 基础设施健康检查至关重要。
在数据工程工作流中,向量数据库可以帮助清理和统一不同的数据集。通过比较客户记录或商品详情的嵌入,系统可以识别重复条目,即使文本略有不同(例如“Main St.”与“Main Street”)。这有助于组织维护单一、准确的数据视图。
AlloyDB for PostgreSQL 将 PostgreSQL 的兼容性与 Google 的可扩缩基础设施相结合。它通过标准 pgvector 扩展程序内置了对向量嵌入的支持,并使用 Google 的 ScaNN 索引进行了增强。这可以加快向量查询速度,并实现“内嵌过滤”,从而同时评估向量相似度和元数据过滤条件,帮助优化混合搜索,提升性能。
示例:房地产混合搜索
一个房地产应用,用户想要根据“氛围”(例如,“拥有自然光的中世纪现代风格”)查找房屋,同时严格遵守一些硬性限制条件(例如,“3 间卧室”“价格低于 80 万美元”“位于 A 学区”)。
Google Cloud 将向量搜索功能直接集成到核心数据库服务中,帮助您使用现有数据和工作流实现生成式 AI 的运营。
Google 的全球分布式数据库 Spanner 支持事务型应用的向量搜索。它可以使用精确最近邻算法和近似最近邻算法提供高度可用、可扩缩的向量搜索。这使全球应用能够实现实时推荐或语义搜索等功能,同时保持严格的一致性和可靠性。
示例:为电子商务提供实时推荐
一家全球电子商务平台想要构建一个商品推荐引擎,该引擎能够处理模糊的用户搜索(例如“适合雨天穿的最佳登山靴”),同时确保立即提供商品。
BigQuery 可让您对海量数据集执行向量分析,而无需将数据移出数据仓库。使用 VECTOR_SEARCH 函数,您可以使用标准 SQL 执行相似度搜索。这对于分析用例尤其有用,例如根据行为对客户进行聚类,或在数十亿行数据中识别相似的产品趋势。
示例:大规模检测网络安全威胁
安全团队需要分析 PB 级服务器日志,以识别恶意活动。攻击者通常会稍微修改代码,以规避完全匹配关键字搜索。