Amazon Bedrock 知识库现可提供完全托管的 RAG 体验

Amazon Bedrock 知识库预览版已于9月问世。从今天开始,Amazon Bedrock 知识库正式全面发布。正式推出。

借助知识库,可安全地将 Amazon Bedrock 中的基础模型 (FM) 连接到贵公司的数据,供检索增强生成 (RAG) 使用。模型生成的响应更具相关性、更加特定于上下文以及更准确;访问其他数据在其中发挥重要作用,无需不停地重新训练基础模型。对于从知识库检索的所有信息,它们均附有来源归属,从而提高透明度,并最大限度地减少幻觉。若对其工作方式感兴趣,请查看之前的帖子,其中包含关于 RAG 的入门介绍短片。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

在今天的产品发布过程中,知识库具有完全托管的 RAG 体验,以及在 Amazon Bedrock 中开始使用 RAG 的简便方法。目前,知识库管理初始向量存储设置,处理嵌入和查询,并提供创建 RAG 应用程序所需的来源归属和短期内存。如果需要,也可自定义 RAG 工作流,从而满足特定的用例要求,或集成 RAG 与其他生成式人工智能 (AI) 工具和应用程序。

完全托管的 RAG 体验

适用于 Amazon Bedrock 的知识库会管理端到端 RAG 工作流。指定数据位置,选择嵌入模型,将数据转换为向量嵌入,然后通过 Amazon Bedrock 在账户中创建向量存储,以便存储向量数据。在选择此选项(仅控制台支持)时,Amazon Bedrock 将在账户的 Amazon OpenSearch Serverless 中创建向量索引,不必自行管理任何内容。

image(1).png

向量嵌入包含文档内部文本数据的数字表征形式。每个嵌入旨在获取数据的语义或上下文含义。Amazon Bedrock 负责在向量存储中创建、存储、管理和更新嵌入,同时确保始终同步数据和向量存储。

目前,Amazon Bedrock 也支持 RAG 的 2 个新 API,这用于处理嵌入和查询,同时提供创建 RAG 应用程序所需的来源归属和短期内存。

通过全新的 RetrieveAndGenerate API,直接从知识库检索相关信息;在 API 调用中指定基础模型,Amazon Bedrock 便可根据结果生成响应。以下内容将围绕工作方式。

使用 RetrieveAndGenerate API

要试用,导航到 Amazon Bedrock 控制台,创建并选择知识库,然后选择“测试知识库”。在本演示中,创建知识库,从而访问亚马逊云科技生成式 AI 的 PDF 文件。选择“选择模型”,指定基础模型。

image(2).png

然后,提问,“何为 Amazon Bedrock?

image(3).png

Amazon Bedrock 会在在后台将查询转换为嵌入,查询知识库,然后利用搜索结果作为上下文信息扩充基础模型提示,并返回基础模型生成对问题的回复。对于多轮对话,知识库管理对话的短期内存,从而提供更多上下文结果。

以下快速演示介绍了如何同时使用 API 与适用于 Python 的亚马逊云科技开发工具包 (Boto3)。

def retrieveAndGenerate(input, kbId):
    return bedrock_agent_runtime.retrieve_and_generate(
        input={
            'text': input
        },
        retrieveAndGenerateConfiguration={
            'type': 'KNOWLEDGE_BASE',
            'knowledgeBaseConfiguration': {
                'knowledgeBaseId': kbId,
                'modelArn': 'arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1'
                }
            }
        )



response = retrieveAndGenerate("What is Amazon Bedrock?", "AES9P3MT9T")["output"]["text"]

RetrieveAndGenerate API 输出包含生成的响应、来源归属和检索的文本块。在演示中,API 响应如下所示(为简洁起见,已编辑部分输出实施):

