Lewati ke konten utama

Amazon Bedrock: Panduan Lengkap untuk Membangun Aplikasi AI

Pelajari cara membangun aplikasi AI generatif menggunakan Amazon Bedrock. Tutorial langkah demi langkah ini memandu Anda melalui fitur, penyiapan, dan teknik optimisasi.
Diperbarui 4 Jun 2026  · 15 mnt baca

AI generatif telah menjadi disruptor di semua sektor, mendorong kemajuan dalam pemrosesan bahasa alami, visi komputer, dan banyak bidang lainnya. Namun, memanfaatkan potensinya sering kali disertai tantangan biaya, infrastruktur yang kompleks, dan kurva pembelajaran yang curam. Di sinilah AWS Bedrock berperan—solusi ini membantu mengatasi hambatan dengan memungkinkan Anda menggunakan foundation model tanpa perlu mengelola infrastruktur.

Tutorial ini bertujuan menjadi panduan lengkap Anda untuk Amazon Bedrock, menjelaskan apa itu, bagaimana cara kerjanya, dan bagaimana Anda dapat menggunakannya. Di akhir panduan ini, Anda akan memiliki informasi dan keterampilan yang diperlukan untuk mengembangkan aplikasi AI generatif Anda sendiri—yang dapat diskalakan, fleksibel, dan selaras dengan tujuan Anda.

Apa itu Amazon Bedrock?

Amazon Bedrock adalah layanan terkelola AWS untuk mengakses dan mengelola foundation model (FM), blok bangunan dasar AI generatif oleh Amazon Web Services (AWS). Bedrock membuat semuanya sederhana sehingga Anda tidak perlu khawatir tentang provisioning GPU, mengonfigurasi pipeline model, atau mengelola infrastruktur lainnya.

AWS Bedrock adalah gerbang menuju inovasi. Ini adalah platform terpadu yang memungkinkan pengembang mengeksplorasi, menguji, dan menerapkan model AI mutakhir dari penyedia terkemuka seperti Anthropic, Stability AI, dan Titan milik Amazon.

Sebagai contoh, bayangkan Anda sedang mengembangkan chatbot dukungan pelanggan. Dengan AWS Bedrock, Anda dapat memilih model bahasa yang canggih, menyetelnya untuk kebutuhan aplikasi Anda, dan menanamkannya ke dalam aplikasi tanpa perlu menulis konfigurasi server dalam kode.

Fitur AWS Bedrock

Fitur AWS Bedrock dirancang untuk menyederhanakan dan mempercepat perjalanan dari konsep AI ke produksi. Mari kita uraikan secara rinci.

Akses ke berbagai foundation model

Salah satu manfaat paling signifikan dari AWS Bedrock adalah ragam foundation model yang tersedia. Baik Anda mengerjakan aplikasi teks, konten visual, atau AI yang aman dan dapat ditafsirkan, Bedrock siap membantu. Berikut beberapa model yang tersedia:

  • Model Amazon: Model kepemilikan ini dapat digunakan untuk tugas seperti membuat teks yang mirip manusia untuk chatbot atau aplikasi pembuatan konten, merangkum dokumen menjadi esensinya, atau menafsirkan sentimen umpan balik pelanggan.
  • Model Anthropic: Model ini berfokus pada pengembangan kecerdasan buatan yang baik dan aman serta paling cocok untuk industri yang membutuhkan kepatuhan dan kepercayaan, seperti perbankan atau layanan kesehatan.
  • Stability AI: Model Stability AI terkenal untuk pembuatan gambar. Model ini membantu mengubah ide menjadi visual untuk pemasaran, karya seni, atau pengembangan produk.

Diagram Amazon Bedrock, terhubung ke Amazon Models, Anthropic, Stability AI, dan penyedia lainnya, memperlihatkan perannya sebagai hub untuk layanan AI generatif.

Gambaran umum Amazon Bedrock, menyoroti integrasinya dengan model-model.

Tanpa pengelolaan infrastruktur

AWS Bedrock melakukan abstraksi pengelolaan infrastruktur, yang berarti:

  • Tidak perlu melakukan provisioning instance GPU.
  • Anda dapat fokus murni pada membangun aplikasi dengan arsitektur tanpa server (serverless).
  • Kemudahan penggunaan secara signifikan mengurangi waktu penyiapan, sering kali dari hitungan minggu menjadi jam.

Skalabilitas dan fleksibilitas

