Amazon Bedrock هي خدمة مُدارة بالكامل توفر مجموعة مختارة من النماذج الأساسية عالية الأداء من شركات الذكاء الاصطناعي الرائدة ومجموعة من الإمكانات لبناء تطبيقات الذكاء الاصطناعي المنتجة.
يوفر نموذج الريبو هذا مثالاً لاستخدام استدعاء الوظائف باستخدام Converse API مع Anthropic Claude 3 Sonnet، باستخدام أدوات متعددة. يعد هذا الريبو نموذجًا فقط للتعليمات البرمجية التي توضح كيفية استخدام استدعاء الوظائف كأدوات للنموذج لاستخدامها في جلب النتائج باستخدام رمز الوظيفة العادي.
توفر واجهة برمجة تطبيقات Converse
واجهة متسقة تعمل مع كافة النماذج التي تدعم الرسائل. يتيح لك ذلك كتابة التعليمات البرمجية مرة واحدة واستخدامها مع نماذج مختلفة. إذا كان النموذج يحتوي على معلمات استدلالية فريدة، فيمكنك أيضًا تمرير تلك المعلمات الفريدة إلى النموذج.
يعد استدعاء الوظائف (المعروف أيضًا باسم الأدوات)، طريقة لتزويد النموذج بإرشادات وصفية لوظيفة متاحة للنموذج لاستخدامها في الرد على مدخلات المستخدم.
في هذه العينة، سنطلب من كلود 3 الإجابة، ما هي قيمة شريط الأسهم، مع خيار تحويل عملة شريط الأسهم الافتراضية إلى أي عملة تم توفيرها في إدخال المستخدم.
هناك أداتان متاحتان للنماذج لاستخدامهما:
سيراجع النموذج في كل دورة المطالبة المقدمة، وسيقرر ما إذا كان يمكنه الإجابة بشكل صحيح على السؤال المقدم في إدخال المستخدم، كل دورة وفقًا للاستجابة من Bedrock end_turn
أو tool_use
. end_turn
يعني أنه تم تقديم الإجابة النهائية، وسوف يقوم tool_use
بتحليل البيانات المناسبة وفقًا لوصف الأداة التي سيتم استخدامها لتنفيذ وظيفة الأداة، وإنشاء نتيجة مناسبة مرة أخرى إلى النموذج.
تم اختبار نموذج التعليمات البرمجية هذا باستخدام pyenv مع python 3.12، وتم تعيينه في إصدار .python
تكوين أوس :
us-west-2
، ويتم تكوينها في Ask.pyالوصول إلى الأساس :
anthropic.claude-3-sonnet-20240229-v1:0
أذونات إدارة الهوية :
تأكد من أن مستخدم IAM الذي يقوم بتشغيل هذا المشروع لديه الأذونات اللازمة لاستدعاء نماذج Claude 3. لهذه العينة، يمكنك استخدام:
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " LeastPrivilege4BRClient " ,
"Effect" : " Allow " ,
"Action" : [
" bedrock:InvokeModel "
],
"Resource" : " arn:aws:bedrock:us-west-2::foundation-model/* "
}]
}
يمكن أن يكون هذا أكثر تقييدًا باستخدام أقل الامتيازات بمعرف النموذج المحدد.
لتشغيل نموذج التعليمات البرمجية هذا، اتبع الخطوات التالية:
pip install -r requirements.txt
python main.py
--input "new input here"
لتجاوز نص إدخال المستخدم الافتراضي.المطالبة الافتراضية : "ما هو سعر السهم الحالي لسهم أمازون بالجنيه؟
على سبيل المثال، سيعرف Anthropic Claude 3 Sonnet أن مؤشر Amazon هو AMZN، وسيستخدم الأداة للحصول على قيمة المؤشر، ثم سيقوم بتحويل العملة المصدر لسعر السهم إلى العملة الوجهة.
في كل تكرار للاستدلال، عند إرجاع tool_use
، سيتم إلحاق الرسائل التي تم إرجاعها لإنشاء محادثة مثل النموذج، نظرًا لطبيعة LLM كونها عديمة الحالة.
ستبدو المطالبة النهائية، قبل الإجابة النهائية من كلود 3، مشابهة لما يلي:
[
{
"role" : " user " ,
"content" : [
{
"text" : " What is the current stock price of amazon stock in pounds? "
}
]
},
{
"role" : " assistant " ,
"content" : [
{
"text" : " Okay, let me get the current Amazon (AMZN) stock price and convert it to British pounds for you: "
},
{
"toolUse" : {
"toolUseId" : " tooluse_7ofuIPr8T3uBsK2xy1GZBw " ,
"name" : " get_stock_price " ,
"input" : {
"ticker" : " AMZN "
}
}
}
]
},
{
"role" : " user " ,
"content" : [
{
"toolResult" : {
"toolUseId" : " tooluse_7ofuIPr8T3uBsK2xy1GZBw " ,
"content" : [
{
"json" : {
"ticker" : " AMZN " ,
"price" : 200 ,
"currency" : " USD "
}
}
]
}
}
]
},
{
"role" : " assistant " ,
"content" : [
{
"text" : " The current Amazon stock price is $200.00 USD. To convert that to British pounds: "
},
{
"toolUse" : {
"toolUseId" : " tooluse_lyTta3oMSfik5EhsCnnkGg " ,
"name" : " convert_currency " ,
"input" : {
"amount" : 200 ,
"source_currency" : " USD " ,
"target_currency" : " GBP "
}
}
}
]
},
{
"role" : " user " ,
"content" : [
{
"toolResult" : {
"toolUseId" : " tooluse_lyTta3oMSfik5EhsCnnkGg " ,
"content" : [
{
"json" : {
"converted_currency" : 158.0185237159697
}
}
]
}
}
]
}
]
ويجب أن تكون الإجابة النهائية مشابهة لما يلي: So the current Amazon (AMZN) stock price of $200.00 USD converts to £158.02 GBP.
ملحوظة: أسعار الأسهم وأسعار صرف العملات متقلبة للغاية ويمكن أن تتغير بسرعة. قد لا يعكس مخرجات المثال الموضحة في ملف التمهيد هذا قيم السوق الحالية. عند تشغيل الكود، ستحصل على بيانات في الوقت الفعلي والتي قد تختلف عن الأمثلة المقدمة.
انظر المساهمة لمزيد من المعلومات.
انظر المساهمة لمزيد من المعلومات.
تم ترخيص هذا المشروع بموجب ترخيص Apache-2.0.