{ ... 
    'output': {'text': 'Amazon Bedrock is a managed service from AWS that ...'}, 
    'citations': 
        [{'generatedResponsePart': 
             {'textResponsePart': 
                 {'text': 'Amazon Bedrock is ...', 'span': {'start': 0, 'end': 241}}
             }, 
            'retrievedReferences': 
            [{'content':
                 {'text': 'All AWS-managed service API activity...'}, 
            'location': {'type': 'S3', 's3Location': {'uri': 's3://data-generative-ai-on-aws/gaia.pdf'}}}, 
     {'content': 
         {'text': 'Changing a portion of the image using ...'}, 
     'location': {'type': 'S3', 's3Location': {'uri': 's3://data-generative-ai-on-aws/gaia.pdf'}}},...]
        ...}]
}

生成的响应如下所示:

Amazon Bedrock 是一项托管服务,这将通过简单 API 为生成式 AI 提供 Serverless 体验。该款产品支持访问亚马逊云科技和第三方的基础模型,从而执行文本生成、图像生成和构建对话代理等任务。对于通过 Amazon Bedrock 处理的数据,它们需要保持隐私和加密。

自定义 RAG 工作流

若要进一步处理检索的文本块,查看检索的相关性分数,或自行开发文本生成的业务流程,请使用新检索 API。使用该 API,用户查询会转换为嵌入,搜索知识库并返回相关结果,便于您更妥善地控制根据语义搜索结果构建自定义工作流。

使用检索 API

在 Amazon Bedrock 控制台中,切换开关,禁用“生成响应”。

image(4).png

然后,再次提问“何为 Amazon Bedrock?”这次,输出展示了检索结果,其中也有文本块来源的源文档链接。

image(5).png

下方将介绍如何同时使用检索 API 与 boto3。

import boto3
bedrock_agent_runtime = boto3.client(
    service_name = "bedrock-agent-runtime"
)
def retrieve(query, kbId, numberOfResults=5):
    return bedrock_agent_runtime.retrieve(
        retrievalQuery= {
            'text': query
        },
        knowledgeBaseId=kbId,
        retrievalConfiguration= {
            'vectorSearchConfiguration': {
                'numberOfResults': numberOfResults
            }
        }
    )
response = retrieve("What is Amazon Bedrock?", "AES9P3MT9T")["retrievalResults"]

检索 API 的输出包含检索的文本块、源数据的位置类型和 URI,以及检索分数。分数将有助于确定与查询匹配度更高的区块。

在演示中,API 响应如下所示(为简洁起见,已编辑部分输出):

[{'content': {'text': 'Changing a portion of the image using ...'},

  'location': {'type': 'S3',
  
   's3Location': {'uri': 's3://data-generative-ai-on-aws/gaia.pdf'}},
   
  'score': 0.7329834},
  
 {'content': {'text': 'back to the user in natural language.For ...'},
 
  'location': {'type': 'S3',
  
   's3Location': {'uri': 's3://data-generative-ai-on-aws/gaia.pdf'}},
   
  'score': 0.7331088},
  
...]

要进一步自定义 RAG 工作流,请定义自定义区块策略,并选择自定义向量存储。

自定义区块策略 — 为高效从数据中检索,一种常见做法是先将文档拆分为可管理的区块。模型的理解和信息处理能力进一步增强,从而改进相关检索和生成语义连贯的响应。适用于 Amazon Bedrock 的知识库可管理文档的区块。

在为知识库配置数据源时,现可定义区块策略。默认区块会将数据拆分为区块,其中最多 200 个令牌,并专为问答任务优化。在不确定数据的最佳区块大小时,使用默认区块。

此外,也可选择指定自定义块大小,其中内容与固定大小的区块重叠。若知晓数据的最佳区块大小和重叠范围(基于文件属性、准确性测试等),应当使用固定大小的区块。在建议的 0-20% 范围内,区块间的重叠区域有助于提高准确性。重叠范围越高,相关性分数降低。

若选择根据每个文档创建一个嵌入,知识库会将每个文件保存为单个区块。如果不希望 Amazon Bedrock 对数据进行区块划分,例如若要使用特定于用例的算法离线区块数据,使用此选项。常见用例包含代码文档。