Aplikasi AI generatif umumnya memiliki permintaan yang tidak dapat diprediksi. Sebuah chatbot mungkin merespons ratusan pengguna saat jam sibuk dan hanya beberapa di malam hari. AWS Bedrock mengatasinya dengan skalabilitas bawaan:

  • Penskalaan otomatis: Model dapat menyesuaikan secara otomatis untuk menangani lonjakan beban kerja tanpa intervensi manual.
  • Beban kerja paralel: Anda dapat menjalankan beberapa model sekaligus untuk berbagai use case dalam satu aplikasi.
  • Ketersediaan global: Dengan jaringan global AWS, Anda dapat menerapkan aplikasi lebih dekat ke pengguna, memangkas latensi dan meningkatkan pengalaman pengguna.

Integrasi dengan ekosistem AWS

AWS Bedrock melampaui penyediaan model yang kuat—layanan ini terintegrasi dengan layanan AWS lainnya untuk mendukung alur kerja AI end-to-end. Beberapa integrasi meliputi:

  • Amazon SageMaker: Memungkinkan fine-tuning foundation model agar memenuhi kebutuhan spesifik.
  • AWS Lambda: Memfasilitasi aplikasi AI berbasis peristiwa, seperti memicu model untuk menyetel data baru atau meninjau hasil inferensi.
  • Amazon CloudWatch: Menyediakan kemampuan pemantauan dan pencatatan untuk menganalisis kinerja model dan mengumpulkan umpan balik pengguna.
  • Amazon S3: Berfungsi sebagai solusi penyimpanan untuk dataset, memungkinkan pelacakan kinerja dan analisis biaya.

Menyiapkan AWS Bedrock

Bagian ini akan memandu Anda menyiapkan izin yang diperlukan, membuat akun AWS, dan memulai dengan AWS Bedrock.

Langkah 1: Membuat akun AWS (jika belum)

Jika Anda belum memiliki akun, buka halaman pendaftaran AWS dan buat akun. Untuk pengguna yang sudah ada, pastikan pengguna IAM Anda memiliki hak administrator.

Halaman pendaftaran AWS dengan formulir untuk memasukkan email pengguna root dan nama akun AWS.

Halaman pendaftaran AWS, menampilkan eksplorasi Free Tier untuk akun baru.

Jika Anda mencari langkah terperinci, silakan kunjungi panduan resmi AWS.

Langkah 2: Menavigasi ke AWS Bedrock

Amazon Bedrock dapat diakses melalui AWS Management Console. Ikuti langkah-langkah ini untuk menemukan dan mulai menggunakannya:

  • Masuk ke AWS Management Console: Buka AWS Console dan masukkan kredensial login Anda.
  • Cari Bedrock: Gunakan bilah pencarian di bagian atas konsol. Ketik “Bedrock” dan pilih dari dropdown.

Tangkapan layar hasil pencarian AWS Management Console untuk "Bedrock," menampilkan Amazon Bedrock sebagai layanan untuk membangun aplikasi AI generatif, Amazon SageMaker untuk analitik data dan AI, serta pengantar penelusuran sumber daya lintas wilayah yang disorot

Hasil pencarian AWS Management Console untuk Bedrock.

  • Jelajahi dasbor Bedrock: Setelah berada di dasbor Bedrock, Anda akan melihat opsi untuk memilih penyedia model dan foundation model.

Tangkapan layar halaman Amazon Bedrock Providers yang menampilkan tiga penyedia model tanpa server: Amazon, Anthropic, dan Meta

Halaman Amazon Bedrock Providers menampilkan opsi model tanpa server dari Amazon.

  • Pilih penyedia model dan foundation model:
    • Pilih penyedia berdasarkan use case Anda (mis., Amazon Titan untuk pembuatan teks, Stability AI untuk gambar, dll.).
    • Jelajahi opsi spesifik model seperti jenis input, fitur yang didukung, dan parameter output.
  • Jalankan uji inferensi: AWS Bedrock memungkinkan Anda menjalankan inferensi contoh langsung dari konsol. Ini cara yang bagus untuk merasakan cara kerja setiap model sebelum mengintegrasikannya ke aplikasi Anda.

Tangkapan layar Amazon Bedrock Chat/Text Playground, menampilkan model Claude 3 Opus. Antarmuka mencakup opsi untuk memasukkan prompt, menjalankan respons, dan membandingkan model berbeda. Panel kiri mencantumkan opsi seperti "Getting started," "Foundation models," "Playgrounds," "Builder tools," dan "Safeguards."

Antarmuka Amazon Bedrock Chat/Text Playground.

Langkah 3: Menyiapkan izin IAM

AWS Identity and Access Management (IAM) sangat penting untuk mengakses AWS Bedrock dengan aman. Ikuti langkah-langkah berikut untuk mengonfigurasi izin:

  • Di AWS Management Console, buka layanan IAM .
  • Klik Roles di bilah sisi dan pilih Create policy.
  • Di Specify permissions, pilih “JSON”.

