矢量数据库选项 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

矢量数据库选项

AWS 提供各种矢量数据库解决方案,以支持生成式 AI 应用中的不同用例和要求。这些选项可以大致分为单独的数据库服务和托管服务产品,每种服务都有不同的特征和优势。对于希望在保持最佳性能、可扩展性和成本效益的同时有效实施矢量搜索功能的组织来说,了解这些选项至关重要。

有关矢量数据库解决方案的更多信息,请参阅以下各节:

单个矢量数据库选项

上的单个矢量数据库选项 AWS 包括亚马逊 Kendra、亚马逊 OpenSearch 服务和适用于 PostgreSQL 的亚马逊 RDS for PostgreSQL pgvector。 (一个开源扩展,pgvector 增加了存储和搜索机器学习 (ML) 生成的向量嵌入的功能。) 这些解决方案提供了不同的矢量搜索方法,允许组织根据其现有基础架构、技术要求和特定用例进行选择。

Amazon Kendra

Amazon Kendra 是一项企业级智能搜索服务,它使用自然语言处理和高级机器学习算法,从您的数据中返回搜索问题的具体答案。Amazon Kendra 简化了搜索功能的实现,使其成为生成式 AI 应用程序的有效后端解决方案。

Amazon Kendra 的其他主要功能包括:

  • 40 多个数据源的本地连接

  • 内置数据准备功能

  • 无需深厚的技术专业知识即可快速设置

亚马逊 Kendra 的好处包括以下几点

有关更多信息,请参阅亚马逊 Ken dra 开发者指南中的亚马逊 Ken dra 的好处

亚马逊 OpenSearch 服务

Amazon OpenSearch Service 是一项托管服务,可帮助您在中部署、操作和扩展 OpenSearch 服务集群 AWS Cloud。

OpenSearch 服务的核心功能包括以下内容:

  • 开源搜索和分析引擎

  • 分布式架构

  • 实时数据处理

使用 OpenSearch 服务的一些优势包括:

  • 横向可扩展性

  • RESTful API 支持

  • 处理结构化和非结构化数据

  • 实时数据分析

  • 适用于各种部署规模

有关更多信息,请参阅《 OpenSearch 服务开发者指南》中的 Amazon OpenSearch 服务功能

适用于 PostgreSQL 的亚马逊 RDS pgvector

适用于 PostgreSQL 的亚马逊 RDS pgvector将 AWS 托管关系数据库服务与 PostgreSQL 的向量处理扩展插件相结合。这种组合使组织能够在维护 Amazon RDS 的同时存储和查询高维向量。该解决方案特别适用于需要实时矢量操作而无需管理数据库基础设施开销的生成式 AI 应用程序。

适用于 PostgreSQL 的 Amazon RDS 的主要优势包括 pgvector 中支持的脚本编写选项如下:

  • 高可用性

  • 自动失效转移

  • 性价比高 (pay-per-use)

  • 内置监控

  • 实时矢量数据集成

有关更多信息,请参阅《亚马逊关系数据库服务用户指南》中的 Amazon RDS 的优势

托管服务选项

Amazon Bedrock 知识库代表了实现矢量数据库的 AWS 完全托管方法。该服务在存储选项方面的灵活性,再加上其自动化管理功能,对于希望在不管理复杂基础架构的情况下实施RAG的组织来说特别有价值。

借助 Amazon Bedrock 知识库,您可以创建、维护和查询知识库,从而使用 RAG 增强基础模型。该服务通过管理整个数据摄取、矢量化和检索管道,简化了实施 RAG 的复杂过程。

Amazon Bedrock 知识库的主要优势包括:

简化数据处理

  • 自动数据摄取和分块

  • 内置从多种文件格式提取文本

  • 托管向量嵌入生成

  • 自动提取元数据并编制索引

简化了 RAG 的实现

  • 预先配置的检索策略

  • 自动优化上下文窗口

  • 内置相关性调整

  • 开箱即用的语义搜索功能

安全和治理

  • 集成 AWS Identity and Access Management (IAM) 控件

  • 静态和传输中的数据加密

  • VPC 支持

  • 使用审核日志 AWS CloudTrail

Amazon Bedrock 知识库支持多种矢量存储选项。以下列表概述了每个选项的主要功能:

  • 亚马逊 Aurora PostgreSQL 带有 pgvector

    • 兼容 PostgreSQL 的矢量存储

    • 与现有 Aurora 数据库集成

    • 对于较小的部署,经济实惠

    • 适用于混合结构化和非结构化数据

  • Amazon Neptune Analytics

    • 基于图形的矢量搜索

    • 将关系数据与向量相结合

    • 非常适合互联数据用例

    • 高级查询功能

  • Amazon OpenSearch 无服务器

    • 完全托管的无服务器体验

    • 根据工作负载自动扩展

    • 内置 k-nn 功能

    • 经济实惠,适用于不同的工作负载

  • Pinecone

    • 专门构建的矢量数据库

    • 大规模的高性能

    • 高级相似度搜索功能

    • 通过 Amazon Bedrock 控制台进行管理

  • Redis 企业云

    • 内存中的矢量搜索功能

    • 低延迟性能

    • 实时矢量搜索

    • 集成的缓存功能

在选择 Amazon Bedrock 知识库支持的矢量存储时,请考虑每个选项的以下主要特征:

  • Aurora PostgreSQ L — 具有向量功能的关系数据

  • Nep@@ tune Analytics — 基于图表的知识表现形式

  • OpenSearch 服务-以搜索和分析为重点

  • Pinecone — 纯矢量搜索性能

  • Redis 企业云 — 实时和低延迟需求

每种实现都具有以下独特优势:

  • Aurora PostgreSQL — 最适合同时需要传统 SQL 和向量功能的应用程序

  • Nep@@ tune Analytics — 非常适合基于关系的复杂查询和知识图表

  • OpenSearch 服务 — 在全文搜索和分析方面表现出色

  • Pinecone — 针对纯向量运算进行了优化

  • Redis 企业云 — 最适合实时应用程序

以下是为 RAG 解决方案选择矢量存储时需要考虑的一些要点:

  • 可扩展性-能够高效处理庞大且不断增长的数据集。

  • 查询性能-快速高效的最近邻搜索功能。

  • 数据摄取-现有的数据模型要求。Support 支持多种数据格式,便于摄取。

  • 筛选和排名-检索到的结果的高级筛选和排名机制。

  • 集成 — 通过 APIs 或协议与其他系统和工具无缝集成。

  • 持久性和耐久性 — 合适的持久性和耐久性选项(内存或基于磁盘)。

  • 并发性和一致性 — 高效处理并发访问和数据一致性。

  • 许可和成本 — 评估许可模式、前期和持续成本以及供应商锁定。

  • 社区和支持 — 充满活力的社区和全面的文档。

  • 安全性与合规性 — 遵守必要的安全和合规性要求。