| Thông tin | Chi tiết |
|---|---|
| Mục tiêu | Enable model invocation logging, tạo CloudWatch dashboard |
| Thời gian | ~15 phút |
| Domain liên quan | Domain 4 (Task 4.3) |
| Prerequisites | AWS Account, Bedrock model access, đã hoàn thành Lab 1 |
/aws/bedrock/model-invocationsHoặc qua CLI:
aws bedrock put-model-invocation-logging-configuration \
--logging-config '{
"cloudWatchConfig": {
"logGroupName": "/aws/bedrock/model-invocations",
"roleArn": "<YOUR_LOGGING_ROLE_ARN>",
"largeDataDeliveryS3Config": {
"bucketName": "<YOUR_S3_BUCKET>",
"keyPrefix": "bedrock-logs/"
}
},
"textDataDeliveryEnabled": true,
"imageDataDeliveryEnabled": false,
"embeddingDataDeliveryEnabled": false
}'
Chạy vài invocations để tạo log data:
import boto3
import json
client = boto3.client('bedrock-runtime', region_name='us-east-1')
prompts = [
"What is Amazon Bedrock?",
"Explain RAG in simple terms.",
"List 3 benefits of serverless computing.",
"What is prompt engineering?",
"How does vector search work?"
]
for prompt in prompts:
response = client.invoke_model(
modelId='anthropic.claude-3-5-sonnet-20241022-v2:0',
contentType='application/json',
accept='application/json',
body=json.dumps({
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 128,
"messages": [{"role": "user", "content": prompt}]
})
)
result = json.loads(response['body'].read())
print(f"Prompt: {prompt[:40]}... | Tokens: input={result['usage']['input_tokens']}, output={result['usage']['output_tokens']}")
/aws/bedrock/model-invocationsDùng CloudWatch Logs Insights:
fields @timestamp, modelId, inputTokenCount, outputTokenCount
| sort @timestamp desc
| limit 20
GenAI-MonitoringWidget 1 — Invocation Count:
fields @timestamp
| stats count() as invocations by bin(1h)
Widget 2 — Token Usage:
fields @timestamp, inputTokenCount, outputTokenCount
| stats sum(inputTokenCount) as totalInput, sum(outputTokenCount) as totalOutput by bin(1h)
Widget 3 — Latency:
fields @timestamp, @duration
| stats avg(@duration) as avgLatency, max(@duration) as maxLatency by bin(1h)
Exam Tip: Bedrock Model Invocation Logs là cách chính để monitor GenAI applications. Kết hợp với CloudWatch Logs Insights để phân tích patterns, token usage, và latency.