Tangkapan layar AWS IAM Policy Editor dalam mode JSON, menampilkan kebijakan yang dikonfigurasi sebagian dengan daftar "Action" dan "Resource" kosong. Bilah sisi kiri menunjukkan proses dua langkah: "Specify permissions" dan "Review and create." Panel kanan menyediakan opsi untuk menambah aksi, memfilter layanan, dan menghapus pernyataan.

AWS IAM Policy Editor dalam mode JSON

  • Tempel kebijakan di bawah ini ke dalam kotak teks:
{
    "Version": "2012-10-17",
    "Statement": [        {
            "Sid": "BedrockFullAccess",
            "Effect": "Allow",
            "Action": ["bedrock:*"],
            "Resource": "*"
        }
    ]
}

Catatan: Kebijakan di atas dapat dilampirkan ke peran apa pun yang perlu mengakses layanan Amazon Bedrock. Bisa ke SageMaker atau pengguna. Saat menggunakan Amazon SageMaker, execution role untuk notebook Anda biasanya merupakan pengguna atau peran yang berbeda dari yang Anda gunakan untuk masuk ke AWS Management Console. Untuk mengetahui cara menjelajahi layanan Amazon Bedrock menggunakan AWS Console, pastikan Anda mengotorisasi pengguna atau peran Console Anda. Anda dapat menjalankan notebook dari lingkungan apa pun yang memiliki akses ke layanan AWS Bedrock dan kredensial yang valid.

Menggunakan Amazon Bedrock untuk Aplikasi AI Generatif

Aplikasi AI generatif dibangun di atas foundation model yang di-fine-tune untuk tugas tertentu, seperti pembuatan teks, pembuatan gambar, atau transformasi data. Berikut panduan langkah demi langkah untuk memilih foundation model, menggunakan pekerjaan inferensi dasar, dan memodifikasi respons model agar sesuai dengan kebutuhan Anda.

Memilih foundation model

Memilih foundation model yang tepat itu penting karena bergantung pada kebutuhan proyek Anda. Berikut cara membuat pilihan:

1. Identifikasi use case Anda:

  • Pembuatan teks: Untuk tugas seperti rangkuman, pembuatan konten, atau pengembangan chatbot, pertimbangkan model seperti:
    • Amazon Titan Text G1: Model ini menghasilkan teks berkualitas tinggi dengan pemahaman konteks yang baik.
    • Anthropic Claude 3: Model ini sangat baik dalam menghasilkan teks yang koheren dan relevan dengan konteks, sehingga cocok untuk aplikasi AI percakapan.
  • Pembuatan gambar: Jika proyek Anda tentang membuat gambar atau bentuk konten visual apa pun, maka model Stability AI adalah pilihan yang tepat:
    • Stable Diffusion 3.5 Large: Model ini sangat baik dalam menghasilkan gambar dari deskripsi teks, baik yang fotorealistik maupun artistik.
  • Tugas multimodal: Untuk aplikasi yang membutuhkan pemrosesan teks dan gambar, model Amazon Nova direkomendasikan:
    • Nova Lite: Model multimodal hemat biaya yang dapat menerima input teks, gambar, dan video serta menghasilkan output teks.
    • Nova Pro: Model multimodal andal untuk tugas yang lebih kompleks.

2. Evaluasi kemampuan model:

  • Tinjau keunggulan spesifik tiap model untuk memastikan kesesuaiannya dengan kebutuhan proyek Anda. Informasi detail tentang foundation model yang didukung, termasuk kapabilitas dan wilayah yang didukung, tersedia di dokumentasi AWS.

Mengaktifkan akses model

Sebelum menggunakan model ini, Anda perlu mengaktifkan akses model dalam akun AWS Anda. Berikut langkah-langkah penyiapannya:

  • Di Bedrock Console, buka Models access.
  • Di Console, klik Modify model access.
  • Jelajahi model yang tersedia dari penyedia dan pilih yang Anda inginkan. Dalam contoh ini, saya memilih Titan Text G1—Express.

Tangkapan layar halaman "Edit model access" Amazon Bedrock, menampilkan daftar model Amazon Titan dengan status aksesnya. Beberapa model memiliki "Access granted," sementara yang lain "Available to request." Antarmuka mencakup opsi untuk memfilter model, memperluas atau menciutkan bagian, dan mengelompokkan model berdasarkan penyedia. Panel kiri menampilkan proses dua langkah: "Edit model access" dan "Review and submit."

Halaman manajemen akses model Amazon Bedrock.

  • Klik Next, lalu klik Review and submit.

Menjalankan inferensi dasar

Untuk melakukan inferensi menggunakan foundation model yang dipilih di AWS Bedrock, ikuti langkah-langkah berikut:

  • Siapkan AWS SDK untuk Python (boto3):
