View a markdown version of this page

Memantau pemanggilan model menggunakan CloudWatch Log dan Amazon S3 - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memantau pemanggilan model menggunakan CloudWatch Log dan Amazon S3

Anda dapat menggunakan pencatatan pemanggilan model untuk mengumpulkan log pemanggilan, data input model, dan data keluaran model untuk semua pemanggilan yang Akun AWS digunakan di Amazon Bedrock di suatu Wilayah.

Dengan logging pemanggilan, Anda dapat mengumpulkan data permintaan lengkap, data respons, dan metadata yang terkait dengan panggilan yang didukung yang dilakukan di akun Anda di Wilayah. Logging dapat dikonfigurasi untuk menyediakan sumber daya tujuan tempat data log akan dipublikasikan. Tujuan yang didukung termasuk Amazon CloudWatch Logs dan Amazon Simple Storage Service (Amazon S3). Hanya tujuan dari akun dan Wilayah yang sama yang didukung.

Pencatatan pemanggilan model dinonaktifkan secara default. Setelah pencatatan pemanggilan model diaktifkan, log disimpan hingga konfigurasi logging dihapus.

Operasi berikut dapat mencatat pemanggilan model.

catatan

Pencatatan pemanggilan model hanya didukung untuk panggilan yang dilakukan melalui bedrock-runtime titik akhir. Ini termasuk API Tang OpenAI-compatible gapan dan Penyelesaian Obrolan di titik akhir tersebut. Panggilan yang dilakukan melalui titik akhir lain, seperti API yang samabedrock-mantle, saat ini tidak ditangkap oleh logging pemanggilan.

Saat menggunakan Converse API, data gambar atau dokumen apa pun yang Anda lewati akan masuk ke Amazon S3 (jika Anda telah mengaktifkan pengiriman dan pencatatan gambar di Amazon S3).

Sebelum mengaktifkan logging pemanggilan, Anda perlu menyiapkan tujuan Amazon S3 atau CloudWatch Logs. Anda dapat mengaktifkan logging pemanggilan melalui konsol atau API.

Menyiapkan tujuan Amazon S3

catatan

Saat menggunakan Amazon S3 sebagai tujuan logging, bucket harus berada di tempat yang sama Akun AWS dan Wilayah AWS seperti tempat Anda membuat konfigurasi pencatatan pemanggilan model.

Anda dapat mengatur tujuan S3 untuk masuk ke Amazon Bedrock dengan langkah-langkah berikut:

  1. Buat bucket S3 tempat log akan dikirimkan.

  2. Tambahkan kebijakan bucket ke dalamnya seperti yang di bawah ini (Ganti nilai untukaccountId,region,bucketName, dan opsionalprefix):

    catatan

    Kebijakan bucket secara otomatis dilampirkan ke bucket atas nama Anda saat Anda mengonfigurasi logging dengan izin S3:GetBucketPolicy danS3:PutBucketPolicy.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AmazonBedrockLogsWrite", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucketName/prefix/AWSLogs/123456789012/BedrockModelInvocationLogs/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:*" } } } ] }
  3. (Opsional) Jika mengonfigurasi SSE-KMS pada bucket, tambahkan kebijakan berikut pada kunci 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:*" } } }

Untuk informasi selengkapnya tentang SSE-KMS konfigurasi S3, lihat Menentukan Enkripsi KMS.

catatan

Bucket ACL harus dinonaktifkan agar kebijakan bucket berlaku. Untuk informasi selengkapnya, lihat Men onaktifkan ACL untuk semua bucket baru dan menerapkan Kepemilikan Objek.

Menyiapkan tujuan CloudWatch Log

Anda dapat mengatur tujuan Amazon CloudWatch Logs untuk masuk ke Amazon Bedrock dengan langkah-langkah berikut:

  1. Buat grup CloudWatch log tempat log akan dipublikasikan.

  2. Buat peran IAM dengan izin berikut untuk CloudWatch Log.

    Entitas tepercaya:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:*" } } } ] }

    Kebijakan peran:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:us-east-1:123456789012:log-group:logGroupName:log-stream:aws/bedrock/modelinvocations" } ] }

Untuk informasi selengkapnya tentang menyiapkan SSE untuk CloudWatch Log, lihat Men genkripsi data CloudWatch log di Log menggunakan AWS Key Management Service.

Pencatatan pemanggilan model menggunakan konsol

Untuk mengaktifkan pencatatan pemanggilan model

Masuk ke Konsol Manajemen AWS dengan identitas IAM yang memiliki izin untuk menggunakan konsol Amazon Bedrock. Kemudian, buka konsol Amazon Bedrock di https://console.aws.amazon.com/bedrock.

  1. Dari panel navigasi kiri, pilih Peng aturan.

  2. Di halaman pen catatan pemanggilan model, pilih Model pemanggilan logging. Pengaturan konfigurasi tambahan untuk logging akan muncul.

  3. Pilih modalitas permintaan data dan tanggapan yang ingin Anda publikasikan ke log. Anda dapat memilih kombinasi dari opsi output berikut:

    • Teks

    • Citra

    • Menanamkan

    • Video

    catatan

    Data akan dicatat untuk semua model yang mendukung modalitas (baik sebagai input atau output) yang Anda pilih. Misalnya, jika Anda memilih Gambar, pemanggilan model akan dicatat untuk semua model yang mendukung input gambar, output gambar, atau keduanya.

  4. Pilih tempat untuk mempublikasikan log:

    • Hanya Amazon S3

    • CloudWatch Hanya log

    • Amazon S3 dan CloudWatch Log

