本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
模型调用日志记录
模型调用日志可用于收集您在 Amazon Bedrock 中使用的所有调用的调用 AWS 账户 日志、模型输入数据和模型输出数据。默认情况下,日志记录处于禁用状态。
通过调用日志记录,您可以收集与在您的账户中执行的所有调用相关的完整请求数据、响应数据和元数据。可以配置日志记录以提供日志数据发布到的目标资源。支持的目标包括亚马逊 CloudWatch 日志和亚马逊简单存储服务 (Amazon S3) Service。仅支持来自相同账户和区域的目标。
在启用调用日志之前,您需要设置 Amazon S3 或 CloudWatch 日志目标。您可以通过控制台或 API 启用调用日志记录。
设置 Amazon S3 目标
您可以按照以下步骤在 Amazon Bedrock 中设置 S3 日志记录目标:
-
创建要将日志传输到 S3 存储桶。
-
向其添加诸如下面的存储桶策略(替换
accountId
、region
、bucketName
以及可选prefix
的值):注意
当您使用权限
S3:GetBucketPolicy
和S3:PutBucketPolicy
配置日志记录时,系统会代表您自动将存储桶策略附加到存储桶。{ "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonBedrockLogsWrite", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::
bucketName
/prefix
/AWSLogs/accountId
/BedrockModelInvocationLogs/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "accountId
" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:region
:accountId
:*" } } } ] } -
(可选)如果在存储桶上配置 SSE-KMS,请在 KMS 密钥上添加以下策略:
{ "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "
accountId
" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:region
:accountId
:*" } } }
有关 S3 SSE-KMS 配置的更多信息,请参阅指定 KMS 加密。
注意
必须禁用存储桶 ACL 才能使存储桶策略生效。有关更多信息,请参阅禁用所有新存储桶的 ACL 并强制执行对象所有权。
设置 CloudWatch 日志目标
您可以按照以下步骤设置用于登录 Amazon Bedrock 的 Amazon Log CloudWatch s 目标:
-
创建 CloudWatch 将在其中发布日志的日志组。
-
创建具有以下 CloudWatch 日志权限的 IAM 角色。
可信实体:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
accountId
" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:region
:accountId
:*" } } } ] }角色策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:
region
:accountId
:log-group:logGroupName
:log-stream:aws/bedrock/modelinvocations" } ] }
有关为 CloudWatch 日志设置 SSE 的更多信息,请参阅使用 AWS Key Management Service 加密 CloudWatch 日志中的日志数据。
使用 控制台
要启用模型调用日志记录,请拖动设置页面中日志记录切换开关旁边的滑块按钮。日志记录的其他配置设置将显示在面板上。
选择要将哪些数据请求和响应发布到日志中。您可以选择以下输出选项的任何组合:
-
文本
-
图像
-
嵌入
选择日志的发布位置:
-
仅限 Amazon S3
-
CloudWatch 仅限日志
-
Amazon S3 和 CloudWatch 日志
调用 CloudWatch 日志以及小型输入和输出数据支持 Amazon S3 和日志目标。对于大型输入和输出数据或二进制图像输出,仅支持 Amazon S3。以下详细信息总结了目标位置的数据表示形式。
-
S3 目标 — Gzip 类型的 JSON 文件(每个文件都包含一批调用日志记录)被传输到指定的 S3 存储桶。与 CloudWatch 日志事件类似,每条记录都将包含调用元数据以及大小不超过 100 KB 的输入和输出 JSON 正文。大于 100 KB 的二进制数据或 JSON 正文将作为单个对象上传到相应数据前缀下的指定 Amazon S3 存储桶中。可以使用 Amazon S3 Select 和 Amazon Athena 对数据进行查询,也可以使用 AWS Glue 对 ETL 进行编目。数据可以加载到 OpenSearch 服务中,也可以由任何 Amazon EventBridge 目标进行处理。
-
CloudWatch 日志目标-JSON 调用日志事件被传送到日志中的 CloudWatch 指定日志组。日志事件包含调用元数据以及大小不超过 100 KB 的输入和输出 JSON 正文。如果提供了用于传输大量数据的 Amazon S3 位置,则大于 100 KB 的二进制数据或 JSON 正文将改为上传到数据前缀下的 Amazon S3 存储桶。可以使用 Logs Insights 查询数据,也可以使用 CloudWatch 日志进一步实时流式传输到各种服务。 CloudWatch
将 API 与调用日志记录搭配使用
可以使用以下 API 配置模型调用日志记录:
-
PutModelInvocationLoggingConfiguration
-
GetModelInvocationLoggingConfiguration
-
DeleteModelInvocationLoggingConfiguration
有关如何将 API 和调用日志记录搭配使用的更多信息,请参阅《Bedrock API 指南》。