你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Database for PostgreSQL 中的矢量搜索

矢量数据库用于分析和生成式 AI 中的许多领域和情况,包括自然语言处理、视频和图像识别、推荐系统、搜索等。

什么是矢量存储?

矢量存储或向量数据库是一个旨在存储和管理矢量嵌入的数据库,它是高维空间中数据的数学表示形式。 在此空间中,每个维度对应于数据的一个特征,数万个维度可用于表示复杂的数据。 矢量在此空间中的位置表示其特征。 字词、短语或整个文档、图像、音频和其他类型的数据都可以矢量化。

矢量存储的工作原理是什么?

在矢量存储中,矢量搜索算法用于查询嵌入项以及为其编制索引。 一些已知的矢量搜索算法包括 DiskANN分层导航小型世界(HNSW)倒排文件(IVF)等。矢量搜索是一种方法,可帮助你根据相似项的数据特征而不是属性字段上的完全匹配项来查找相似项。 这种方法在搜索相似文本、查找相关图像、提出建议甚至是检测异常等应用中很有用。 它用于通过嵌入 API 查询你使用机器学习模型创建的数据的向量嵌入。 嵌入 API 的示例包括 Azure OpenAI EmbeddingsAzure 上的 Hugging Face。 矢量搜索测量数据矢量与查询矢量之间的距离。 与查询矢量最接近的数据矢量是在语义上发现最相似的。

Azure Database for Postgres 用作矢量存储时,可以存储和索引嵌入,并与原始数据一起查询。 此方法避免了在单独的纯矢量数据库中复制数据产生的额外成本。 此外,此体系结构可将矢量嵌入和原始数据保存在一起,从而更好地促进多模式数据操作,并且可以实现更高的数据一致性、缩放和性能。