pip install boto3
  • Inisialisasi klien Bedrock: Buat klien runtime Bedrock di wilayah AWS pilihan Anda:
import boto3
import json
from botocore.exceptions import ClientError

# Set the AWS Region
region = "us-east-1"

# Initialize the Bedrock Runtime client
client = boto3.client("bedrock-runtime", region_name=region)
  • Panggil model: Tentukan ID model dan prompt input:
# Define the model ID for Amazon Titan Express v1
model_id = "amazon.titan-text-express-v1"

# Define the input prompt
prompt = """
Command: Compose an email from Tom, Customer Service Manager, to the customer "Nancy" 
who provided negative feedback on the service provided by our customer support 
Engineer"""
  • Format payload permintaan:
# Configure inference parameters
inference_parameters = {
   "inputText": prompt,
   "textGenerationConfig": {
       "maxTokenCount": 512,  # Limit the response length
       "temperature": 0.5,    # Control the randomness of the output
   },
}

# Convert the request payload to JSON
request_payload = json.dumps(inference_parameters)
  • Proses respons:
try:
   # Invoke the model
   response = client.invoke_model(
       modelId=model_id,
       body=request_payload,
       contentType="application/json",
       accept="application/json"
   )

   # Decode the response body
   response_body = json.loads(response["body"].read())

   # Extract and print the generated text
   generated_text = response_body["results"][0]["outputText"]
   print("Generated Text:\n", generated_text)

except ClientError as e:
   print(f"ClientError: {e.response['Error']['Message']}")
except Exception as e:
   print(f"An error occurred: {e}")

Catatan: Anda dapat mengakses dan menyalin kode lengkap langsung dari GitHub Gist.

Anda dapat mengharapkan output berikut:

% python3 main.py

Generated Text:
 
Tom:
Nancy,

I am writing to express my sincere apologies for the negative experience you had with our customer support engineer. It is unacceptable that we did not meet your expectations, and I want to assure you that we are taking steps to prevent this from happening in the future.

Sincerely,
Tom
Customer Service Manager

Menyesuaikan output model

Untuk menyetel perilaku output model, Anda dapat menyesuaikan parameter seperti temperature dan maxTokenCount:

  • temperature: Parameter ini mengontrol kerandoman output. Nilai lebih rendah meningkatkan ketetapan output, dan nilai lebih tinggi meningkatkan variasi.
  • MaxTokenCount: Menetapkan panjang maksimum output yang dihasilkan.

Contoh:

inference_parameters = {
   "inputText": prompt,
   "textGenerationConfig": {
       "maxTokenCount": 256,  # Limit the response length
       "temperature": 0.7,    # Control the randomness of the output
   },
}

Dengan menyesuaikan parameter ini, Anda dapat menyesuaikan tingkat kreativitas dan panjang konten yang dihasilkan agar lebih sesuai dengan kebutuhan aplikasi Anda.

Fitur Lanjutan Amazon Bedrock

Mari beralih fokus ke dua pendekatan lanjutan: meningkatkan AI menggunakan Retrieval-Augmented Generation (RAG) serta mengelola dan menerapkan model dalam skala besar.

Menyesuaikan output AI dengan retrieval-augmented generation (RAG)

RAG mengharuskan kita memiliki knowledge base. Sebelum menyiapkan knowledge base di Amazon Bedrock, Anda perlu membuat bucket S3 dan mengunggah file yang diperlukan. Ikuti langkah-langkah berikut:

Langkah 1: Buat bucket S3

  • Masuk ke AWS Management Console:
    • Buka Layanan S3 di AWS Management Console.
  • Buat bucket baru:
    • Klik Create bucket.
    • Masukkan nama bucket yang unik.
    • Biarkan pengaturan default kecuali Anda memiliki kebutuhan keamanan atau enkripsi tertentu.
  • Konfigurasikan pengaturan bucket:
    • Pastikan block public access diaktifkan kecuali Anda membutuhkannya.
    • (Opsional) Aktifkan versioning jika Anda ingin mempertahankan versi file.
  • Buat bucket:
    • Create bucket untuk menyelesaikan penyiapan.

Langkah 2: Unggah file ke bucket S3

  • Unduh file:
    • Tautan GitHub yang disediakan menyertakan contoh file PDF dengan data tiruan: octank_financial_10K.pdf. Anda dapat menggunakan file lain jika diinginkan.
    • Simpan secara lokal di komputer Anda.
  • Unggah file ke S3:
    • Buka bucket S3 yang baru dibuat di AWS Console.
    • Klik Upload dan pilih file octank_financial_10K.pdf.
    • Tinjau dan atur izin (default: privat).
    • Klik Upload untuk menambahkan file ke bucket.

