当前位置: 首页 > news >正文

Amazon S3 Vectors:向量存储、索引与多亚马逊云科技服务协同的智能桥梁解决方案

Amazon S3 Vectors:向量存储、索引与多亚马逊云科技服务协同的智能桥梁解决方案

前言

生成式 AI 与语义检索需求激增的当下,高效管理和利用向量数据成为关键,本文聚焦 Amazon S3 Vectors,深入剖析其在向量生成、存储、索引及与 Bedrock、SageMaker 等亚马逊云科技服务集成方面的能力,展现其如何为语义搜索、知识管理等场景提供高效支撑,助力开发者打造更智能的应用。

全新免费套餐(Free Tier 2.0)

在这里插入图片描述

亚马逊云科技 Free Tier 2.0 是旧版免费套餐的升级版本,旨在助力开发者与企业低成本上手云服务、拉动海外区账户注册,其设免费与付费两种计划,抵扣金可集中投用刚需服务,避免旧版配额浪费问题,免费计划零花费试用,付费计划支持全量服务,还覆盖多主流场景,兼顾零风险体验与多元使用需求

套餐形态灵活,成本可控:注册时可选免费或付费计划。免费计划提供最长 6 个月或抵扣金用完的 “零花费试用”,避免误扣;付费计划支持全量 150 + 服务,优先用抵扣金抵扣,超出按需计费,两种计划均含抵扣金、短期及永久免费服务。

抵扣金机制优化,资源不浪费:新用户最高获$200抵扣金,注册得$100,完成 5 个指定任务再得 $100。抵扣金可集中投用刚需服务,不同于旧版按服务配额分配、未用配额易浪费的情况,资源利用更高效。

用户价值高,场景覆盖广:用户可零风险体验云服务,无需担心意外扣费;6 个月免费计划与 12 个月抵扣金有效期(升级后)提供充足缓冲,永久免费服务可长期使用,且覆盖多类主流场景,满足学习、实验与初步生产需求。

解决方案概述

在这里插入图片描述

架构先通过嵌入模型,把文档转化为承载语义的向量数据;随后将这些向量存储到 Amazon S3 Vectors 中,借助其高可用、高 durability 的存储能力来管理大规模向量,最后构建向量索引,当用户发起请求时,基于索引在向量数据里快速开展语义搜索,精准返回语义相关内容,能高效支撑智能问答、文档检索等大规模文本语义检索场景,提升搜索的准确性与效率

语义精准捕捉:通过嵌入模型生成向量,能精准捕捉文本语义,让语义相似内容在向量空间距离更近,解决传统关键词检索语义理解不足的问题,提升检索语义精准度

存储与扩展性强:依托 Amazon S3 Vectors 存储向量,可高效存储大规模向量数据,具备出色的扩展性,能应对数据量增长,且保障数据高可用、高 durability

检索高效快捷:借助向量索引,大幅加速检索过程,用户发起请求时,系统能快速从海量向量中找到语义匹配结果,显著提升语义搜索的效率与用户体验

在这里插入图片描述

向量数据先存入 S3 向量存储桶,生成 S3 向量索引后,一方面可结合 Amazon Bedrock 和 Amazon SageMaker 构建知识库,另一方面能借助 Amazon OpenSearch Service 对集合类数据开展检索等操作,充分利用亚马逊云科技的多服务能力,高效支撑向量数据相关的知识管理与检索场景

多服务协同高效:整合 Amazon Bedrock、SageMaker、OpenSearch Service 等服务,可灵活构建知识库、训练模型与开展检索,多环节协同发力,提升向量数据利用效率

存储与索引可靠:基于 S3 向量存储桶和索引,能稳定存储大规模向量数据,且索引机制保障数据检索的高效性,为上层应用提供坚实数据基础

场景覆盖广泛灵活:既支持知识管理类的知识库构建场景,也能满足数据检索等需求,适配不同向量数据应用场景,具备良好的场景扩展性

前提准备:亚马逊云科技注册流程

Step.1 登录官网

登录亚马逊云科技官网,填写邮箱和账户名称完成验证(注册亚马逊云科技填写 root 邮箱、账户名,验证邮件地址,查收邮件填验证码验证,验证通过后设 root 密码并确认)

在这里插入图片描述

Step.2 选择账户计划

选择账户计划,两种计划,按需选"选择免费计划 / 选择付费计划"继续流程

  • 免费(6 个月,适合学习实验,含$200抵扣金、限精选服务,超限额或到期可升级付费,否则关停)
  • 付费(适配生产,同享$200 抵扣金,可体验全部服务,抵扣金覆盖广,用完按即用即付计费)

