精品项目

  • 首页Our Projects通过使用 Amazon Bedrock 的批量推理来增强呼叫中心效率,实现场景摘要 机器学习博客

通过使用 Amazon Bedrock 的批量推理来增强呼叫中心效率,实现场景摘要 机器学习博客

2026-01-27 14:56:41 5

提升呼叫中心效率:使用批量推断实现转录摘要

关键要点

Amazon Bedrock 发布了批量推断功能,适用于数据处理,特别是呼叫中心转录摘要。批量推断能够处理大量数据,为呼叫中心操作提供必要的解决方案。使用该功能可以提高数据处理效率,无需实时响应,节省企业成本。

今天,我们非常高兴地宣布 Amazon Bedrock 推出了批量推断的正式可用性。这一新功能使组织能够在与基础模型进行交互时处理大量数据,这在包括呼叫中心运营在内的多个行业中解决了重要需求。

呼叫中心转录摘要已成为企业提取客户互动宝贵见解的重要任务。随着呼叫数据量的增长,传统分析方法难以跟上,急需一个可扩展的解决方案。

批量推断是解决这一挑战的有效方法。通过批量处理大量文本转录,并经常使用并行处理技术,这种方法比实时或按需处理更具优势。它尤其适合于大型呼叫中心运营,瞬时结果并非总是必要的需求。

在接下来的部分中,我们将提供一个详细的分步指南,关于如何实现这些新功能,涵盖从数据准备到任务提交和输出分析的所有内容。我们还将探讨优化 Amazon Bedrock 上批量推断工作流的最佳实践,帮助您在不同用例和行业中最大化数据的价值。

解决方案概述

Amazon Bedrock 的批量推断功能提供了一种可扩展的解决方案,用于在不同领域处理大量数据。该完全管理的功能允许组织通过 CreateModelInvocationJob API 或 Amazon Bedrock 控制台提交批处理任务,简化了大规模数据处理任务。

在本文中,我们将以呼叫中心转录摘要为例,演示批量推断的能力。此用例旨在阐明该功能在处理多样化数据处理任务方面的更广泛潜力。批量推断的一般工作流程由三个主要阶段组成:

数据准备:根据选择的模型准备数据集,以实现最佳处理效果。要了解有关批量格式要求的信息,请查看 格式和上传推断数据。批量作业提交:通过 Amazon Bedrock 控制台或 API 启动和管理批量推断作业。输出收集和分析:检索处理结果,并将其集成到现有工作流或分析系统中。

通过讲解具体的实施方案,我们旨在展示如何根据数据源或性质调整批量推断,以满足各种数据处理需求。

前提条件

要使用批量推断功能,请确保满足以下要求:

一个有效的 AWS 账户。一个 Amazon S3 桶,其中存储了为批量推断准备的数据。有关在 Amazon S3 中上传文件的更多信息,请参阅 上传对象。访问您选择的托管于 Amazon Bedrock 上的模型。请参阅 支持的模型及其功能 页面以获取完整的支持模型列表。Amazon Bedrock 支持以下形式的批量推断:文本转嵌入文本转文本文本转图像图像转图像图像转嵌入一个 AWS 身份和访问管理 (IAM) 角色,用于批量推断,需具备信任策略及 Amazon S3 访问权限对包含输入数据的文件夹的读取权限,以及对存储输出数据文件夹的写入权限。

数据准备

在启动呼叫中心转录摘要的批量推断作业之前,务必正确格式化并上传数据。输入数据应为 JSONL 格式,每行代表一个要摘要的转录。

每行 JSONL 文件应遵循以下结构:

json{recordId 11字符字母数字字符串 modelInput {JSON主体}}

在这里,recordId 是一个 11 个字符的字母数字字符串,作为每条记录的唯一标识符。如果省略此字段,批量推断作业将在输出中自动添加。

modelInput JSON 对象的格式应与您在 InvokeModel 请求中使用的主体字段匹配。例如,如果您在 Amazon Bedrock 上使用 Anthropic Claude 3,则您应使用 MessageAPI,您的模型输入可能如下所示:

json{ recordId CALL0000001 modelInput { anthropicversion bedrock20230531 maxtokens 1024 messages [ { role user content [{typetext text对以下呼叫转录进行摘要: }] } ] }}

准备数据时,请注意批量推断的配额,详见下表。

