Amazon S3 向量:当您的数据湖成为向量存储时
Source: Dev.to
请提供您希望翻译的文章正文内容,我将为您翻译成简体中文。
Amazon S3 Vectors – 将对象存储转变为向量存储
多年来,Amazon S3 在大多数架构图中被描绘为“仅仅是存储”。
我们把所有东西都放在那里:
- 原始事件
- PDF 与合同
- 图像和视频
- 数据湖分区
随后我们围绕它构建了 更多 系统:
- 用于语义搜索的向量数据库
- 索引服务
- 用于同步嵌入的 ETL 流水线
每一个新的 AI 工作负载都意味着 又多了一个移动部件。
有了 Amazon S3 Vectors,AWS 正悄悄地向我们提出:
💡 如果你的对象存储也能成为向量存储,会怎样?
这对任何在 AWS 上构建 AI、RAG、代理或语义搜索 的人来说都是一次巨大的转变。
为什么 S3 Vectors 很重要(一句话概括)
Amazon S3 Vectors 让你直接在 S3 中存储和查询向量嵌入,并提供原生相似度搜索——无需单独的向量数据库。
如果你是 AWS 开发者、架构师或数据从业者,这将改变你对以下问题的思考方式:
- 嵌入存放在哪里?
- 需要维护多少系统?
- 如何设计 RAG 和 AI 搜索工作负载?
这不仅仅是“又一个功能”。
这是 S3 迈入 AI 运行时 的一步 🚀.
什么是本故事中的“向量”?
简短版:
-
取文本、图像、音频或文档。
-
将其送入嵌入模型(Bedrock、SageMaker、开源等)。
-
你会得到一串数字,例如:
[0.12, -0.83, 0.07, …]
这串数字就是向量嵌入,一种表示意义的数学形式。
- 两个意义相似的项目 → 向量相似。
这可以实现:
- 语义搜索(“查找类似的东西”)
- 推荐(“推荐相似项目”)
- RAG(“为我的 LLM 查询检索合适的上下文”)
现在 S3 已经原生支持这种数据类型 ✨。
AWS 实际添加了什么?
Amazon S3 Vectors 引入了三个核心构建块:
| # | Building Block | Description |
|---|---|---|
| 1 | Vector bucket | 一种专用于 存储和查询向量 的特殊 S3 桶。它保留了普通 S3 的持久性和弹性保证。 |
| 2 | Vector index | 位于 Vector bucket 内部。它对向量进行逻辑分组(例如 docs、products、support‑tickets),相似度搜索就在这里进行。 |
| 3 | Vectors | 写入 Vector index 的嵌入向量。它们可以包含 元数据(doc_id、type、tenant、created_at 等)。您通过专用 API 和控制台进行交互——不仅仅是 PutObject / GetObject。 |
为什么这对 AI 构建者来说意义重大
说实话:向量数据库解决了真实的问题。
但在大规模使用时,许多团队最终出现了:
- S3 用于原始对象
- 向量数据库用于嵌入
- Glue / Spark / ETL 作业用于同步两者
结果:额外的监控、安全性和成本开销。
使用 S3 Vectors:
- 存储和向量共存。
- 无需部署或维护额外的向量基础设施。
- 费用基于 S3‑style storage + query usage,而不是“始终在线”的集群。
如果您满足以下情况,这尤其具有吸引力:
- 已经将 S3 视为“真相来源”。
- 对 AI 工作负载的成本敏感。
- 希望在架构图中减少系统数量。
S3 向量在 RAG / AI 架构中的作用
一个在 AWS 上实现 RAG‑style 应用的简化思路:
- 内容落地到 S3 – PDF、文档、Wiki 导出、工单、转录等。
- 生成嵌入 – 使用 Amazon Bedrock(例如 Titan 嵌入模型)或其他模型来生成嵌入向量。
- 将嵌入存入 S3 Vectors – 一个 vector bucket,一个或多个 vector indexes(例如
kb‑docs、faqs、tickets)。 - 运行时查询 –
- 根据用户请求生成查询嵌入。
- 在 S3 Vectors 上执行相似度搜索 → 获取 top‑K 最相近的向量。
- 将 top‑K 结果输入到你的 LLM – 使用 Bedrock、SageMaker 或任何 LLM 端点。
- 向用户返回最终答案 – 将检索到的上下文与 LLM 响应结合。
No external vector DB.
No “sync job” to keep storage and vectors aligned.
如果你的 数据湖位于 S3,你的 AI 检索层也可以直接驻留在那里。
Source: …
S3 向量的优势所在(具体使用案例)
1️⃣ 基于语义的文档搜索
适用场景:
- 内部知识库
- 政策 / 合规文档
- 客户合同
- 产品手册
将 原始文件 存在 S3 中,将 嵌入向量 存在 S3 Vectors。通过 语义 而非仅仅关键词匹配进行搜索。
2️⃣ 企业助理的 RAG
LLM 驱动的助理需要:
- 相关上下文
- 低延迟检索
- 成本效益高的存储
S3 Vectors 可为以下场景提供检索层:
- 支持聊天机器人 💬
- 基于 Confluence / SharePoint 导出内容的内部问答
- 针对代码片段和文档的开发者助理
结合 Bedrock Knowledge Bases 等集成,你可以将 S3 Vectors 接入受管的 RAG 流程。
3️⃣ 推荐与相似度
示例:
- “展示与此商品相似的产品。”
- “查找与这张照片在视觉上相似的图片。”
- “推荐与我刚阅读的文章相似的内容。”
将行为或内容的嵌入向量存入 S3 Vectors,并基于向量距离查询 最近邻。
4️⃣ 多租户 AI 平台
如果你在构建:
- 基于 AWS 的 SaaS AI 产品
- 多租户知识平台
你可以:
- 使用
tenant_id、project、visibility等元数据。 - 按客户/用户过滤查询。
- 将所有数据统一存放在同一存储 + 向量层中。
S3 向量 vs. 专用向量数据库
这会淘汰向量数据库吗? 未必。
它把问题从:
“我应该使用哪种向量数据库?”
转变为:
“我真的需要为这个工作负载单独使用向量数据库吗?”
✅ S3 向量非常适合的场景
- 您的主要数据已经存放在 S3 中。
- 您需要 持久、成本优化、大规模 的向量存储。
- 您不想再运营另一个分布式系统。
- 您在现有 S3 数据之上构建 RAG、语义搜索或推荐系统。
⚠️ 仍然可能需要单独向量数据库的情况
- 超低延迟、极高 QPS 且查询模式复杂的工作负载。
- 与现有非 AWS 生态系统紧密耦合。
- 高度定制的索引或评分算法,S3 向量尚未支持。
结论
Amazon S3 Vectors 让您可以将对象存储视为 一流的向量存储,将存储和检索合并为单一的、高度持久的服务。对于在 AWS 上的众多 AI、RAG 和语义搜索工作负载,它简化了架构,降低了成本,并消除了维护独立向量数据库的运维负担。当您的数据位于 S3 中,并且希望从原始对象到基于向量的 AI 体验拥有无缝、托管的路径时,请使用它。
定制索引调优或检索逻辑
对于 在 AWS 上的大量 GenAI 和 AI‑search 工作负载,S3 Vectors 将是 默认起点。
🛠️ 入门(构建者思维)
如果我在 本周开始一个 PoC,我的做法如下:
-
选择一个细分使用场景
示例: “对我们的用户组会议记录和幻灯片进行语义搜索。” -
创建向量桶 + 索引
按照 AWS 文档中 “Getting started with S3 Vectors” 部分操作。 -
使用 Bedrock 或其他模型生成嵌入
从 Bedrock 嵌入模型开始(例如 Amazon Titan)——为每个文档、页面或块生成一个嵌入。 -
将嵌入写入 S3 Vectors
包含title、speaker、date、tags、url等元数据。 -
构建一个小型 API 或 CLI
- 输入:自然语言查询
- 输出:匹配的前 K 个会话/文档
- 返回相关链接/摘要。
📌 在我的下一篇文章中,我会手把手演示使用 Amazon S3 Vector Engine 的 PoC——让你看到实际效果。
🧭 架构师视角:面向未来 12–18 个月的设计
随着 AI 工作负载的成熟,我们会更加关注:
- 统一的数据治理 —— 一个地方管理访问权限
- 成本曲线,而不仅仅是 PoC
- 运维简洁性 —— 系统更少,故障更少
S3 Vectors 与这三点契合度高:
- 使用 IAM + S3 策略 进行控制 🔐
- 定价方式类似 存储 + 查询,而不是另建集群
- 与 Bedrock、OpenSearch、分析工具 等深度集成
作为构建者,我们的任务不是收集更多工具,而是设计 易于运维且使用起来令人兴奋 的系统。S3 Vectors 正是这样一个低调却能推动我们前进的特性。
🧠 TL;DR – 简单概述
Amazon S3 Vectors 让你可以在 S3 中存储 AI 嵌入,并通过语义进行检索,无需额外的向量数据库。 它使语义搜索更容易、可扩展,并与已有的 AWS 生态系统无缝集成。
参考资料
您计划使用 S3 向量构建什么项目?在评论中留下您的想法吧!
祝构建愉快! 🚀
关于作者
Sujitha Rasamsetty 是 AWS AI 工程社区建设者,同时也是 Relanto 的数据科学家,对 云计算和人工智能 领域的新兴技术充满热情。
在工作中,她亲自处理 数据、云架构和 AI 驱动的解决方案,专注于构建可扩展、安全且可投入生产的系统。她的兴趣涵盖 机器学习、生成式 AI、云原生架构和数据平台,并乐于在高级分析与实际云实现之间搭建桥梁。
Sujitha 积极通过博客、讨论和技术知识分享与社区交流,坚信 公开学习,并致力于与社区共同成长。
