Amazon Bedrock هي خدمة مُدارة بالكامل توفر مجموعة مختارة من النماذج الأساسية عالية الأداء (FMs) من شركات الذكاء الاصطناعي الرائدة مثل AI21 Labs وAnthropic وCohere وStability AI وAmazon مع واجهة برمجة تطبيقات واحدة. من منظور العمليات، يوفر وجود واجهة برمجة تطبيقات موحدة واحدة سرعة التطوير والنشر، حيث يتم توحيد جوانب مثل الأمان وقابلية التوسع والمراقبة.
ومع ذلك، عندما يتعلق الأمر بكتابة التعليمات البرمجية للتفاعل مع FMs، يجب على المطورين التعامل يدويًا مع خصائص واجهة برمجة التطبيقات (API) لكل FM. يحدث هذا لأن مخطط كل FM فريد من نوعه، ولتنفيذ طلب واجهة برمجة التطبيقات (API)، يجب توفير حمولة الجسم الصحيحة.
➡️ على سبيل المثال، فكر في السؤال التالي: When Christmas is celebrated?
طرح هذا السؤال على Amazon Bedrock باستخدام AI21Labs Jurassic-2 Mid
FM يتطلب طلب واجهة برمجة التطبيقات هذا:
{
"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 طلبًا مختلفًا لواجهة برمجة التطبيقات:
{
"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. وهذا ممكن بفضل استخدام نمط تصميم البناء الذي يفصل بناء كائن معقد عن تمثيله. في هذه الحالة، الكائن المعقد هو نص الطلب الذي يجب إرساله إلى Amazon Bedrock. للسماح باستخدام FMs مختلفة، تم استخدام نمط تصميم الأوامر أيضًا. كل FM لديه تنفيذ الأمر. بهذه الطريقة، يمكن لكل FM التعامل مع المعلمات الفريدة الخاصة به بطريقته الخاصة.
إذا كنت تريد معرفة كيفية اللعب بهذا الرمز من خلال برنامج تعليمي عملي، فيمكنك مشاهدة فيديو YouTube أدناه.
لاستخدام تطبيق BedrockRequestBody، ما عليك سوى استدعاء الأسلوب الثابت builder()
من الفئة والبدء في توفير المعلمات المطلوبة، وهي 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. انظر ملف الترخيص.