人工智能领域正经历快速演变,检索增强生成 (RAG) 正在成为一项关键技术。RAG 通过将生成式 AI 模型的能力与外部数据源无缝集成,使 AI 系统能够提供更明智且上下文相关的响应。这种方法超越了仅仅依赖模型现有知识库的局限性。在本文中,我们将深入探讨 Amazon Bedrock 知识库中自定义数据连接器的变革潜力,展示它们如何简化 RAG 工作流程的创建,从而利用自定义输入数据。此功能使 Amazon Bedrock 知识库能够摄取流式数据,从而允许开发人员通过直接 API 调用在其知识库中动态添加、更新或删除信息。
考虑一下实时数据摄取至关重要的众多应用程序:分析点击流模式、处理信用卡交易、解释来自物联网 (IoT) 传感器的数据、进行日志分析以及监控商品价格。在这些情况下,当前数据和历史趋势都在知情决策中发挥着至关重要的作用。传统上,整合此类关键数据输入需要在支持的数据源中暂存数据,然后启动或安排数据同步作业。此过程的持续时间因数据的质量和数量而异。但是,借助自定义数据连接器,组织可以快速从自定义数据源摄取特定文档,而无需完全同步,并且可以在不依赖中间存储的情况下摄取流式数据。这种方法最大限度地减少了延迟并消除了存储开销,从而加快了数据访问速度,降低了延迟并提高了应用程序性能。
通过自定义连接器进行流式摄取,Amazon Bedrock 知识库可以处理流式数据,而无需中间数据源。这使数据可以近乎实时地可用。此功能使用所选的 Amazon Bedrock 模型自动将输入数据分段并转换为嵌入,并将所有内容存储在后端向量数据库中。这种简化的流程适用于新的和现有的数据库,使您可以专注于构建 AI 应用程序,而无需安排数据分块、嵌入生成或向量存储预置和索引。此外,从自定义数据源摄取特定文档的能力通过消除中间存储要求来减少延迟并降低运营成本。
Amazon Bedrock:生成式 AI 的基础
Amazon Bedrock 是一项完全托管的服务,提供来自 Anthropic、Cohere、Meta、Stability AI 和 Amazon 等领先 AI 公司的一系列高性能基础模型 (FM),可以通过统一 API 访问。这项全面的服务提供了广泛的功能,使您能够开发具有强大安全性、隐私性和负责任的 AI 功能的生成式 AI 应用程序。借助 Amazon Bedrock,您可以探索和评估适用于您特定用例的顶级 FM,使用微调和 RAG 等技术使用您自己的数据私下自定义它们,并构建可以使用您的企业系统和数据源执行任务的智能代理。
Amazon Bedrock 知识库:通过知识增强 AI
Amazon Bedrock 知识库使组织能够构建完全托管的 RAG 管道,这些管道使用来自私有数据源的上下文信息来丰富 AI 响应。这带来了更相关、更准确和更个性化的互动。通过利用 Amazon Bedrock 知识库,您可以创建通过查询知识库获得的上下文来增强的应用程序。它通过抽象化构建管道的复杂性并提供开箱即用的 RAG 解决方案来加速上市时间。这减少了应用程序的开发时间。
自定义连接器:无缝流式摄取的关键
Amazon Bedrock 知识库提供对自定义连接器和流式数据摄取的支持。这使您可以通过直接 API 调用在知识库中添加、更新和删除数据,从而提供前所未有的灵活性和控制力。
构建具有 RAG 的生成式 AI 股票价格分析器:解决方案概述
在本文中,我们将演示一种使用 Amazon Bedrock 知识库、自定义连接器以及使用 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 创建的主题的 RAG 架构,以使用户能够分析股票价格趋势。Amazon MSK 是一种流式数据服务,可简化 Apache Kafka 基础设施和运营的管理,从而可以轻松地在 Amazon Web Services (AWS) 上运行 Apache Kafka 应用程序。该解决方案支持通过向量嵌入和大语言模型 (LLM) 对客户反馈进行实时分析。
架构组件
该架构由两个主要组件组成:
预处理流式数据工作流程:
- 包含股票价格数据的 .csv 文件上传到 MSK 主题,模拟流式输入。
- 这会触发一个 AWS Lambda 函数。
- 该函数将使用的数据摄取到知识库中。
- 知识库利用嵌入模型将数据转换为向量索引。
- 向量索引存储在知识库中的向量数据库中。
用户查询期间的运行时执行:
- 用户提交有关股票价格的查询。
- 基础模型使用知识库查找相关答案。
- 知识库返回相关文档。
- 用户收到基于这些文档的答案。
实施设计:分步指南
实施涉及以下关键步骤:
- 数据源设置:配置 MSK 主题以流式传输输入股票价格。
- Amazon Bedrock 知识库设置:在 Amazon Bedrock 中创建一个知识库,使用快速创建新向量存储选项,该选项会自动预置和设置向量存储。
- 数据消费和摄取:只要数据到达 MSK 主题,就触发一个 Lambda 函数来提取股票指数、价格和时间戳信息,并将其馈送到 Amazon Bedrock 知识库的自定义连接器中。
- 测试知识库:使用知识库评估客户反馈分析。
解决方案演练:构建您的股票分析工具
按照以下各节中的说明,使用 Amazon Bedrock 知识库和自定义连接器构建生成式 AI 股票分析工具。
配置架构:部署 CloudFormation 模板
要实施此架构,请从 此 GitHub 存储库 在您的 AWS 账户中部署 AWS CloudFormation 模板。此模板部署以下组件:
- 虚拟私有云 (VPC)、子网、安全组和 AWS Identity and Access Management (IAM) 角色。
- 托管 Apache Kafka 输入主题的 MSK 集群。
- 使用 Apache Kafka 主题数据的 Lambda 函数。
- 用于设置和启用的 Amazon SageMaker Studio 笔记本。
创建 Apache Kafka 主题:设置数据流
在预先创建的 MSK 集群中,代理已经部署并可以使用。下一步是连接到 MSK 集群,并使用 SageMaker Studio 终端实例创建测试流主题。按照 在 Amazon MSK 集群中创建主题 中的详细说明进行操作。
一般步骤是:
- 下载并安装最新的 Apache Kafka 客户端。
- 连接到 MSK 集群代理实例。
- 在代理实例上创建测试流主题。
在 Amazon Bedrock 中创建知识库:连接到您的数据
要在 Amazon Bedrock 中创建知识库,请按照以下步骤操作:
- 在 Amazon Bedrock 控制台的左侧导航页面中的 构建器工具 下,选择 知识库。
- 要启动知识库创建,请在 创建 下拉菜单中,选择 具有向量存储的知识库,如以下屏幕截图所示。
- 在 提供知识库详细信息 窗格中,输入
BedrockStreamIngestKnowledgeBase
作为 知识库名称。 - 在 IAM 权限 下,选择默认选项 创建并使用新的服务角色,并(可选)提供 服务角色名称,如以下屏幕截图所示。
- 在 选择数据源 窗格中,选择 自定义 作为数据集的存储位置。
- 选择 下一步,如以下屏幕截图所示。
- 在 配置数据源 窗格中,输入
BedrockStreamIngestKBCustomDS
作为 数据源名称。 - 在 解析策略 下,选择 Amazon Bedrock 默认解析器,对于 分块策略,选择 默认分块。选择 下一步,如以下屏幕截图所示。
- 在 选择嵌入模型并配置向量存储窗格 上,对于 嵌入模型,选择 Titan Text Embeddings v2。对于 嵌入类型,选择 浮点向量嵌入。对于 向量维度,选择 1024,如以下屏幕截图所示。确保您已在 Amazon Bedrock 中请求并收到对所选 FM 的访问权限。要了解更多信息,请参阅 添加或删除对 Amazon Bedrock 基础模型的访问权限。
- 在 向量数据库 窗格中,选择 快速创建新的向量存储,然后选择新的 Amazon OpenSearch Serverless 选项作为向量存储。
- 在下一个屏幕上,查看您的选择。要完成设置,请选择 创建。
- 几分钟后,控制台将显示您新创建的知识库。
配置 AWS Lambda Apache Kafka 使用者:触发数据摄取
现在,配置使用者 Lambda 函数,以便在使用 API 调用输入 Apache Kafka 主题接收数据时立即触发。
- 将手动创建的 Amazon Bedrock 知识库 ID 及其自定义数据源 ID 配置为 Lambda 函数中的环境变量。当您使用示例笔记本时,将自动填写引用的函数名称和 ID。
深入了解:揭示 Amazon Bedrock 知识库与自定义连接器在实时数据摄取方面的强大功能
生成式 AI 和实时数据流的融合正在为企业释放前所未有的机会,以获得更深入的见解、自动化关键流程并提供个性化体验。Amazon Bedrock 知识库与自定义连接器相结合,正处于这场革命的最前沿,使组织能够将来自 Apache Kafka 等各种来源的流式数据无缝集成到其 AI 驱动的应用程序中。
此功能超越了传统数据摄取方法的局限性,这些方法通常涉及复杂的暂存、转换和同步流程。借助自定义连接器,数据可以近乎实时地直接摄取到知识库中,从而消除延迟并使 AI 模型能够动态地对不断变化的条件做出反应。
跨行业的用例
这种方法的优势是深远的,并且适用于广泛的行业。
- 金融服务:银行和投资公司可以利用实时市场数据和客户交易流来检测欺诈、个性化投资建议并自动化交易策略。想象一下一个 AI 驱动的系统,该系统实时分析信用卡交易,标记可疑活动并防止在发生欺诈性购买之前发生。
- 零售:电子商务企业可以分析点击流数据和社交媒体提要,以了解客户行为、个性化产品推荐并优化定价策略。这允许根据实时需求动态调整营销活动和库存管理。
- 制造业:制造商可以使用来自工厂设备的 IoT 传感器数据来预测维护需求、优化生产流程并提高产品质量。例如,AI 系统可以分析机器的振动数据,以识别潜在的故障,然后在它们导致代价高昂的停机之前。
- 医疗保健:医院可以分析患者数据流以检测疾病的早期迹象、个性化治疗计划并改善患者的治疗效果。实时监测生命体征可以提醒医务人员注意患者病情的重大变化,从而更快地进行干预并改善护理。
主要优势:超越实时数据
使用 Amazon Bedrock 知识库与自定义连接器的好处不仅仅是在实时中摄取数据。
- 减少延迟:通过消除中间存储和同步流程的需要,组织可以显著减少将数据提供给 AI 模型所需的时间。这导致更快的响应时间和更动态的应用程序。
- 降低运营成本:自定义连接器通过消除管理和维护复杂数据管道的需要来降低运营成本。这释放了宝贵的资源,可以投资于业务的其他领域。
- 提高数据质量:通过直接从源头摄取数据,组织可以确保他们的 AI 模型正在使用最准确和最新的信息。这带来了更好的见解和更可靠的结果。
- 提高灵活性:自定义连接器允许组织连接到范围广泛的数据源,无论其格式或位置如何。这提供了利用其所有数据资产的灵活性,无论它们存储在哪里。
- 简化开发:Amazon Bedrock 知识库通过抽象化数据摄取和管理的复杂性来提供简化的开发体验。这使开发人员能够专注于构建可提供真正业务价值的 AI 应用程序。
深入了解:引擎盖下的自定义连接器
要充分了解自定义连接器的强大功能,重要的是要了解它们的工作方式。自定义连接器本质上是一段代码,允许 Amazon Bedrock 知识库连接到特定的数据源。此代码负责从源头提取数据、将其转换为与知识库兼容的格式,并将其摄取到系统中。
- API 集成:自定义连接器通常通过 API 与数据源交互。这些 API 提供了一种标准化方式来访问数据并执行操作。
- 数据转换:数据转换是该过程中的关键一步。自定义连接器通常需要将其本机格式的数据转换为与知识库兼容的格式。这可能涉及转换数据类型、清理数据以及使用其他信息丰富数据。
- 流式摄取:实时数据摄取的关键是能够持续流式传输数据。自定义连接器通常使用流式传输 API 来接收数据,因为它是在生成的,从而允许知识库近乎实时的更新。
- 安全:连接到数据源时,安全是至关重要的问题。自定义连接器需要在设计时考虑到安全性,确保数据在传输中和静止时都受到保护。
结论:通过实时数据拥抱 AI 的未来
Amazon Bedrock 知识库与自定义连接器代表了 AI 领域的重大进步。通过使组织能够将实时数据流无缝集成到其 AI 应用程序中,这项技术释放了大量新的创新和业务增长机会。随着 AI 的不断发展,利用实时数据的能力将变得越来越重要。Amazon Bedrock 知识库有望成为这一趋势的关键推动者,使组织能够构建比以往任何时候都更动态、响应和智能的 AI 解决方案。