自定义向量存储 — 也可选择自定义向量存储。可用向量数据库选项包含适用于 Amazon OpenSearch Serverless 的的向量引擎、Pinecone 和 Redis Enterprise Cloud。要使用自定义向量存储,必须从支持的选项列表创建全新空向量数据库,并附上向量数据库索引名称,以及索引字段与元数据字段映射。该向量数据库应专属于 Amazon Bedrock。

image(6).png

集成 RAG 与其他生成式 AI 工具和应用程序

AI 助手可执行多步骤任务并访问公司数据源,从而生成相关性和上下文感知更高的响应;若要构建此类助手,可集成知识库与 适用于 Amazon Bedrock 的代理 。也可使用 LangChain 的知识库检索插件,集成 RAG 工作流与生成式 AI 应用程序。

可用性

亚马逊云科技区域美国东部(弗吉尼亚北部)和美国西部(俄勒冈州)现已支持适用于 Amazon Bedrock 的知识库。

了解更多

  • 适用于Amazon Bedrock 的知识库

  • 知识库用户指南

  • 控制台中的 Amazon Bedrock

文章来源:Amazon Bedrock 知识库现可提供完全托管的 RAG 体验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/368244.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

海外IP代理:解锁网络边界的实战利器

文章目录 引言:正文:一、Roxlabs全球IP代理服务概览特点:覆盖范围:住宅IP真实性:性价比:在网络数据采集中的重要性: 二、实战应用案例一:跨境电商竞品分析步骤介绍:代码示…

简单几步,借助Aapose.Cells将 Excel 工作表拆分为文件

近年来,Excel 文件已成为无数企业数据管理的支柱。然而,管理大型 Excel 文件可能是一项艰巨的任务,尤其是在高效共享和处理数据时。为了应对这一挑战,大型 Excel 工作簿被拆分为较小的工作簿以增强电子表格管理。Aspose提供了这样…

堪称灾难级攻击的 UDP FLOOD洪水攻击,应该如何防护?

DDOS又称为分布式拒绝服务,全称是Distributed Denial of Service。DDOS本是利用合理的请求造成资源过载,导致服务不可用,从而造成服务器拒绝正常流量服务。就如酒店里的房间是有固定的数量的,比如一个酒店有50个房间,当…

【Kafka】服务器Broker与Controller详解

这里写自定义目录标题 Broker概述Broker总体工作流程Broker重要参数 Controller为什么需要Controller具体作用数据服务Leader选举选举流程脑裂问题羊群效应触发leader选举 Broker 概述 Kafka服务实例,负责消息的持久化、中转等功能。一个独立的Kafka 服务器被就是…

AES算法:数据传输的安全保障

在当今数字化时代,数据安全成为了一个非常重要的问题。随着互联网的普及和信息技术的发展,我们需要一种可靠的加密算法来保护我们的敏感数据。Advanced Encryption Standard(AES)算法应运而生。本文将介绍AES算法的优缺点、解决了…

金和OA jc6 UploadFileBlock 任意文件上传漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

SpringBoot实战项目第一天

环境搭建 后端部分需要准备: sql数据库 创建SpringBoot工程,引入对应的依赖(web\mybatis\mysql驱动) 配置文件application.yml中引入mybatis的配置信息 创建包结构,并准备实体类 完成今日开发后项目部分内容如下图示 用户注册于登录部分…

【MongoDB】跨库跨表查询(python版)

MongoDB跨表跨库查询 1.数据准备:2.跨集合查询3.跨库查询应该怎么做? 讲一个简单的例子,python连接mongodb做跨表跨库查询的正确姿势 1.数据准备: use order_db; db.createCollection("orders"); db.orders.insertMan…

机器学习 | 如何利用集成学习提高机器学习的性能?

