Amazon Bedrock เป็นบริการที่มีการจัดการเต็มรูปแบบซึ่งนำเสนอตัวเลือกโมเดลพื้นฐาน (FM) ที่มีประสิทธิภาพสูงจากบริษัท AI ชั้นนำ เช่น AI21 Labs, Anthropic, Cohere, Stability AI และ Amazon ด้วย API เดียว จากมุมมองของ Ops การมี API ที่รวมเป็นหนึ่งเดียวจะช่วยให้การพัฒนาและความเร็วในการปรับใช้เป็นไปอย่างรวดเร็ว เนื่องจากแง่มุมต่างๆ เช่น ความปลอดภัย ความสามารถในการปรับขนาด และการตรวจสอบ ถือเป็นมาตรฐาน
อย่างไรก็ตาม เมื่อพูดถึงการเขียนโค้ดเพื่อโต้ตอบกับ FM นักพัฒนาจะต้องจัดการลักษณะเฉพาะของ API ของแต่ละ FM ด้วยตนเอง สิ่งนี้เกิดขึ้นเนื่องจากสคีมาของแต่ละ FM ไม่ซ้ำกัน และในการดำเนินการร้องขอ API จะต้องระบุเพย์โหลดเนื้อหาที่ถูกต้อง
➡️ ตัวอย่างเช่น ลองพิจารณาคำแนะนำต่อไปนี้: When Christmas is celebrated?
การถามคำถามนี้กับ Amazon Bedrock โดยใช้ AI21Labs Jurassic-2 Mid
FM จำเป็นต้องมีคำขอ API นี้:
{
"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}} "
}
การถามคำถามเดียวกันนี้กับ Amazon Bedrock โดยใช้ Anthropic Claude V2
FM ต้องใช้คำขอ API อื่น:
{
"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 " } "
}
เพื่อลดเสียงขรม โปรเจ็กต์นี้แนะนำการใช้งานที่เรียบง่ายแต่ทรงพลังเพื่อแยกแต่ละสคีมาออกจาก FM แต่ละอัน สิ่งนี้เป็นไปได้ด้วยการใช้รูปแบบการออกแบบของ Builder ที่แยกการก่อสร้างวัตถุที่ซับซ้อนออกจากการนำเสนอ ในกรณีนี้ ออบเจ็กต์ที่ซับซ้อนคือเนื้อหาคำขอที่ต้องส่งไปยัง Amazon Bedrock เพื่อให้สามารถใช้ FM ที่แตกต่างกันได้ จึงมีการใช้รูปแบบการออกแบบ Command ด้วย FM แต่ละแห่งมีการดำเนินการตามคำสั่งของตน ด้วยวิธีนี้ แต่ละ FM สามารถจัดการพารามิเตอร์เฉพาะของตนเองได้ในแบบของตนเอง
หากคุณต้องการเรียนรู้วิธีเล่นกับโค้ดนี้พร้อมบทช่วยสอนแบบลงมือปฏิบัติจริง คุณสามารถชมวิดีโอ YouTube ด้านล่าง
หากต้องการใช้งาน BedrockRequestBody เพียงเรียกใช้เมธอด builder()
static จากคลาส และเริ่มจัดเตรียมพารามิเตอร์ที่จำเป็น ซึ่งได้แก่ modeId
และ prompt
ตามลำดับ พิจารณาพร้อมท์ When Christmas is celebrated?
นี่คือวิธีที่คุณจะทำงานกับ AI21Labs Jurassic-2 Mid
:
String bedrockBody = BedrockRequestBody . builder ()
. withModelId ( "ai21.j2-mid-v1" )
. withPrompt ( "When Christmas is celebrated?" )
. build ();
ในทำนองเดียวกัน หากคุณต้องการใช้ Anthropic Claude V2
FM คุณต้องดำเนินการดังนี้:
String bedrockBody = BedrockRequestBody . builder ()
. withModelId ( "anthropic.claude-v2" )
. withPrompt ( "When Christmas is celebrated?" )
. build ();
ง่ายกว่ามากใช่ไหม? -
ดูการมีส่วนร่วมสำหรับข้อมูลเพิ่มเติม
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT-0 ดูไฟล์ใบอนุญาต