模型調用日誌記錄 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

模型調用日誌記錄

模型叫用記錄可用於收集叫用日誌、模型輸入資料,以及在 Amazon Bedck 中使用的所有叫 AWS 帳戶 用的模型輸出資料。預設會停用記錄。

透過調用日誌記錄功能,您可以收集完整的請求資料、回應資料,以及與帳戶中執行的所有呼叫相關聯的中繼資料。您可以設定記錄功能,以提供將發布記錄資料的目的地資源。支援的目的地包括 Amazon CloudWatch 日誌和亞馬遜簡單儲存服務 (Amazon S3)。僅支援來自相同帳戶和區域的目的地。

下列作業可以記錄模型呼叫。

使用匡威 API 時,您傳遞的任何影像或文件資料都會記錄在 Amazon S3 中 (如果您已在 Amazon S3 中用交付和影像記錄功能)。

您必須先設定 Amazon S3 或 CloudWatch 日誌目的地,才能啟用叫用記錄。您可以透過主控台或 API 啟用調用記錄。

設定 Amazon S3 目的地

您可以透過下列步驟設定 S3 目的地,以便在 Amazon Bedrock 中登入:

  1. 建立要將日誌傳送至的 S3 儲存貯體。

  2. 新增儲存貯體政策,如下所示 (取代 accountIdregionbucketName 的值,以及選擇性 prefix 的值):

    注意

    當您使用權限 S3:GetBucketPolicyS3: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:*" } } } ] }
  3. (選用) 如果在儲存貯體上設定 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 CloudWatch 日誌目的地以在 Amazon 基岩中進行日誌記錄:

  1. 建立 CloudWatch 將在其中發佈記錄檔的記錄群組。

  2. 建立具有下列 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 日誌

Amazon S3 和 CloudWatch 日誌目的地支援叫用日誌以及小型輸入和輸出資料。對於大型輸入和輸出資料或二進位映像輸出,僅支援 Amazon S3。下列詳細資訊摘要如何在目標位置中呈現資料。

  • S3 目的地 — 壓縮的 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 儲存貯體。您可以使用 CloudWatch 日誌洞察查詢資料,並且可以使用日誌進一步即時串流到各種服務。 CloudWatch

搭配調用記錄使用 API

您可以使用下列 API 來設定模型調用記錄:

  • PutModelInvocationLoggingConfiguration

  • GetModelInvocationLoggingConfiguration

  • DeleteModelInvocationLoggingConfiguration

如需如何將 API 與調用記錄搭配使用的詳細資訊,請參閱《Bedrock API 指南》。