Tangkapan layar bucket Amazon S3 bernama "amazon-bedrock-099," menampilkan tab "Objects" dengan satu file PDF bernama "octank_financial_10K.pdf."

Tampilan bucket Amazon S3 untuk "amazon-bedrock-099".

Amazon Bedrock memungkinkan Anda membuat knowledge base yang didukung oleh database vektor. Langkah-langkah berikut akan memandu Anda membuat knowledge base, mengonfigurasi sumber data, serta memilih embeddings dan penyimpanan vektor.

Langkah 1: Berikan detail knowledge base

  • Buka Amazon Bedrock Console dan pilih Knowledge Bases di bagian Builder tools.
  • Klik Create Knowledge Base dan isi detail berikut:
    • Nama Knowledge Base: Masukkan nama unik (mis., knowledge-base-quick-start).
    • Deskripsi Knowledge Base: (Opsional) Jelaskan secara singkat knowledge base.
  • Di bagian IAM permissions:
    • Pilih “Create and use a new service role” atau “Use an existing service role”.
    • Pastikan service role memiliki izin yang diperlukan untuk akses Bedrock.
    • Contoh Service Role: AmazonBedrockExecutionRoleForKnowledgeBase.
  • Klik Next untuk melanjutkan mengonfigurasi sumber data.

Tangkapan layar antarmuka pembuatan Knowledge Base Amazon Bedrock, menampilkan langkah-langkah untuk mengonfigurasi knowledge base.

Wizard pembuatan Amazon Bedrock Knowledge Base.

Langkah 2: Konfigurasikan sumber data

  • Di bagian Data source details, pilih sumber data Anda:
    • Amazon S3: Pilih opsi ini karena data Anda disimpan di S3.
  • Tentukan hal berikut:
    • Lokasi sumber data: Pilih antara "This AWS Account" atau "Other AWS Account."
    • S3 URI: Berikan URI bucket S3 yang berisi data. Pilih S3 yang Anda buat pada langkah sebelumnya dan filenya.
    • Kunci enkripsi: (Opsional) Tambahkan kunci KMS yang dikelola pelanggan jika data Anda terenkripsi.
  • Strategi parsing:
    • Default parser: Memproses data teks biasa. Anda dapat membiarkannya apa adanya.
    • Foundation models as parser: Memproses dokumen atau gambar yang kompleks. Anda dapat membiarkannya apa adanya.
  • Strategi chunking:
    • Pengaturan default membagi teks menjadi potongan sekitar 300 token untuk embeddings. Anda dapat membiarkannya apa adanya.
  • (Opsional) Tambahkan Transformation functions atau pengaturan lanjutan untuk prapemrosesan data Anda. Anda dapat membiarkannya apa adanya.
  • Klik Next untuk melanjutkan.

Tangkapan layar antarmuka konfigurasi sumber data Amazon Bedrock, menampilkan pengaturan untuk menghubungkan sumber data Amazon S3

Halaman konfigurasi sumber data Amazon Bedrock untuk mengintegrasikan knowledge base berbasis S3.

Langkah 3: Pilih model embeddings dan konfigurasikan vector store

  • Pilih Embeddings model untuk mengonversi data Anda menjadi representasi vektor:
    • Titan Embeddings G1 - Text v1.2  (Anda dapat memilih ini untuk tutorial ini.)
    • Embed English v3
    • Embed Multilingual v3
  • Di bagian Vector database:
    • Pilih “Quick create a new vector store” (disarankan) atau pilih store yang sudah ada.
    • Opsinya meliputi:
      • Amazon OpenSearch Serverless: Ideal untuk respons yang relevan secara kontekstual. Anda dapat memilih ini untuk tujuan tutorial ini.
      • Amazon Aurora PostgreSQL Serverless: Dioptimalkan untuk pencarian kemiripan yang cepat.
      • Amazon Neptune Analytics: Cocok untuk analitik berbasis grafik dan Retrieval-Augmented Generation (RAG).
  • Klik Next untuk meninjau dan menyelesaikan konfigurasi.

Tangkapan layar antarmuka Amazon Bedrock untuk memilih model embeddings dan mengonfigurasi basis data vektor.

Halaman konfigurasi Amazon Bedrock untuk memilih model embedding dan vector store.

Langkah 4: Tinjau dan buat

  • Tinjau semua konfigurasi Anda.
  • Konfirmasi dan klik Create untuk menyelesaikan knowledge base.
  • Setelah dibuat, knowledge base Anda akan muncul di bagian Knowledge Bases di konsol.