在这里插入图片描述

Step.3 填写联系人信息

填写联系人信息(选择使用场景,填联系人全名、电话,选择所在国家地区,完善地址、邮政编码,勾选同意客户协议,点击继续 进入下一步)

在这里插入图片描述

Step.4 绑定信息

绑定相关信息,选择国家地区,点击"Send code"收验证码填写,勾选同意协议后,点击"验证并继续"进入下一步

在这里插入图片描述

Step.5 电话验证

电话验证填写真实手机号,选择验证方式,完成安全检查,若选语音,网页同步显 4 位数字码,接来电后输入信息,再填收到的验证信息,遇问题超 10 分钟收不到可返回重试。

在这里插入图片描述

Step.6 售后支持

售后支持:免费计划自动获基本支持,付费计划需选支持计划(各计划都含客户服务,可访问文档白皮书,按需选后点 “完成注册”,若需企业级支持可了解付费升级选项,确认选好即可完成整个注册流程 )

在这里插入图片描述

S3 Vectors 实际应用

1、要创建向量存储桶,请在 Amazon S3 控制台的左侧导航窗格中选择向量存储桶,然后选择创建向量存储桶,输入向量存储桶名称,然后选择加密类型,如果未指定加密类型,Amazon S3 将应用服务器端加密,并将 Amazon S3 托管的密钥用作新向量的基本加密级别

在这里插入图片描述

2、可以创建向量索引,以便存储和查询创建的向量存储桶内的向量数据

在这里插入图片描述

3、输入向量索引名称以及要插入到索引中的向量的维度,为此索引添加的所有向量都必须具有数量完全相同的值,对于距离指标,可以选择余弦或欧几里得,创建向量嵌入时,选择嵌入模型的推荐距离指标,以便获得更准确的结果

在这里插入图片描述

4、选择创建向量索引,然后可以插入、列出和查询向量

在这里插入图片描述

5、要将向量嵌入插入到向量索引中,可以使用亚马逊云科技命令行界面、亚马逊云科技软件开发工具包或 Amazon S3 REST API,为非结构化数据生成向量嵌入,可以使用 Amazon Bedrock 提供的嵌入模型,如果正在使用最新的 Amazon Python 软件开发工具包,可以使用如下代码示例,通过 Amazon Bedrock 为文本生成向量嵌入

# 使用 Amazon Titan 文本嵌入 V2 来生成和打印嵌入。
import boto3 
import json # 在选择的亚马逊云科技区域中创建 Bedrock Runtime 客户端。
bedrock= boto3.client("bedrock-runtime", region_name="us-west-2") 要转换为嵌入的文本字符串。
texts = [
“《星球大战》:一名农场男孩加入叛军队伍,在太空中与邪恶帝国英勇作战”,
“《侏罗纪公园》:科学家们在发生意外情况的主题公园里创造恐龙”,
“《海底总动员》:鱼爸爸在海洋里苦苦寻觅他那走失的儿子”]embeddings=[]
# 为输入文本生成向量嵌入
对于文本中的文本:body = json.dumps({"inputText": text})    # 调用 Bedrock 的嵌入 APIresponse = bedrock.invoke_model(modelId='amazon.titan-embed-text-v2:0',  # Titan embedding model body=body)   # 解析响应response_body = json.loads(response['body'].read())embedding = response_body['embedding']embeddings.append(embedding)

6、现在,可以将向量嵌入插入到向量索引中,并使用查询嵌入在向量索引中查询向量

# 创建 S3Vectors 客户端
s3vectors_client = boto3.client('s3vectors', region_name='us-west-2')# 插入向量嵌入
s3vectors.put_vectors( vectorBucketName="channy-vector-bucket",indexName="channy-vector-index",vectors=[
{"key": "v1", "data": {"float32": embeddings[0]}, "metadata": {"id": "key1", "source_text": texts[0], "genre":"scifi"}},
{"key": "v2", "data": {"float32": embeddings[1]}, "metadata": {"id": "key2", "source_text": texts[1], "genre":"scifi"}},
{"key": "v3", "data": {"float32": embeddings[2]}, "metadata": {"id": "key3", "source_text":  texts[2], "genre":"family"}}
],
)# 为查询输入文本创建嵌入
# 要转换为嵌入的文本。
input_text = "列出关于太空冒险的电影"# 为模型创建 JSON 请求。
request = json.dumps({"inputText": input_text})# 使用请求和模型 ID 来调用模型,例如 Titan 文本嵌入 V2。
response = bedrock.invoke_model(modelId="amazon.titan-embed-text-v2:0", body=request)# 解码模型的原生响应正文。
model_response = json.loads(response["body"].read())# 提取并打印所生成的嵌入和输入文本标记计数。
embedding = model_response["embedding"]# 执行相似度查询,也可以选择在查询中使用筛选器
query = s3vectors.query_vectors( vectorBucketName="channy-vector-bucket",indexName="channy-vector-index",queryVector={"float32":embedding},topK=3,filter={"genre":"scifi"},returnDistance=True,returnMetadata=True)
results = query["vectors"]
print(results)

