re:Invent 2025,亚马逊云科技带来一系列重磅发布,掀起全球云计算创新浪潮。为帮助开发者们深入了解各项技术创新成果、上手使用最新功能,特推出本系列解读文章,助您探索云上未来的无限可能!
在re:Invent 2025,亚马逊云科技宣布Amazon S3 Vectors正式可用,其扩展能力与企业级性能均实现大幅提升。Amazon S3 Vectors是首款原生支持存储与查询向量数据的云对象存储服务。相较于专门的向量数据库解决方案,它能帮助您将向量存储与查询的总成本降低高达90%。
自2025年7月推出Amazon S3 Vectors预览版以来,广大用户迅速开始采用这项新功能来存储和查询向量数据。截至2025年11月28日,在短短四个多月的时间里,用户已创建超过25万个向量索引,导入超400亿个向量,并执行了超10亿次查询。
您在单个索引中即可存储并检索多达20亿个向量,这意味着一个向量存储桶可存储的向量最多可达20万亿个,相较预览阶段单索引5000万向量的上限,存储容量提升了40倍。因此,您能够将全部向量数据集整合至单个索引中,无需拆分至多个小型索引中,也无需部署复杂的联合查询逻辑。
同时,AmazonS3 Vectors的查询性能也得到了进一步优化。低频查询仍能在1秒钟以内返回结果,高频查询的延迟则进一步降至100毫秒左右乃至更低,非常适用于对话式AI与多Agents工作流等交互式应用场景。此外,单次查询可检索的结果数量也从原先的30条提升至100条,能够为检索增强生成(RAG)应用提供更全面的上下文信息。
AmazonS3 Vectors的写入性能同样实现大幅提升,在将单向量更新流式传输至索引时,每秒可支持多达1000次PUT事务操作,为小批量数据场景提供了更高的写入吞吐量。这种更高的吞吐量可满足立即检索新写入数据的工作负载需求,助力用户快速导入小型数据集,或处理多个并发数据源同时向同一索引写入数据的情况。
其全托管无服务器架构消除了基础设施管理开销,用户无需部署任何基础设施,也无需配置计算资源,只需根据实际存储与查询向量的用量付费。这款专为AI打造的存储服务,可让用户快速访问任意规模的向量数据,为完整的AI开发生命周期提供支撑,包括从初期的实验与原型设计到大规模生产部署的全流程。
AmazonS3 Vectors可为AI Agent、推理、语义搜索和RAG应用等生产级工作负载,提供所需的扩展能力和性能表现。
此前以预览版形式推出的两项核心集成功能也已正式可用。用户可将Amazon S3 Vectors作为Amazon Bedrock知识库的向量存储引擎,借助它构建具备企业级扩展能力与性能表现的RAG应用。此外,Amazon S3 Vectors与Amazon OpenSearch的集成功能也已上线,您可将Amazon S3 Vectors作为向量存储层,集成Amazon OpenSearch实现检索与分析功能。
Amazon S3 Vectors的服务范围也已从预览版阶段的5个亚马逊云科技区域,拓展至14个亚马逊云科技区域。
工作原理
下面将演示如何通过亚马逊云科技控制台与Amazon Web Services CLI,操作Amazon S3 Vectors。
首先,创建一个Amazon S3向量存储桶与一个向量索引。
echo "Creating S3 Vector bucket..."aws s3vectors create-vector-bucket \ --vector-bucket-name "$BUCKET_NAME" echo "Creating vector index..."aws s3vectors create-index \ --vector-bucket-name "$BUCKET_NAME" \ --index-name "$INDEX_NAME" \ --data-type "float32" \ --dimension "$DIMENSIONS" \ --distance-metric "$DISTANCE_METRIC" \ --metadata-configuration "nonFilterableMetadataKeys=AMAZON_BEDROCK_TEXT,AMAZON_BEDROCK_METADATA"左右滑动查看完整示意
维度指标必须与用于计算向量的模型维度相匹配。距离指标则用于指定算法计算向量之间的距离的方式,Amazon S3 Vectors支持余弦距离与欧几里得距离两种类型。
您同样可以通过控制台来创建存储桶,亚马逊云科技新增了创建存储桶时配置加密参数的功能。默认情况下,索引会沿用存储桶级别的加密配置,您也可以在索引级别使用自定义的Amazon KMS密钥来覆盖该配置。
此外,您还能为向量存储桶和向量索引添加标签,向量索引上的标签有助于实现更精细化的访问控制与成本分配。
您还可以直接在控制台中管理属性与权限。
同理,您可定义不可筛选元数据,并为向量索引配置加密参数。
然后,创建并存储嵌入向量(即向量数据)。本演示选用的测试素材为《亚马逊云科技写作风格指南》,这份长达800页的文档详细阐述了亚马逊云科技技术博客、技术文档及各类文章的撰写规范。
本例借助Amazon Bedrock知识库,导入存储在通用型Amazon S3存储桶中的这份PDF文档。Amazon Bedrock知识库会读取文档内容,并将其切分为若干个名为块(chunks)的片段。然后,它通过Amazon Titan文本嵌入模型,计算每个块的嵌入向量,再将这些向量及其元数据一并存储到新创建的向量存储桶中。
本文不再介绍这一过程的操作步骤,您可参阅官方文档获取详细说明。
操作步骤文档:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bedrock-kb.html
在执行向量查询时,每个向量最多可存储50个元数据键,其中最多可将10个标记为不可筛选类型。您可以利用可筛选的元数据键,基于特定属性对查询结果进行筛选。因此,您便能将向量相似度检索与元数据筛选条件相结合,缩小目标结果的范围。同时,您也可以存储更多不可筛选的元数据,以获取更丰富的上下文信息。
Amazon Bedrock知识库负责计算与存储这些向量,同时还会附加大量元数据(即原始文本对应的块),本例将这类元数据排除在可检索索引之外。
还有其他多种向量导入方法可供选择:您可以试用Amazon S3 Vectors Embed CLI这款命令行工具,帮助您借助Amazon Bedrock生成嵌入向量,并通过直接执行命令将向量存储至Amazon S3 Vectors。您也可以将Amazon S3 Vectors用作Amazon OpenSearch的向量存储引擎。
至此,您可以开始查询向量索引。
假设您想知道“open source”一词的规范写法:是加连字符写作“open-source”,还是不加连字符写作“open source”?首字母是否需要大写?为此,本例希望在《亚马逊云科技写作风格指南》中检索出与“open source”相关的内容。
# 1. Create embedding requestecho '{"inputText":"Should I write open source or open-source"}' | base64 | tr -d '\n' > body_encoded.txt # 2. Compute the embeddings with Amazon Titan Embed modelaws bedrock-runtime invoke-model \ --model-id amazon.titan-embed-text-v2:0 \ --body "$(cat body_encoded.txt)" \ embedding.json # Search the S3 Vectors index for similar chunksvector_array=$(cat embedding.json | jq '.embedding') && \aws s3vectors query-vectors \ --index-arn "$S3_VECTOR_INDEX_ARN" \ --query-vector"{\"float32\": $vector_array}" \ --top-k 3 \ --return-metadata \ --return-distance | jq -r '.vectors[] | "Distance: \(.distance) | Source: \(.metadata."x-amz-bedrock-kb-source-uri" | split("/")[-1]) | Text: \(.metadata.AMAZON_BEDROCK_TEXT[0:100])..."'左右滑动查看完整示意
首个查询结果返回以下JSON数据。
{ "key": "348e0113-4521-4982-aecd-0ee786fa4d1d", "metadata": { "x-amz-bedrock-kb-data-source-id": "0SZY6GYPVS", "x-amz-bedrock-kb-source-uri": "s3://sst-aws-docs/awsstyleguide.pdf", "AMAZON_BEDROCK_METADATA": "{\"createDate\":\"2025-10-21T07:49:38Z\",\"modifiedDate\":\"2025-10-23T17:41:58Z\",\"source\":{\"sourceLocation\":\"s3://sst-aws-docs/awsstyleguide.pdf\"", "AMAZON_BEDROCK_TEXT": "[redacted] open source (adj., n.) Two words. Use open source as an adjective (for example, open source software), or as a noun (for example, the code throughout this tutorial is open source). Don't use open-source, opensource, or OpenSource. [redacted]", "x-amz-bedrock-kb-document-page-number": 98.0 }, "distance": 0.63120436668396 }左右滑动查看完整示意
查询结果定位到了《亚马逊云科技写作风格指南》中的对应内容。规范写法应为不加连字符,即“open source”。系统甚至还检索出了该内容在文档中的页码,方便对照原文相关段落核实这一写法建议。
补充说明
Amazon S3 Vectors的集成能力也得到了进一步拓展。您可借助Amazon CloudFormation来部署和管理向量资源,通过Amazon PrivateLink实现私有网络连接,还能利用资源标签进行成本分配与访问控制。
价格与可用性
Amazon S3 Vectors已在14个亚马逊云科技区域可用:在预览阶段开放的5个区域基础上(包括美国东部——俄亥俄州、北弗吉尼亚州、美国西部——俄勒冈州、亚太地区——悉尼和欧洲地区——法兰克福),新增亚太地区(孟买、首尔、新加坡、东京)、加拿大地区(中部)以及欧洲地区(爱尔兰、伦敦、巴黎、斯德哥尔摩)。
Amazon S3 Vectors定价基于三个维度:
PUT定价:按上传向量的逻辑GB数计算,每个向量包含其逻辑向量数据、元数据及键值。
存储成本:按索引占用的总逻辑存储量计算。
查询费用:包括每次API调用的费用,以及基于索引大小(不包括不可过滤的元数据)的每TB费用。当索引规模超过10万个向量时,每TB的费用将有所降低。详细定价规则可参阅Amazon S3定价页面。
要开始使用Amazon S3 Vectors,您可直接前往Amazon S3控制台,在此创建向量索引、存储向量嵌入数据,并构建可扩展的AI应用程序。如需了解更多信息,可参阅《Amazon S3用户指南》或Amazon Web Services CLI Command参考文档。
Amazon S3定价页面:
https://aws.amazon.com/s3/pricing/
Amazon S3控制台:
https://console.aws.amazon.com/s3/vector-buckets
《Amazon S3用户指南》
https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html
Amazon Web Services CLI Command参考文档:
https://docs.aws.amazon.com/cli/latest/reference/s3vectors/
我们将持续推出更多关于re:Invent 2025重磅发布的解读文章,帮助您快速上手!
本篇作者
Sébastien Stormacq
自20世纪80年代中期首次接触Commodore 64以来,Seb专注于软件架构、开发工具以及移动计算领域。他凭借自己的技术热情、干劲、客户至上、好奇心和创造力,激发构建者挖掘亚马逊云科技云服务的价值。
新用户注册海外区域账户,可获得最高200美元服务抵扣金,覆盖Amazon Bedrock生成式AI相关服务。“免费计划”账户类型,确保零花费,安心试用。
星标不迷路,开发更极速!
关注后记得星标「亚马逊云开发者」
听说,点完下面4个按钮
就不会碰到bug了!
点击阅读原文查看博客!获得更详细内容!