Langkah 5: Uji knowledge base

  • Akses ringkasan knowledge base:
    • Buka bagian Knowledge Bases di Amazon Bedrock Console.
    • Pilih knowledge base yang Anda buat (mis., knowledge-base-quick-start).
    • Tinjau detail ringkasan:
      • Nama dan ID Knowledge Base
      • Pastikan statusnya “Available”.
      • Verifikasi service role yang digunakan sudah benar.
  • Sinkronkan dan tambahkan sumber data:
    • Jika sumber data belum disinkronkan, klik Sync untuk memulai proses.
    • Anda juga dapat menambahkan lebih banyak dokumen atau sumber data melalui Add documents from S3.

Tangkapan layar halaman ringkasan Amazon Bedrock Knowledge Base, menampilkan detail kunci seperti nama knowledge base, ID, service role, status, dan jenis retrieval-augmented generation (RAG).

Ringkasan Amazon Bedrock Knowledge Base menampilkan detail konfigurasi dan status sumber data.

Langkah 6: Pilih model untuk pengujian

  • Pilih foundation model:
    • Klik Select model di panel Test Knowledge Base.
    • Jelajahi model yang tersedia dari penyedia seperti Amazon, Anthropic, dan Cohere.
    • Contoh: Pilih Claude Instant (v1.2) untuk kueri berbasis teks.
  • Jenis inferensi:
    • Pilih inferensi On-demand jika Anda tidak menyiapkan provisioned throughput.
  • Terapkan model:
    • Klik Apply untuk menyelesaikan pemilihan model Anda.

Tangkapan layar antarmuka "Select model" Amazon Bedrock, menampilkan penyedia model termasuk Amazon, Anthropic, Cohere, Meta, dan Mistral AI.

Antarmuka pemilihan model Amazon Bedrock menampilkan berbagai model Claude dari Anthropic.

Langkah 7: Jalankan kueri dan hasilkan respons

  • Hasilkan respons:
    • Masukkan kueri Anda di kotak input (mis., “Bantu saya dengan Financial Statement Schedules”).
    • Klik Run untuk menguji knowledge base.
  • Lihat detail sumber:
    • Respons akan mencakup potongan data yang relevan dengan kueri Anda.
    • Perluas Source Details untuk melihat metadata dan sumber informasi yang diambil.
  • Tinjau output:
    • Validasi respons untuk memastikan kesesuaiannya dengan konten knowledge base.
    • Sesuaikan konfigurasi pengambilan jika diperlukan.

Tangkapan layar halaman pengujian Amazon Bedrock Knowledge Base. Model yang dipilih adalah "Claude Instant v1.2" disetel ke inferensi on-demand.

Antarmuka pengujian Amazon Bedrock Knowledge Base menampilkan respons untuk sebuah kueri.

Contoh output kueri:

  • Kueri: “Bantu saya dengan Financial Statement Schedules.”
  • Respons: Knowledge base akan mengambil data yang merinci butir-butir spesifik dalam laporan keuangan, seperti jadwal aset, liabilitas, dan metadata terkait.

Mengelola dan menerapkan model AI dalam skala besar

Dengan menggunakan layanan AWS seperti Lambda, Amazon Bedrock dapat mengelola dan menerapkan model AI dalam skala besar. Pendekatan hemat biaya ini memastikan ketersediaan tinggi dan penskalaan otomatis untuk aplikasi bertenaga AI. 

Di bagian ini, kita akan menggunakan AWS Lambda untuk memanggil model Bedrock secara dinamis sehingga Anda dapat memproses prompt sesuai permintaan.

Langkah 1: Buat fungsi AWS Lambda

  • Masuk ke AWS Management Console.
  • Buka layanan Lambda dan klik Create function.
  • Pilih konfigurasi fungsi:
    • Pilih “Author from Scratch”.
    • Nama fungsi: bedrock.
    • Runtime: Python 3.x.
    • Permissions: Pilih IAM Role yang telah dibuat pada bagian awal tutorial ini.
  • Klik Create function untuk memulai penyiapan.

Tangkapan layar antarmuka pembuatan fungsi AWS Lambda. Opsi yang dipilih adalah "Author from scratch," dan nama fungsi diatur ke "bedrock."

Halaman pembuatan fungsi AWS Lambda.

Langkah 2: Tambahkan kode fungsi Lambda

Langkah 3: Uji fungsi Lambda

  • Buka tab Test di konsol Lambda dan buat event uji dengan JSON berikut:
{
    "prompt": "Write a formal apology letter for a late delivery."
}
  • Simpan event uji.
  • Klik Test untuk memanggil fungsi Lambda.
  • Periksa output di bagian Execution results. Teks yang dihasilkan seharusnya terlihat seperti ini:

Tangkapan layar hasil eksekusi AWS Lambda yang menunjukkan fungsi berhasil dijalankan

Hasil eksekusi AWS Lambda menunjukkan fungsi berjalan sukses.

Praktik terbaik untuk penerapan model AI