将 S3 Vectors 与其他亚马逊云科技服务集成

1、使用 S3 Vectors 创建 Amazon Bedrock 知识库,可以在 Amazon Bedrock 知识库中使用 S3 Vectors 来简化 RAG 应用程序的向量存储并降低它们的向量存储成本,在 Amazon Bedrock 控制台中创建知识库时,可以选择 S3 向量存储桶作为向量存储选项

在这里插入图片描述

2、使用 Amazon SageMaker Unified Studio,当通过 Amazon Bedrock 构建生成式 AI 应用程序时,可以在 Amazon SageMaker Unified Studio 中使用 S3 Vectors 来创建和管理知识库,SageMaker Unified Studio 可以在下一代 Amazon SageMaker 中使用,为数据和人工智能提供了一个统一的开发环境,包括使用 Amazon Bedrock 知识库构建和测试生成式 AI 应用程序

在这里插入图片描述

3、将 S3 向量数据导出到 Amazon OpenSearch Service,采用分层策略,以经济高效的方式将长期向量数据存储在Amazon S3 中,同时将高优先级向量导出到 OpenSearch 以获得实时查询性能,从而平衡成本与性能

在这里插入图片描述

4、随后进入 Amazon OpenSearch Service 集成控制台,其中包含一个模板,用于将 S3 向量索引导出到 OpenSearch 向量引擎,选择使用预选的 S3 向量来源和服务访问角色进行导出

在这里插入图片描述

在这里插入图片描述

5、开始执行步骤,以便创建新的 OpenSearch 无服务器集合,并将 S3 向量索引中的数据迁移到 OpenSearch knn 索引中,在左侧导航窗格中,选择导入历史记录,可以看到为了将 S3 向量索引中的向量数据复制到 OpenSearch 无服务器集合而新建的导入作业

在这里插入图片描述

总结

Amazon S3 Vectors 凭借生成精准向量嵌入、可靠存储与高效索引,以及与 Bedrock、SageMaker、OpenSearch Service 等多亚马逊云科技服务的深度集成,不仅能精准捕捉文本语义、高效管理大规模向量数据,还能灵活适配智能问答、文档检索等多样场景,为开发者打造更智能的生成式 AI 与语义检索应用提供了有力支撑,开启了向量数据利用的高效新纪元。

http://www.dtcms.com/a/441954.html

相关文章:

  • 第二章 prompt思维链
  • 大模型面经(一) Prompt + RAG + 微调
  • 第一章——了解prompt以及一些基础技巧方法
  • 做牛津布面料在哪个网站找客户找人一起做素材网站
  • 土豆家族工具使用适配表格大全【windows提权】
  • PyQt5 QPushButton组件详解:按钮控件的完整指南
  • Linux中do_wait函数的实现
  • 第1章 线程安全的对象生命期管理
  • Codeforces Round 1027 A. Square Year (2114)
  • 公司网站备案信息查询嵌入式开发培训
  • mysql--核心日志文件详解
  • 营销型网站要多少钱广告联盟app
  • 浙江建设职业技术学院官方网站中信建设有限责任公司资质等级
  • Vidmy 1.0.129| 无限制下载国外视频,支持高速下载、即时抓取高清视频。使用需要科学
  • (CVPR2025)DEIM模型训练自己的数据集教程(基于Pycharm)
  • 13.排序(上)
  • 《KelpBar海带Linux智慧屏项目》
  • 二叉树的层序遍历--力扣
  • 解决Linux下操作无权限问题——chmod: 正在更改...的权限:不允许的操作
  • 哈尔滨论坛建站模板ftp上传网站后怎么弄
  • 使用D3.js画人物关系图
  • 数据结构与算法篇--语义智能指针设计模式
  • 微信小程序入门学习教程,从入门到精通,WXML(WeiXin Markup Language)语法基础(8)
  • 明天好好总结汇总分析博客
  • HTML--在textarea左侧添加行号
  • mysql逻辑备份跟物理备份的区别
  • Django 学习日志
  • 如何用word做简单的网站wordpress绑定
  • 第十三篇:Python并发编程进阶:多进程(multiprocessing)
  • 硬件-电容学习DAY23——电容设计实战指南:从选型到高频应用