Amazon Bedrock — pengantar
Bedrock adalah layanan terkelola untuk memakai foundation model lewat API, tanpa mengurus infrastruktur. Ia juga rumah bagi hampir seluruh materi sertifikasi AIP-C01.
Intisari
- Bedrock tidak melatih model untukmu — ia menyediakan model milik banyak penyedia lewat satu API.
- Dua bidang terpisah:
bedrock(kelola) danbedrock-runtime(panggil model). - Model harus diaktifkan aksesnya per region sebelum bisa dipanggil.
- Fitur di atasnya: Knowledge Bases (RAG), Agents, Guardrails, Prompt Management, Evaluations.
- Bayar per token untuk on-demand; ada juga batch (lebih murah) dan provisioned throughput (kapasitas tetap).
Posisi Bedrock di antara layanan AI AWS
| Layanan | Untuk | Kamu mengurus |
|---|---|---|
| Bedrock | Memakai foundation model lewat API | Prompt dan aplikasi |
| SageMaker AI | Melatih, menyetel, dan meng-host model sendiri | Model, endpoint, dan skala |
| Amazon Q | Asisten siap pakai (bisnis dan developer) | Nyaris tidak ada |
| Comprehend, Textract, Transcribe | Tugas spesifik: entitas, OCR, transkripsi | Panggilan API saja |
Ujian AIP-C01 berpusat di baris pertama, dengan SageMaker muncul untuk kasus model kustom, dan layanan baris terakhir muncul sebagai komponen pipeline — Comprehend untuk deteksi PII, Textract untuk membaca dokumen.
Yang ada di dalam Bedrock
| Fitur | Menjawab | Fase |
|---|---|---|
| Model inference (Converse) | Bagaimana memanggil model? | 3 |
| Knowledge Bases | Bagaimana menjawab berdasarkan dokumenku? | 4 |
| Agents & AgentCore | Bagaimana model memakai tool dan mengambil langkah? | 5 |
| Guardrails | Bagaimana menyaring input dan output? | 6 |
| Prompt Management & Flows | Bagaimana mengelola prompt sebagai artefak? | 5–6 |
| Model Evaluation | Bagaimana tahu jawabannya membaik atau memburuk? | 7 |
| Batch inference | Bagaimana memproses jutaan prompt dengan murah? | 7 |
Dua bidang, dua client
import boto3
kelola = boto3.client("bedrock", region_name="us-east-1") # control plane
runtime = boto3.client("bedrock-runtime", region_name="us-east-1") # data plane
# Bidang kelola: melihat apa yang tersedia
for m in kelola.list_foundation_models()["modelSummaries"][:5]:
print(m["modelId"], "|", m["providerName"])
# Bidang runtime: benar-benar memanggil model
resp = runtime.converse(
modelId="anthropic.claude-3-5-haiku-20241022-v1:0",
messages=[{"role": "user", "content": [{"text": "Jelaskan RAG dalam dua kalimat."}]}],
)
print(resp["output"]["message"]["content"][0]["text"])
Pemisahan ini juga berlaku untuk izin. Aplikasi produksimu hampir selalu cukup punya izin
runtime (bedrock:InvokeModel). Izin kelola (bedrock:CreateGuardrail,
bedrock:DeleteKnowledgeBase) adalah milik pipeline IaC, bukan milik aplikasi.
Model ID dan versi
anthropic.claude-3-5-haiku-20241022-v1:0
└─ penyedia └─ keluarga └─ tanggal └─ versi
Model ID bersifat spesifik — versi berbeda adalah model berbeda, dengan perilaku dan harga berbeda. Jangan menaruhnya sebagai literal yang tersebar di kode. Satu variabel environment, satu tempat, sehingga mengganti model tidak berarti menyisir seluruh repositori. Ini juga yang dimaksud exam guide dengan "dynamic model selection without code modification".
Cara ditagih
| Mode | Bayar | Cocok untuk |
|---|---|---|
| On-demand | Per token masuk dan keluar | Hampir semua aplikasi interaktif |
| Batch | Per token, tarif lebih murah | Pekerjaan besar yang tidak buru-buru |
| Provisioned Throughput | Per jam per model unit | Beban stabil tinggi, atau model kustom |
Token keluaran umumnya jauh lebih mahal daripada token masukan. Karena itu maxTokens bukan
sekadar pembatas teknis — ia pengendali biaya langsung.
Latihan: cetak daftar seluruh model yang tersedia di us-east-1 beserta penyedianya,
lalu saring hanya yang mendukung TEXT pada outputModalities. Simpan model ID yang
akan kamu pakai sepanjang roadmap ini ke variabel environment MODEL_ID.
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.