Optimalkan biaya:

  • Gunakan inferensi on-demand untuk use case sesekali.
  • Pertimbangkan provisioned throughput jika permintaan berfrekuensi tinggi diharapkan.

Amankan fungsi Lambda:

  • Batasi IAM role hanya pada izin yang diperlukan.
  • Gunakan variabel lingkungan untuk menghindari pembukaan data sensitif dalam kode.

Pantau dan catat log:

  • Gunakan log CloudWatch untuk melacak metrik pemanggilan dan men-debug masalah.
  • Siapkan alarm untuk kesalahan atau latensi tinggi.

Praktik Terbaik untuk Menggunakan AWS Bedrock

Di bagian ini, saya membagikan beberapa praktik terbaik saat bekerja dengan Amazon Bedrock, mulai dari mengoptimalkan biaya hingga menjaga keamanan dan akurasi. 

Optimasi biaya

Mengelola biaya di AWS Bedrock dapat melibatkan pemanfaatan Amazon SageMaker untuk menerapkan model dan menggunakan Spot instance guna menghemat hingga 90% biaya. Berikut beberapa praktik terbaik saya:

  • Pilih foundation model yang tepat: Pilih model yang selaras dengan kebutuhan Anda. Pilih model yang lebih kecil dan tidak terlalu intensif sumber daya untuk mengurangi biaya komputasi pada tugas yang kurang kompleks. Misalnya, Amazon Titan Models dapat digunakan untuk tugas berbasis teks seperti peringkasan atau Stability AI untuk pembuatan gambar sederhana.
  • Batch inference: Alih-alih memproses permintaan satu per satu, kelompokkan beberapa permintaan inferensi menjadi batch. Ini mengurangi frekuensi pemanggilan model, sehingga menurunkan biaya.
  • Manfaatkan kebijakan siklus hidup S3: Simpan hanya data yang Anda perlukan untuk inferensi atau fine-tuning di Amazon S3. Gunakan kebijakan siklus hidup untuk secara otomatis memindahkan data ke tier penyimpanan yang lebih murah (mis., S3 Glacier) atau menghapus data yang tidak digunakan setelah waktu tertentu.
  • Pantau dan kendalikan pengeluaran: Gunakan AWS Cost Explorer untuk menganalisis pola pengeluaran dan mengidentifikasi area optimasi. Atur AWS Budgets untuk menerima peringatan saat Anda mendekati ambang batas biaya yang telah ditentukan.

Grafik yang menggambarkan biaya dan penggunaan layanan Amazon Bedrock

Grafik biaya dan penggunaan untuk layanan Amazon Bedrock.

from sagemaker.mxnet import MXNet

# Use spot instances for cost efficiency
use_spot_instances = True

# Maximum runtime for the training job (in seconds)
max_run = 600

# Maximum wait time for Spot instance availability (in seconds); set only if using Spot instances
max_wait = 1200 if use_spot_instances else None

# Define the MXNet estimator for the training job
mnist_estimator = MXNet(
    entry_point='source_dir/mnist.py',  # Path to the script that contains the model training code
    role=role,  # IAM role used for accessing AWS resources (e.g., S3, SageMaker)
    output_path=model_artifacts_location,  # S3 location to save the trained model artifacts
    code_location=custom_code_upload_location,  # S3 location to upload the training script
    instance_count=1,  # Number of instances to use for training
    instance_type='ml.m4.xlarge',  # Instance type for the training job
    framework_version='1.6.0',  # Version of the MXNet framework to use
    py_version='py3',  # Python version for the environment
    distribution={'parameter_server': {'enabled': True}},  # Enable distributed training with a parameter server
    hyperparameters={  # Training hyperparameters
        'learning-rate': 0.1,  # Learning rate for the training job
        'epochs': 5  # Number of training epochs
    },
    use_spot_instances=use_spot_instances,  # Enable Spot instances for cost savings
    max_run=max_run,  # Maximum runtime for the training job
    max_wait=max_wait,  # Maximum wait time for Spot instance availability
    checkpoint_s3_uri=checkpoint_s3_uri  # S3 URI for saving intermediate checkpoints
)

# Start the training job and specify the locations of training and testing datasets
mnist_estimator.fit({
    'train': train_data_location,  # S3 location of the training dataset
    'test': test_data_location  # S3 location of the testing/validation dataset
})
  • Gunakan metrik dan log CloudWatch: Metrik dan log pelatihan tersedia di Amazon CloudWatch, memberikan wawasan tentang kinerja dan penggunaan sumber daya.

Tangkapan layar event log AWS CloudWatch, menampilkan entri untuk model pembelajaran mesin di path /opt/ml/model. Setiap log mencakup stempel waktu, IP sumber, dan permintaan HTTP GET ke /ping dengan status 200.

Log AWS CloudWatch