限制名称数值是否可通过服务配额调整?每个账户每个模型 ID 的最大批量作业数量10是每个账户每个模型 ID 的最大自定义模型批量作业数量3是每个文件的最大记录数50000是每个作业的最大记录数50000是每个作业的最小记录数1000否每个文件的最大大小1 GB是作业中所有文件的最大大小5 GB是

请确保您的输入数据符合这些大小限制和格式要求,以实现最佳处理效果。如果您的数据集超过这些限制,请考虑将其拆分为多个批量作业。

启动批量推断作业

在准备好批量推断数据并将其存储在 Amazon S3 之后,有两种主要方法可以启动批量推断作业:使用 Amazon Bedrock 控制台或 API。

在 Amazon Bedrock 控制台上运行批量推断作业

首先,让我们探索通过 Amazon Bedrock 控制台启动批量推断作业的分步过程。

飞鱼加速器ios下载在 Amazon Bedrock 控制台中,选择导航窗格中的 推断。选择 批量推断 并选择 创建作业。

在 作业名称 中,输入您为训练作业取的名称,然后从列表中选择一个基础模型FM。在本例中,我们选择 Anthropic Claude3 Haiku 作为我们的呼叫中心转录摘要作业的基础模型。

在 输入数据 下,指定为准备好的批量推断数据的 S3 位置。

在 输出数据 下,输入存储批量推断输出的桶的 S3 路径。

通过使用 Amazon Bedrock 的批量推理来增强呼叫中心效率,实现场景摘要 机器学习博客

默认情况下,您的数据使用 AWS 管理的密钥进行加密。如果您想使用不同的密钥,请选择 自定义加密设置。

在 服务访问 下,选择授权 Amazon Bedrock 的方法。如果您有具有细粒度 IAM 策略的访问角色,则可以选择 使用现有服务角色,或选择 创建并使用新服务角色。

可选,展开 标签 部分以添加跟踪标签。在添加了批量推断作业的所有必要配置后,选择 创建批量推断作业。

您可以通过选择 Amazon Bedrock 控制台中的相应作业名称来检查批量推断作业的状态。当作业完成时,您可以看到更多的作业信息,包括模型名称、作业持续时间、状态以及输入和输出数据的位置。

使用 API 运行批量推断作业

另外,您可以使用 AWS SDK 程序化地启动批量推断作业。按照以下步骤操作:

创建 Amazon Bedrock 客户端:

pythonimport boto3bedrock = boto3client(servicename=bedrock)

配置输入和输出数据:

