要在工作流中使用 Amazon Bedrock 处理文档(例如,总结 S3 中的文本并保存结果),您可以利用 AWS 服务,例如 Lambda、S3 事件触发器和 Bedrock API。首先,设置一个 S3 存储桶来存储传入文档,并配置事件通知以便在新文件上传时触发 AWS Lambda 函数。Lambda 函数将负责读取文档、调用 Bedrock 的摘要模型并存储输出。确保您的 AWS Identity and Access Management (IAM) 角色授予 Lambda 访问 S3 和 Bedrock 的权限,并在 AWS 控制台中启用 Bedrock 的模型访问权限。
例如,当 PDF 或文本文件上传到 S3 时,Lambda 函数使用 AWS SDK(例如 Python 中的 Boto3)检索文件。如果文档是非文本格式(例如,扫描的 PDF),您可能需要先使用 Amazon Textract 提取文本。文本准备好后,Lambda 函数使用 InvokeModel
API 将其发送到 Bedrock,并指定一个专注于摘要的模型,例如 Anthropic 的 Claude。您需要为模型构建输入提示,例如“用三句话总结以下文档:[文本]”。Bedrock 返回总结后的文本,然后 Lambda 函数将其写入指定的输出 S3 存储桶或路径。
为确保可靠性,请添加错误处理以应对文档过大超出模型令牌限制或短暂 API 故障等情况。对于大文本,将其分割成块并迭代处理。使用 Amazon CloudWatch 记录错误并监控调用指标。为了优化成本,对于复杂的工作流或批量操作,请考虑使用 Step Functions 进行异步处理。最后,使用 S3 服务器端加密对输入/输出文件进行加密,并限制 IAM 策略以实现最小权限访问。这种方法为文档处理提供了一个可扩展的无服务器管道,且基础设施管理开销极少。