Keamanan

Untuk memastikan keamanan, kepatuhan, dan kinerja Amazon Bedrock, penting untuk mengikuti praktik terbaik. Berikut rekomendasi saya:

  • Terapkan akses dengan hak paling minimal: Batasi izin IAM dan service role hanya pada sumber daya yang diperlukan untuk mencegah akses tidak sah.
  • Validasi service role dan security group: Pastikan agen Bedrock dan pekerjaan kustomisasi model dikonfigurasi dengan benar dengan service role dan pengaturan keamanan yang aktif.
  • Jalankan beban kerja di VPC: Tingkatkan keamanan dengan menjalankan pekerjaan kustomisasi dan pemrosesan data di dalam Virtual Private Cloud (VPC).
  • Enkripsikan data kritis: Gunakan Amazon KMS Customer-Managed Keys (CMK) untuk mengenkripsi sesi agen, ruang kerja Bedrock Studio, model kustom, dan data knowledge base sementara.
  • Terapkan kebijakan penghapusan data: Pertahankan data yang disimpan dalam vektor hanya saat sumber berbasis knowledge aktif; atur penghapusan otomatis saat tidak lagi diperlukan.
  • Perkuat guardrails Bedrock: Atur Prompt Attack Strength ke HIGH dan aktifkan filter informasi sensitif untuk melindungi dari serangan adversarial dan kebocoran data.
  • Amankan sesi agen: Gunakan guardrails untuk mencegah akses tidak sah dan melindungi interaksi sensitif.
  • Aktifkan pencatatan untuk visibilitas: Aktifkan pencatatan pemanggilan model di tingkat akun untuk melacak aktivitas dan mendeteksi anomali.
  • Lindungi dari serangan lintas layanan: Gunakan kebijakan service role untuk mencegah Cross-Service Confused Deputy Attacks.

Pemantauan dan evaluasi model

Memastikan model akurat, andal, dan selaras dengan tujuan bisnis dicapai dengan memantau dan mengevaluasi model. Berikut beberapa praktik terbaik:

  • Lacak metrik kinerja: Gunakan CloudWatch untuk memantau latensi, kesalahan, dan tren pemanggilan.
  • Catat input dan output: Aktifkan pencatatan terperinci untuk debugging dan analisis tren.
  • Sertakan umpan balik berkelanjutan: Gunakan alat seperti Amazon A2I untuk menyertakan peninjauan manusia pada output yang kritis.
  • Evaluasi output secara berkala: Bandingkan output dengan dataset validasi atau ground truth.
  • Tingkatkan model secara berkelanjutan: Lakukan fine-tuning model dengan dataset yang diperbarui atau data domain spesifik sesuai kebutuhan.

Dasbor dengan empat grafik yang melacak metrik untuk model Amazon Bedrock.

Dasbor metrik menampilkan jumlah pemanggilan, latensi, dan jumlah token untuk berbagai model di Amazon Bedrock.

Kesimpulan

AWS Bedrock mengubah cara aplikasi AI generatif dikembangkan dan menjadi platform terpusat untuk menggunakan foundation model tanpa perlu memikirkan infrastruktur. 

Mulai dari titik ini, tutorial langkah demi langkah ini seharusnya membantu Anda mengidentifikasi model yang tepat, membuat alur kerja yang aman dan dapat diskalakan, serta mengintegrasikan fitur seperti retrieval-augmented generation (RAG) untuk kustomisasi yang lebih luas. Dengan praktik terbaik untuk biaya, keamanan, dan pemantauan yang diterapkan, Anda siap mengembangkan dan mengelola solusi AI untuk memenuhi tujuan Anda.

Untuk memperdalam keahlian AWS Anda, jelajahi kursus berikut:


Rahul Sharma's photo
Author
Rahul Sharma
LinkedIn
Twitter

Rahul Sharma adalah AWS Ambassador, Arsitek DevOps, dan blogger teknis yang mengkhususkan diri pada komputasi awan, praktik DevOps, serta teknologi open-source. Dengan keahlian di AWS, Kubernetes, dan Terraform, ia menyederhanakan konsep yang kompleks bagi pelajar dan profesional melalui artikel dan tutorial yang menarik. Rahul bersemangat memecahkan tantangan DevOps dan berbagi wawasan untuk memberdayakan komunitas teknologi.

Topik

Pelajari lebih lanjut tentang AWS dengan kursus-kursus ini!

Program

AWS Cloud Practitioner (CLF-C02)

10 Hr
Persiapkan diri Anda untuk ujian AWS Certified Cloud Practitioner (CLF-C02) dari Amazon dengan mempelajari cara menggunakan dan mengamankan layanan komputasi, basis data, dan penyimpanan inti AWS.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight Arrow