Tujuan pencatatan

Tujuan Amazon S3 dan CloudWatch Logs didukung untuk log pemanggilan, serta data input dan output kecil. Untuk data input dan output besar atau output gambar biner, hanya Amazon S3 yang didukung. Rincian berikut merangkum bagaimana data akan direpresentasikan di lokasi target.

  • Tujuan S3 — File JSON yang di-zip, masing-masing berisi kumpulan catatan log pemanggilan, dikirim ke bucket S3 yang ditentukan. Mirip dengan peristiwa CloudWatch Logs, setiap catatan akan berisi metadata pemanggilan, dan badan JSON input dan output berukuran hingga 100 KB. Data biner atau badan JSON yang lebih besar dari 100 KB akan diunggah sebagai objek individual dalam bucket Amazon S3 yang ditentukan di bawah awalan data. Data dapat ditanyakan menggunakan Amazon S3 Select dan Amazon Athena, dan dapat dikatalogkan untuk menggunakan ETL. AWS Glue Data dapat dimuat ke dalam OpenSearch layanan, atau diproses oleh EventBridge target Amazon mana pun.

  • CloudWatch Tujuan log — Peristiwa log pemanggilan JSON dikirimkan ke grup log tertentu di CloudWatch Log. Acara log berisi metadata pemanggilan, dan badan JSON input dan output berukuran hingga 100 KB. Jika lokasi Amazon S3 untuk pengiriman data besar disediakan, data biner atau badan JSON yang lebih besar dari 100 KB akan diunggah ke bucket Amazon S3 di bawah awalan data. data dapat ditanyakan menggunakan CloudWatch Logs Insights, dan dapat dialirkan lebih lanjut ke berbagai layanan secara real-time menggunakan Log. CloudWatch

Model logging pemanggilan menggunakan API

Pencatatan pemanggilan model dapat dikonfigurasi menggunakan API berikut:

Format entri log

Setiap entri log pemanggilan adalah objek JSON dengan struktur berikut. Formatnya sama untuk tujuan CloudWatch Log dan Amazon S3.

{ "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2024-01-15T12:00:00Z", "accountId": "123456789012", "region": "us-east-1", "requestId": "abcd1234-5678-efgh-ijkl-mnopqrstuvwx", "operation": "Converse", "modelId": "anthropic.claude-sonnet-4-20250514-v1:0", "identity": { "arn": "arn:aws:sts::123456789012:assumed-role/MyRole/session-name" }, "requestMetadata": { "team": "orchestrator", "environment": "production" }, "input": { "inputContentType": "application/json", "inputBodyJson": { }, "inputTokenCount": 25 }, "output": { "outputContentType": "application/json", "outputBodyJson": { }, "outputTokenCount": 150 } }

Tabel berikut menjelaskan bidang dalam entri log:

Bidang Deskripsi
schemaType Jenis catatan log. SelaluModelInvocationLog.
schemaVersion Versi skema log.
timestamp Waktu pemanggilan dilakukan, dalam format ISO 8601.
accountId Akun AWS ID yang membuat pemanggilan.
region Di Wilayah AWS mana permohonan itu dilakukan.
requestId Pengidentifikasi unik untuk permintaan.
operation Operasi API dipanggil (misalnya,Converse,InvokeModel).
modelId ID model atau ID profil inferensi yang digunakan untuk pemanggilan.
identity.arn AWS STS atau IAM ARN dari kepala sekolah yang membuat permintaan, termasuk nama peran dan sesi atau nama pengguna. Ditangkap secara otomatis.
requestMetadata Objek JSON opsional dari tag nilai kunci yang disediakan oleh pemanggil. Hadir hanya ketika penelepon memberikan metadata permintaan. Lihat perinciannya di Per-request penandaan metadata.
input.inputBodyJson Badan permintaan dikirim ke model (hingga 100 KB). Tubuh yang lebih besar disimpan sebagai objek terpisah di Amazon S3.
input.inputTokenCount Jumlah token input dalam permintaan.
output.outputBodyJson Badan respons dari model (hingga 100 KB). Tubuh yang lebih besar disimpan sebagai objek terpisah di Amazon S3.
output.outputTokenCount Jumlah token keluaran dalam respons.
catatan

Setiap bidang dalam catatan diisi oleh Amazon Bedrock secara otomatis, dengan satu pengecualian: requestMetadata adalah satu-satunya bidang yang disediakan oleh penelepon. Lihat perinciannya di Per-request penandaan metadata.

Untuk memecah penggunaan token oleh prinsipal IAM tanpa menggunakan metadata permintaan, kelompokkan. identity.arn Kueri Log CloudWatch s Insights berikut mencantumkan pemanggil berdasarkan total token input mereka:

fields identity.arn as principal, input.inputTokenCount as inTokens, output.outputTokenCount as outTokens | stats sum(inTokens) as totalInput, sum(outTokens) as totalOutput, count() as calls by principal | sort totalInput desc
catatan

Data biner (seperti gambar) dan badan JSON yang lebih besar dari 100 KB tidak disertakan sebaris dalam entri log. Sebaliknya, mereka disimpan sebagai objek terpisah di bucket Amazon S3 di bawah awalan data, dan entri log berisi referensi ke lokasi Amazon S3.