Amazon Bedrock adalah layanan terkelola sepenuhnya yang menawarkan pilihan model fondasi (FM) berperforma tinggi dari perusahaan AI terkemuka seperti AI21 Labs, Anthropic, Cohere, Stability AI, dan Amazon dengan satu API. Dari perspektif Operasional, memiliki satu API terpadu memberikan kecepatan pengembangan dan penerapan, karena aspek-aspek seperti keamanan, skalabilitas, dan pemantauan distandarisasi.
Namun, ketika menulis kode untuk berinteraksi dengan FM, pengembang harus menangani kekhasan API setiap FM secara manual. Hal ini terjadi karena skema setiap FM unik, dan untuk menjalankan permintaan API, body payload yang benar harus disediakan.
➡️ Misalnya, perhatikan pertanyaan berikut: When Christmas is celebrated?
Mengajukan pertanyaan ini ke Amazon Bedrock menggunakan AI21Labs Jurassic-2 Mid
FM memerlukan permintaan API ini:
{
"modelId" : " ai21.j2-mid-v1 " ,
"contentType" : " application/json " ,
"accept" : " */* " ,
"body" : " { " prompt " : " When Christmas is celebrated? " , " maxTokens " :200, " temperature " :0.7, " topP " :1, " stopSequences " :[], " countPenalty " :{ " scale " :0}, " presencePenalty " :{ " scale " :0}, " frequencyPenalty " :{ " scale " :0}} "
}
Mengajukan pertanyaan yang sama persis ke Amazon Bedrock menggunakan Anthropic Claude V2
FM memerlukan permintaan API yang berbeda:
{
"modelId" : " anthropic.claude-v2 " ,
"contentType" : " application/json " ,
"accept" : " */* " ,
"body" : " { " prompt " : " Human: \ n \ nHuman: When Christmas is celebrated? \ n \ nAssistant: " , " max_tokens_to_sample " :300, " temperature " :1, " top_k " :250, " top_p " :0.999, " stop_sequences " :[ "\ n \ nHuman: " ], " anthropic_version " : " bedrock-2023-05-31 " } "
}
Untuk mengurangi hiruk pikuk, proyek ini memperkenalkan implementasi sederhana namun kuat untuk mengabstraksi setiap skema dari setiap FM. Hal ini dimungkinkan berkat penggunaan pola desain Builder yang memisahkan konstruksi objek kompleks dari representasinya. Dalam hal ini, objek kompleks adalah isi permintaan yang harus dikirim ke Amazon Bedrock. Untuk memungkinkan penggunaan FM yang berbeda, pola desain Command juga digunakan. Setiap FM memiliki implementasi perintahnya masing-masing. Dengan cara ini, setiap FM dapat menangani parameter uniknya dengan caranya sendiri.
Jika Anda ingin mempelajari cara bermain kode ini dengan tutorial praktis, Anda dapat menonton video YouTube di bawah.
Untuk menggunakan implementasi BedrockRequestBody, cukup aktifkan metode statis builder()
dari kelas dan mulailah menyediakan parameter yang diperlukan, yaitu modeId
dan prompt
. Mengingat pertanyaan When Christmas is celebrated?
inilah cara Anda bekerja dengan AI21Labs Jurassic-2 Mid
:
String bedrockBody = BedrockRequestBody . builder ()
. withModelId ( "ai21.j2-mid-v1" )
. withPrompt ( "When Christmas is celebrated?" )
. build ();
Demikian pula jika Anda ingin menggunakan Anthropic Claude V2
FM, berikut cara kerjanya:
String bedrockBody = BedrockRequestBody . builder ()
. withModelId ( "anthropic.claude-v2" )
. withPrompt ( "When Christmas is celebrated?" )
. build ();
Jauh lebih sederhana, bukan? ?
Lihat KONTRIBUSI untuk informasi lebih lanjut.
Proyek ini dilisensikan di bawah Lisensi MIT-0. Lihat file LISENSI.