目录 初识集成学习 Bagging与随机森林 Otto Group Product(实操) Boosting集成原理 初识集成学习 集成学习(Ensemble Learning)是一种通过组合多个基本模型来提高预测准确性和泛化能力的机器学习方法。它通过将多个模型的预测结果进行整合或投票来做…

增加Vscode引用路径

增加Vscode引用路径 增加Vscode引用路径问题说明解决思路1在Vscode中进行配置缺点 解决思路2 增加Vscode引用路径 问题说明 在嵌入式开发中需要经常用到库函数(SPL), Vscode需要配置引用路径才能对函数名或变量进行跳转 解决思路1 与Keil5 MDK类似, 在配置C/C的json文件中添…

计算机网络_1.6.2 计算机网络体系结构分层的必要性

1.6.2 计算机网络体系结构分层的必要性 一、五层原理体系结构每层各自主要解决什么问题1、物理层2、数据链路层3、网络层4、运输层5、应用层 二、总结三、练习 笔记来源: B站 《深入浅出计算机网络》课程 本节主要介绍实现计算机网络需要解决哪些问题?以…

【Crypto | CTF】BUUCTF 大帝的密码武器1

天命:这题真的是来刷经验的,有点吐血 首先这题是贼简单,但我居然跪到了,所以特此写这一篇来惩戒自己心太大 拿到文件,文件写着zip,改成zip后缀名即可,也不算啥难的 打开里面的两份文件&#x…

NLP入门系列—Attention 机制

NLP入门系列—Attention 机制 Attention 正在被越来越广泛的得到应用。尤其是 [BERT]火爆了之后。 Attention 到底有什么特别之处?他的原理和本质是什么?Attention都有哪些类型?本文将详细讲解Attention的方方面面。 Attention 的本质是什…

LabVIEW传感器通用实验平台

LabVIEW传感器通用实验平台 介绍了基于LabVIEW的传感器实验平台的开发。该平台利用LabVIEW图形化编程语言和多参量数据采集卡,提供了一个交互性好、可扩充性强、使用灵活方便的传感器技术实验环境。 系统由硬件和软件两部分组成。硬件部分主要包括多通道数据采集卡…

MySQL 安装配置 windows

一、下载 去官网MySQL :: MySQL Downloads 下载社区版 然后根据自己的系统选择 直接下载。 二、安装 点击安装程序 这边看样子缺少东西。 去这边下载 Latest supported Visual C Redistributable downloads | Microsoft Learn 然后再一次安装mysql 三、配置 安装完成后&a…

Vue3_基础使用_2

这节主要介绍:标签和组件的ref属性,父子组件间的传递值,ts的接口定义,vue3的生命周期 1.标签的ref属性。 1.1ref属性就是给标签打标识用的,相当于html的id,但是在vue3中用id可能会乱,下面是ref…

ncc匹配(一,理论)

前头从来没用过ncc,基于形状匹配搞定后,又翻了翻learning opencv,他并不推荐ncc,而是力推emd,这也是当初我没考虑用ncc的原因。 当初看到ncc公式很复杂,也就忘了。 我的第一个匹配,是最笨的&a…

系统架构19 - 面向对象

面向对象设计 相关概念面向对象分析基本步骤基本原则分析模型 面向对象设计设计模型类的类型 面向对象编程基本特点需求建模设计原则面向对象软件测试 相关概念 接口:描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。消…

服务器基础知识(IP地址与自动化技术的使用)

目录 ip地址是什么? 如何查看ip地址 Windows的命令提示符 图形化版本: 自动化技术的应用与意义 ip地址是什么? IP地址的主要作用是**为互联网上的每个网络和每台主机分配一个逻辑地址**。 它由32位二进制数字组成,通常分为四…

无人机激光雷达标定板

机载激光雷达标定板是用于校准和验证机载激光雷达系统的设备。由于机载激光雷达系统在测量地形、建筑物和植被等方面具有广泛的应用,因此标定板的使用对于确保测量结果的准确性和可靠性至关重要。 标定板通常由高反射率的材料制成,如镀金的玻璃或陶瓷&am…