S3 Vectors 最佳实践
Amazon S3 Vectors 提供专门构建的、经过成本优化的向量存储,供支持人工智能的应用程序使用,也可以对存储在 Amazon S3 中的内容进行语义搜索。S3 Vectors 旨在提供 S3 级别的弹性和耐久性,可以存储具有亚秒级查询性能的向量数据集,非常适合需要构建和增长向量索引的应用程序。借助 S3 Vectors,可以使用一组专用的 API 操作来存储、访问向量数据并对向量数据执行相似性查询,而无需预置任何基础设施。有关更多信息,请参阅使用 S3 Vectors 和向量存储桶。
为最大限度地利用 S3 Vectors 的优势,建议您执行以下最佳实践。
- 插入和删除向量
-
应用程序对于每个向量索引,每秒可以实现至少五个 PutVectors 和 DeleteVectors 请求。如果超过请求速率,则可能会收到
429 TooManyRequestsException
错误。为最大限度地提高请求吞吐量并针对速度和效率进行优化,我们建议您大批量插入和删除向量,每个 API 请求最多 500 个向量。有关更多信息,请参阅向量索引。 - 访问和查询 S3 向量索引中的向量
-
应用程序对于每个 S3 向量索引,每秒可以实现数百个 QueryVectors、GetVectors 或 ListVectors 请求。如果超过请求速率,则可能会收到
429 TooManyRequestsException
错误。我们建议您使用重试机制,并将应用程序配置为发送更少的请求。 - 跨向量索引进行扩展
-
为了提高每个向量索引的查询性能,请考虑配置应用程序,以便在可能的情况下将向量划分到多个向量索引。例如,如果您有多租户工作负载,并且应用程序独立查询每个租户,请考虑将每个租户的向量存储在单独的向量索引中。有关更多信息,请参阅向量索引。
- 使用单独的向量索引实现多租赁
-
可以通过为每个租户使用单个向量索引来组织向量数据,从而实现多租赁。可以使用 IAM 策略和存储桶策略,来限制每个租户只能访问其指定的向量索引。这种方法无需为每个租户创建单独的存储桶,从而有助于保持数据隔离并简化管理。有关更多信息,请参阅S3 Vectors 中的身份和访问权限管理。
- 为向量索引配置不可筛选的元数据字段
-
创建向量索引时,将不需要筛选的元数据字段配置为不可筛选的元数据键。例如,可将向量嵌入的文本分块存储为不可筛选的元数据字段(当这些字段只是供参考时)。有关更多信息,请参阅不可筛选的元数据。