pythoninputdataconfig = { s3InputDataConfig { s3Uri s3//{bucketname}/{inputprefix}/yourinputdatajsonl }}outputdataconfig = { s3OutputDataConfig { s3Uri s3//{bucketname}/{outputprefix}/ }}

启动批量推断作业:

pythonresponse = bedrockcreatemodelinvocationjob( roleArn=arnawsiam{accountid}role/{rolename} modelId=modelofyourchoice jobName=yourjobname inputDataConfig=inputdataconfig outputDataConfig=outputdataconfig)

检索和监控作业状态:

pythonjobarn = responseget(jobArn)status = bedrockgetmodelinvocationjob(jobIdentifier=jobarn)[status]print(f作业状态 {status})

将占位符 {bucketname}、{inputprefix}、{outputprefix}、{accountid}、{rolename}、yourjobname 和 modelofyourchoice 替换为您的实际值。

通过使用 AWS SDK,您可以程序化地启动和管理批量推断作业,从而实现与现有工作流和自动化管道的无缝集成。

收集和分析输出

当您的批量推断作业完成后,Amazon Bedrock 会在指定的 S3 桶中创建一个专用文件夹,文件夹名称为作业 ID。此文件夹包含批量推断作业的摘要以及以 JSONL 格式处理的推断数据。

您可以通过两种便捷的方法访问处理的输出:通过 Amazon S3 控制台或使用 AWS SDK 程序化访问。

在 Amazon S3 控制台访问输出

要使用 Amazon S3 控制台,请完成以下步骤:

在 Amazon S3 控制台中,选择导航窗格中的 存储桶。找到您指定为批量推断作业的输出目的地的存储桶。在存储桶内,定位具有批量推断作业 ID 的文件夹。

在此文件夹中,您将找到处理数据文件,可以根据需要浏览或下载。

使用 AWS SDK 访问输出数据

另外,您可以使用 AWS SDK 程序化地访问处理的数据。在以下代码示例中,我们展示 Anthropic Claude 3 模型的输出。如果您使用了不同的模型,请根据所用模型更新参数值。

输出文件不仅包含处理的文本,还包含可观察性数据和用于推断的参数。以下是 Python 示例:

pythonimport boto3import json

创建一个 S3 客户端

s3 = boto3client(s3)

设置输出文件的 S3 存储桶名称和前缀

bucketname = yourbucketnameprefix = youroutputprefixfilename = youroutputfilejsonlout

从 S3 读取 JSON 文件

objectkey = f{prefix}{filename}response = s3getobject(Bucket=bucketname Key=objectkey)jsondata = response[Body]read()decode(utf8)

初始化一个列表

outputdata = []

处理 JSON 数据。展示 Anthropic Claude 3 模型的示例如有必要,请更新 JSON 键以适应不同的模型

for line in jsondatasplitlines() data = jsonloads(line) requestid = data[recordId]

# 访问处理的文本outputtext = data[modelOutput][content][0][text]# 访问可观察性数据inputtokens = data[modelOutput][usage][inputtokens]outputtokens = data[modelOutput][usage][outputtokens]model = data[modelOutput][model]stopreason = data[modelOutput][stopreason]# 访问推断参数maxtokens = data[modelInput][maxtokens]temperature = data[modelInput][temperature]topp = data[modelInput][topp]topk = data[modelInput][topk]# 为当前记录创建字典outputentry = {    requestid {        outputtext outputtext        observability {            inputtokens inputtokens            outputtokens outputtokens            model model            stopreason stopreason        }        inferenceparams {            maxtokens maxtokens            temperature temperature            topp topp            topk topk        }    }}# 将字典附加到列表中outputdataappend(outputentry)

在此示例中,使用 Anthropic Claude 3 模型后,我们从 Amazon S3 读取输出文件,并处理 JSON 数据的每一行。我们可以使用 data[modelOutput][content][0][text] 访问处理的文本,获取诸如输入/输出令牌、模型及停止原因等可观察性数据,以及获取最大令牌、温度、topp 和 topk 等推断参数。

在您为批量推断作业指定的输出位置,您将找到 manifestjsonout 文件,其中提供了处理记录的摘要。该文件包括记录总数、成功处理记录数量、错误记录数量、以及输入和输出令牌总数等信息。

您可以根据需要处理这些数据,例如将其集成到现有工作流中,或进行进一步分析。

记得将 yourbucketname、youroutputprefix 和 youroutputfilejsonlout 替换为您的实际值。

通过使用 AWS SDK,您可以程序化地访问并处理处理后的数据、可观察性信息、推断参数和批量推断作业的摘要信息,从而与现有工作流和数据管道实现无缝集成。

结论

Amazon Bedrock 的批量推断为一次 API 调用处理多个数据输入提供了有效解决方案,通过我们呼叫中心转录摘要的示例对此进行了阐述。该完全管理的服务旨在处理不同大小的数据集,为多个行业和用例提供了好处。

我们鼓励您在项目中实施批量推断,并体验它如何能够提升您与基础模型的互动效率,帮助您实现规模上的优化。

作者介绍

Yanyan Zhang 是亚马逊网络服务公司AWS的高级生成式 AI 数据科学家,专注于尖端 AI/ML 技术,并帮助客户使用生成性 AI 实现预期目标。她毕业于德克萨斯 AampM 大学,获得电气工程博士学位。工作之余,她喜欢旅行、健身和探索新事物。

Ishan Singh 是 AWS 的生成式 AI 数据科学家,致力于帮助客户构建创新和负责任的生成式 AI 解决方案和产品。Ishan 在 AI/ML 领域有丰富的背景,专注于构建能为商业带来价值的生成式 AI 解决方案。工作之外,他喜欢打排球、探索当地的骑行小径,以及和妻子和狗狗 Beau 共度时光。

Rahul Virbhadra Mishra 是 Amazon Bedrock 的高级软件工程师。他热衷于通过构建实用解决方案来让客户满意。工作之外,他喜欢运动,并重视与家人共度的美好时光。

Mohd Altaf 是 AWS AI Services 的 SDE,工作地点位于美国西雅图。他致力于 AWS AI/ML 技术领域,并帮助 Amazon 中不同团队构建多种解决方案。在业余时间,他喜欢下棋、打斯诺克和室内游戏。

期待您的反馈与讨论!

订阅我们的时事通讯

获取更多更新