上下文和语义搜索的兴起使得电子商务和零售企业可以直接为其消费者进行搜索。由生成式人工智能支持的搜索引擎和推荐系统可以通过理解自然语言查询并返回更准确的结果,以指数方式改善产品搜索体验。这增强了整体用户体验,帮助客户准确找到他们正在寻找的东西。
亚马逊开放搜索服务 现在支持 余弦相似度 k-NN 索引的度量。 余弦相似度衡量两个向量之间夹角的余弦值,余弦角越小表示向量之间的相似度越高。 使用余弦相似度,您可以衡量两个向量之间的方向,这使其成为某些特定语义搜索应用程序的不错选择。
在这篇文章中,我们展示了如何使用以下方法构建上下文文本和图像搜索引擎以进行产品推荐 Amazon Titan 多模式嵌入模型,在 亚马逊基岩, 亚马逊 OpenSearch 无服务器.
多模态嵌入模型旨在学习文本、图像和音频等不同模态的联合表示。通过对包含图像及其相应标题的大规模数据集进行训练,多模态嵌入模型学会将图像和文本嵌入到共享的潜在空间中。以下是其工作原理的高级概述:
- 独立编码器 – 这些模型针对每种模态都有单独的编码器 - 用于文本的文本编码器(例如,BERT 或 RoBERTa)、用于图像的图像编码器(例如,用于图像的 CNN)和用于音频的音频编码器(例如,Wav2Vec 等模型) 。每个编码器生成嵌入,捕获各自模态的语义特征
- 模态融合 – 使用额外的神经网络层组合来自单模态编码器的嵌入。目标是学习模式之间的相互作用和相关性。常见的融合方法包括串联、逐元素运算、池化和注意力机制。
- 共享表示空间 – 融合层有助于将各个模态投影到共享表示空间中。通过对多模态数据集进行训练,该模型学习了一个公共嵌入空间,其中代表相同底层语义内容的每种模态的嵌入更加紧密。
- 下游任务 – 生成的联合多模态嵌入可用于各种下游任务,例如多模态检索、分类或翻译。与单个模态嵌入相比,该模型使用跨模态的相关性来提高这些任务的性能。关键优势是能够通过联合建模来理解文本、图像和音频等模态之间的交互和语义。
解决方案概述
该解决方案提供了构建大型语言模型 (LLM) 支持的搜索引擎原型的实现,以根据文本或图像查询检索和推荐产品。我们详细介绍了使用步骤 Amazon Titan 多模式嵌入 用于将图像和文本编码为嵌入、将嵌入提取到 OpenSearch 服务索引中以及使用 OpenSearch 服务查询索引的模型 k 最近邻 (k-NN) 功能.
该解决方案包括以下组件:
- Amazon Titan 多模式嵌入模型 – 该基础模型 (FM) 生成本文中使用的产品图像的嵌入。借助 Amazon Titan Multimodal Embeddings,您可以为内容生成嵌入并将其存储在矢量数据库中。当最终用户提交文本和图像的任意组合作为搜索查询时,模型会生成搜索查询的嵌入,并将它们与存储的嵌入相匹配,以向最终用户提供相关的搜索和推荐结果。您可以进一步自定义模型,以增强其对您独特内容的理解,并使用图像-文本对进行微调来提供更有意义的结果。默认情况下,该模型生成 1,024 维的向量(嵌入),并通过 Amazon Bedrock 访问。您还可以生成更小的尺寸以优化速度和性能
- 亚马逊 OpenSearch 无服务器 – 它是 OpenSearch 服务的按需无服务器配置。我们使用 Amazon OpenSearch Serverless 作为矢量数据库来存储 Amazon Titan Multimodal Embeddings 模型生成的嵌入。在 Amazon OpenSearch Serverless 集合中创建的索引用作我们的检索增强生成 (RAG) 解决方案的向量存储。
- 亚马逊SageMaker Studio – 它是用于机器学习 (ML) 的集成开发环境 (IDE)。机器学习从业者可以执行所有机器学习开发步骤——从准备数据到构建、训练和部署机器学习模型。
解决方案设计由两部分组成:数据索引和上下文搜索。在数据索引期间,您处理产品图像以生成这些图像的嵌入,然后填充矢量数据存储。这些步骤在用户交互步骤之前完成。
在上下文搜索阶段,来自用户的搜索查询(文本或图像)被转换为嵌入,并在向量数据库上运行相似性搜索,以基于相似性搜索找到相似的产品图像。然后,您将显示最相似的结果。这篇文章的所有代码都可以在 GitHub回购.
下图说明了解决方案体系结构。
以下是解决方案工作流程步骤:
- 从公众那里下载产品描述文字和图片 亚马逊简单存储服务 (Amazon S3)存储桶。
- 检查并准备数据集。
- 使用 Amazon Titan 多模式嵌入模型 (amazon.titan-embed-image-v1) 生成产品图像的嵌入。如果您有大量图像和描述,您可以选择使用 Amazon Bedrock 的批量推理.
- 将嵌入存储到 亚马逊 OpenSearch 无服务器 作为搜索引擎。
- 最后,以自然语言获取用户查询,使用 Amazon Titan Multimodal Embeddings 模型将其转换为嵌入,并执行 k-NN 搜索以获得相关搜索结果。
我们使用 SageMaker Studio(图中未显示)作为 IDE 来开发解决方案。
以下各节将详细讨论这些步骤。我们还提供了输出的屏幕截图和详细信息。
先决条件
要实施本文中提供的解决方案,您应该具备以下条件:
- An AWS账户 熟悉 FM、Amazon Bedrock、 亚马逊SageMaker和开放搜索服务。
- 在 Amazon Bedrock 中启用的 Amazon Titan 多模式嵌入模型。您可以确认它已启用 模型访问 Amazon Bedrock 控制台的页面。如果启用了 Amazon Titan Multimodal Embeddings,访问状态将显示为 授予访问权限,如以下屏幕截图所示。
如果模型不可用,请通过选择启用对模型的访问 管理模型访问选择 Amazon Titan 多模式嵌入 G1,并选择 请求模型访问。该模型立即可供使用。
设置解决方案
完成先决条件步骤后,您就可以设置解决方案了:
- 在您的 AWS 账户中,打开 SageMaker 控制台并选择 GOHAT STUDIO 在导航窗格中。
- 选择您的域和用户配置文件,然后选择 开放工作室.
您的域名和用户配置文件名称可能不同。
- 系统终端 下 实用程序和文件.
- 运行以下命令来克隆 GitHub回购 到 SageMaker Studio 实例:
- 导航到
multimodal/Titan/titan-multimodal-embeddings/amazon-bedrock-multimodal-oss-searchengine-e2e
文件夹中。 - 打开
titan_mm_embed_search_blog.ipynb
笔记本电脑。
运行解决方案
打开文件 titan_mm_embed_search_blog.ipynb
并使用数据科学 Python 3 内核。上 运行 菜单中选择 运行所有单元格 运行此笔记本中的代码。
该笔记本执行以下步骤:
- 安装此解决方案所需的包和库。
- 加载公开可用的 Amazon Berkeley 对象数据集 和 pandas 数据框中的元数据。
该数据集包含 147,702 个产品列表以及多语言元数据和 398,212 个独特的目录图像。在这篇文章中,您仅使用美国英语的商品图像和商品名称。您使用大约 1,600 种产品。
- 使用 Amazon Titan Multimodal Embeddings 模型生成项目图像的嵌入
get_titan_multomodal_embedding()
功能。为了抽象起见,我们在该笔记本中定义了所有重要的函数utils.py
文件中。
接下来,您创建并设置 Amazon OpenSearch Serverless 矢量存储(集合和索引)。
- 在创建新的矢量搜索集合和索引之前,必须首先创建三个关联的 OpenSearch Service 策略:加密安全策略、网络安全策略和数据访问策略。
- 最后,将图像嵌入提取到向量索引中。
现在您可以执行实时多模式搜索。
运行上下文搜索
在本节中,我们将展示基于文本或图像查询的上下文搜索的结果。
首先,让我们根据文本输入执行图像搜索。在下面的示例中,我们使用文本输入“drinkware glass”并将其发送到搜索引擎以查找相似的项目。
以下屏幕截图显示了结果。
现在让我们看看基于简单图像的结果。输入图像被转换为向量嵌入,并且基于相似性搜索,模型返回结果。
您可以使用任何图像,但对于以下示例,我们根据项目 ID 使用数据集中的随机图像(例如, item_id
=“B07JCDQWM6”),然后将此图像发送到搜索引擎以查找相似的项目。
以下屏幕截图显示了结果。
清理
为了避免将来产生费用,请删除此解决方案中使用的资源。您可以通过运行笔记本的清理部分来完成此操作。
结论
本文介绍了如何在 Amazon Bedrock 中使用 Amazon Titan 多模态嵌入模型来构建强大的上下文搜索应用程序。我们特别演示了产品列表搜索应用程序的示例。我们看到了嵌入模型如何能够高效、准确地从图像和文本数据中发现信息,从而增强搜索相关项目时的用户体验。
Amazon Titan 多模式嵌入可帮助您为最终用户提供更准确且与上下文相关的多模式搜索、推荐和个性化体验。例如,拥有数亿张图像的图库摄影公司可以使用该模型来增强其搜索功能,因此用户可以使用短语、图像或图像和文本的组合来搜索图像。
Amazon Bedrock 中的 Amazon Titan 多模式嵌入模型现已在美国东部(弗吉尼亚北部)和美国西部(俄勒冈)AWS 区域推出。要了解更多信息,请参阅 Amazon Titan 图像生成器、多模式嵌入和文本模型现已在 Amazon Bedrock 中提供是, 亚马逊泰坦产品页面,并 亚马逊基岩用户指南。要开始在 Amazon Bedrock 中使用 Amazon Titan 多模式嵌入,请访问 亚马逊基岩控制台.
开始使用 Amazon Titan Multimodal Embeddings 模型进行构建 亚马逊基岩 !
作者简介
桑迪普辛格 是 Amazon Web Services 的高级生成式 AI 数据科学家,帮助企业利用生成式 AI 进行创新。他专注于生成人工智能、人工智能、机器学习和系统设计。他热衷于开发最先进的人工智能/机器学习驱动的解决方案,以解决不同行业的复杂业务问题,优化效率和可扩展性。
玛尼哈努加 是一位技术主管 - 生成式 AI 专家、《AWS 上的应用机器学习和高性能计算》一书的作者,以及女性制造业教育基金会董事会成员。她领导计算机视觉、自然语言处理和生成人工智能等各个领域的机器学习项目。她在 AWS re:Invent、Women in Manufacturing West、YouTube 网络研讨会和 GHC 23 等内部和外部会议上发表演讲。在空闲时间,她喜欢沿着海滩长距离跑步。
鲁宾德·格鲁瓦尔 是 AWS 的高级 AI/ML 专家解决方案架构师。他目前专注于 Amazon SageMaker 上的模型和 MLOps 服务。在此之前,他曾担任机器学习工程师,构建和托管模型。工作之余,他喜欢打网球和在山路上骑自行车。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/build-a-contextual-text-and-image-search-engine-for-product-recommendations-using-amazon-bedrock-and-amazon-opensearch-serverless/
- :具有
- :是
- :不是
- :在哪里
- $UP
- 1
- 100
- 125
- 212
- 23
- 258
- 411
- 600
- 7
- 89
- a
- 对,能力--
- 关于
- 抽象化
- ACCESS
- 访问
- 账号管理
- 精准的
- 横过
- 额外
- 优点
- AI
- 人工智能数据
- AI / ML
- 所有类型
- 沿
- 还
- Amazon
- 亚马逊SageMaker
- 亚马逊网络服务
- an
- 和
- 角度
- 任何
- 应用领域
- 应用领域
- 应用的
- 方法
- 约
- 架构
- 保健
- 人造的
- 人工智能
- AS
- 相关
- At
- 关注我们
- 音频
- 增强
- 作者
- 可使用
- 避免
- AWS
- AWS re:Invent
- 基于
- BE
- 海滩
- 伯克利
- 之间
- 板
- 董事会
- 书
- 建立
- 建筑物
- 商业
- 企业
- 但是
- by
- CAN
- 字幕
- 捕获
- 收费
- 选择
- 选择
- 分类
- 接近
- 美国有线电视新闻网
- 码
- 采集
- 组合
- 结合
- 相当常见
- 公司
- 相比
- 完成
- 完成
- 复杂
- 组件
- 一台
- 计算机视觉
- 计算
- 概念
- 会议
- 配置
- 确认
- 由
- 安慰
- 消费者
- 内容
- 上下文
- 兑换
- 转换
- 相关
- 相应
- 创建信息图
- 创建
- 目前
- 合作伙伴
- 定制
- data
- 数据访问
- 数据科学
- 数据科学家
- 数据库
- 数据集
- 默认
- 定义
- 证明
- 表示
- 部署
- 描述
- 设计
- 设计
- 细节
- 详情
- 开发
- 发展
- 研发支持
- 图表
- 不同
- 尺寸
- 团队介绍
- 发现
- 讨论
- 屏 显:
- 不同
- do
- 域
- 域名
- ,我们将参加
- 每
- 东部
- 电子商务
- 教育
- 效率
- 高效
- 嵌
- 嵌入
- enable
- 启用
- 使
- 加密
- 发动机
- 工程师
- 引擎
- 英语
- 提高
- 增强
- 加强
- 环境
- 究竟
- 例子
- 体验
- 体验
- 成倍
- 外部
- 熟悉
- 特征
- 文件
- 找到最适合您的地方
- 姓氏:
- 重点
- 以下
- 针对
- 基金会
- FRAME
- Free
- 止
- 功能
- 功能
- 功能
- 进一步
- 聚变
- 未来
- 生成
- 产生
- 产生
- 代
- 生成的
- 生成式人工智能
- 发电机
- 得到
- 得到
- Go
- 目标
- 非常好
- 有
- he
- 帮助
- 帮助
- 帮助
- 这里
- 高
- 高水平
- 更高
- 托管
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- 巨大
- 数百
- 亿万
- ID
- if
- 说明
- 图片
- 图片搜索
- 图片
- 立即
- 实施
- 履行
- 重要
- 改善
- in
- 包括
- 包括
- 指数
- 指标
- 个人
- 行业
- 信息
- 创新
- 输入
- 例
- 集成
- 房源搜索
- 相互作用
- 互动
- 内部
- 成
- IT
- 项目
- 它的
- 联合
- JPEG
- 键
- 语言
- 大
- 大规模
- 层
- 铅
- 信息
- 学习用品
- 学习
- 可以学习
- 库
- 喜欢
- 喜欢
- 清单
- 房源
- LLM
- 长
- 看
- 寻找
- 机
- 机器学习
- 制成
- 制作
- 制造业
- 火柴
- 可能..
- 有意义的
- 衡量
- 措施
- 机制
- 会员
- 菜单
- 元数据
- 公
- 百万
- ML
- 多播
- 模型
- 造型
- 模型
- 更多
- 山
- 必须
- 姓名
- 名称
- 自然
- 自然语言处理
- 旅游导航
- 邻居
- 网络
- 网络安全
- 神经
- 神经网络
- 全新
- 笔记本
- 现在
- 数
- 对象
- of
- on
- 点播
- 仅由
- 打开
- 运营
- 优化
- 追求项目的积极优化
- or
- 俄勒冈
- 我们的
- 产量
- 学校以外
- 最划算
- 简介
- 包
- 对
- 大熊猫
- 面包
- 特别
- 部分
- 多情
- 演出
- 性能
- 施行
- 个性化
- 相
- 摄影
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 播放
- 政策
- 政策
- 池
- 帖子
- 功率
- 供电
- 强大
- Prepare
- 准备
- 先决条件
- 呈现
- 先
- 问题
- 过程
- 处理
- 产品
- 热销产品
- 本人简介
- 项目
- 项目
- 原型
- 提供
- 提供
- 提供
- 国家
- 公然
- 蟒蛇
- 查询
- 询问
- 抹布
- 随机
- RE
- 准备
- 实时的
- 建议
- 推荐
- 建议
- 参考
- 地区
- 相应
- 代表
- 表示
- 必须
- 资源
- 那些
- 导致
- 成果
- 零售
- 恢复
- 返回
- 回报
- 上升
- 角色
- 运行
- 运行
- 运行
- sagemaker
- 清酒
- 同
- 锯
- 可扩展性
- 科学
- 科学家
- 截图
- 搜索
- 搜索引擎
- 搜索引擎
- 搜索
- 部分
- 部分
- 保安
- 选择
- 语义
- 语义
- 提交
- 前辈
- 分开
- 无服务器
- 服务
- 服务
- 特色服务
- 服务
- 集
- 共用的,
- 她
- 应该
- 显示
- 如图
- 作品
- 类似
- 简易
- 小
- So
- 方案,
- 解决方案
- 解决
- 一些
- 太空
- 说
- 专家
- 专家
- 专业
- 具体的
- 速度
- 开始
- 国家的最先进的
- Status
- 步骤
- 库存
- 存储
- 商店
- 存储
- 存储
- 简单的
- 工作室
- 这样
- 支持
- 系统
- 产品
- 任务
- 科技
- 网球
- 文本
- 文字的
- 这
- 关节
- 其
- 他们
- 然后
- 从而
- 博曼
- Free Introduction
- 三
- 通过
- 次
- 泰坦
- 至
- 今晚
- 一起
- 最佳
- 产品培训
- 翻译
- 二
- 下
- 相关
- 理解
- 理解
- 独特
- us
- 使用
- 用过的
- 用户
- 用户体验
- 用户
- 使用
- 运用
- 各个
- 通过
- 弗吉尼亚州
- 愿景
- 参观
- 演练
- we
- 卷筒纸
- Web服务
- 在线研讨会
- 西部
- 什么是
- ,尤其是
- 这
- 而
- 维基百科上的数据
- 将
- 女性
- 工作
- 工作
- 工作流程
- 合作
- 完全
- 您一站式解决方案
- YouTube的
- 和风网