دليل لاستخدام Amazon Bedrock Prompts لتكامل LLM

بينما تحدث ثورة الذكاء الاصطناعي الناشئ تدريجيًا في مختلف الصناعات، يبحث المطورون بشكل متزايد عن طرق فعالة لدمج نماذج اللغة الكبيرة (LLMs) في تطبيقاتهم. يُعد Amazon Bedrock حلاً قويًا. إنه يوفر خدمة تم إدارتها بالكامل توفر الوصول إلى مجموعة واسعة من النماذج الأساسية من خلال واجهة برمجة التطبيقات الموحدة. سوف يستكشف هذا الدليل الفوائد الرئيسية لـ Amazon Bedrock، كيفية دمج نماذج LLM المختلفة في مشاريعك، كيفية تبسيط إدارة الحوافز المختلفة لـ LLM التي يستخدمها تطبيقك، وأفضل الممارسات التي يجب النظر فيها للاستخدام في الإنتاج.

الفوائد الرئيسية لـ Amazon Bedrock

Amazon Bedrock يبسط التكامل الأولي لـ LLMs في أي تطبيق عن طريق توفير جميع القدرات الأساسية اللازمة للبدء.

الوصول المبسط إلى النماذج الرائدة

يوفر Bedrock الوصول إلى مجموعة متنوعة من النماذج الأساسية عالية الأداء من قادة الصناعة مثل AI21 Labs، Anthropic، Cohere، Meta، Mistral AI، Stability AI، و Amazon. تتيح هذه التنوع للمطورين اختيار النموذج الأنسب لحالتهم الاستخدامية والتبديل بين النماذج حسب الحاجة دون الحاجة لإدارة علاقات موردين متعددين أو واجهات برمجة تطبيقات متعددة. 

مُدار بالكامل وخدمة خادمية

بوصفه خدمة مُدارة بالكامل، يُزيل Bedrock الحاجة إلى إدارة البنية التحتية. يتيح هذا للمطورين التركيز على بناء التطبيقات بدلاً من القلق بشأن تعقيدات البنية التحتية، نشر النموذج، وتوسيعها.

أمان وخصوصية على مستوى الشركات

يوفر Bedrock ميزات أمان مدمجة، مضمونة لعدم مغادرة البيانات بيئات AWS الخاصة بك وتشفيرها أثناء النقل وفي حالة الراحة. كما أنه يدعم الامتثال لمعايير مختلفة، بما في ذلك ISO و SOC و HIPAA.

ابق على اطلاع دائم مع أحدث تحسينات البنية التحتية

تطلق Bedrock بانتظام ميزات جديدة تدفع حدود تطبيقات LLM وتتطلب قليلًا أو لا تتطلب أي إعداد. على سبيل المثال، أطلقت مؤخرًا وضع التستخدم المحسن الذي يعزز تأخير استنتاج LLM دون التأثير على الدقة.

البدء مع Bedrock

في هذا القسم، سنستخدم AWS SDK for Python لإنشاء تطبيق صغير على جهازك المحلي، مما يوفر دليلًا عمليًا للبدء مع Amazon Bedrock. سيساعدك هذا على فهم الجوانب العملية لاستخدام Bedrock وكيفية دمجه في مشاريعك.

المتطلبات المسبقة

  1. يجب أن يكون لديك حساب AWS.
  2. يجب أن يكون لديك Python مثبتًا. إذا لم يكن مثبتًا، احصل عليه باتباع هذا الدليل.
  3. يجب أن يكون لديك SDK Python AWS (Boto3) مثبتًا ومكونًا بشكل صحيح. من المستحسن إنشاء مستخدم IAM في AWS يمكن لـ Boto3 استخدامه. تتوفر التعليمات في دليل Boto3 Quickstart.
  4. إذا كنت تستخدم مستخدم IAM، تأكد من إضافة سياسة AmazonBedrockFullAccess إليه. يمكنك إرفاق السياسات باستخدام واجهة التحكم في خدمات AWS.
  5. اطلب الوصول إلى نماذج واحدة أو أكثر على Bedrock من خلال اتباع هذا الدليل.

1. إنشاء عميل Bedrock

تحتوي Bedrock على عملاء متعددين متوفرين ضمن AWS CDK. يسمح لك العميل Bedrock بالتفاعل مع الخدمة لإنشاء وإدارة النماذج، بينما يمكنك استخدام العميل BedrockRuntime لاستدعاء النماذج الحالية. سنستخدم أحد النماذج الأساسية الجاهزة للعملية التعليمية الخاصة بنا، لذا سنعمل فقط مع عميل BedrockRuntime.

Python

 

2. استدعاء النموذج

في هذا المثال، لقد استخدمت نموذج Amazon Nova Micro (بمعرف النموذج amazon.nova-micro-v1:0)، أحد أرخص النماذج المتوفرة على Bedrock. سنقدم تعليمات بسيطة لطلب من النموذج كتابة قصيدة لنا وتعيين معلمات للتحكم في طول الناتج ومستوى الإبداع (المسمى “درجة الحرارة”) الذي يجب أن يوفره النموذج. لا تتردد في تجربة تعليمات مختلفة وضبط المعلمات لرؤية كيف تؤثر على الناتج.

Python

 

يمكننا أيضًا تجربة هذا مع نموذج آخر مثل هايكو من Anthropic، كما هو موضح أدناه.

Python

 

يرجى ملاحظة أن هياكل الطلب/الاستجابة تختلف قليلاً بين النماذج. هذه عيب سنتعامل معه عن طريق استخدام قوالب الدعوة المحددة مسبقًا في القسم التالي. لتجربة نماذج أخرى، يمكنك البحث عن modelId وطلبات واجهة برمجة التطبيقات العينية لكل نموذج من صفحة “كتالوج النماذج” في واجهة تحكم Bedrock وضبط كودك وفقًا لذلك. بعض النماذج تأتي أيضًا مع أدلة مفصلة من AWS، يمكنك العثور عليها هنا.

3. استخدام إدارة الدعوة

توفر Bedrock أداة رائعة لإنشاء وتجربة القوالب المحددة مسبقًا. بدلاً من تحديد الدعوات والمعلمات المحددة مثل أطوال الرموز أو درجة الحرارة في كودك في كل مرة تحتاج فيها، يمكنك إنشاء قوالب محددة مسبقًا في واجهة تحكم إدارة الدعوة. تحدد المتغيرات الداخلية التي سيتم حقنها أثناء التشغيل، وتضبط جميع معلمات التستنتج المطلوبة، وتنشر نسخة من دعوتك. بمجرد الانتهاء، يمكن لكود التطبيق الخاص بك استدعاء النسخة المرغوبة من قالب الدعوة الخاص بك.

الفوائد الرئيسية لاستخدام الدعوات المحددة مسبقًا:

  1. تساعد تطبيقك على البقاء منظمًا مع نموه واستخدام دعوات ومعلمات مختلفة مثل أطوال الرموز والنماذج لحالات استخدام مختلفة.
  2. تساعد في إعادة استخدام الدعوة إذا تم استخدام نفس الدعوة في أماكن متعددة.
  3. تجرد التفاصيل الخاصة بتستنتج اللغة من كود تطبيقنا.
  4. تتيح لمهندسي الدعوة العمل على تحسين الدعوة في واجهة التحكم دون لمس كود التطبيق الفعلي الخاص بك.
  5. يسمح بالتجربة السهلة، واستغلال إصدارات مختلفة من الاقتراحات. يمكنك ضبط إدخال الاقتراح، والمعلمات مثل درجة الحرارة، أو حتى النموذج نفسه.

لنجرب هذا الآن: 

  1. انتقل إلى وحدة التحكم في Bedrock وانقر على “إدارة الاقتراحات” في اللوحة الجانبية اليسرى.
  2. انقر على “إنشاء اقتراح” وقم بإعطاء اقتراحك الجديد اسمًا
  3. أدخل النص الذي نريد إرساله إلى LLM، جنبًا إلى جنب مع متغير العنصر النائب. استخدمت اكتب قصيدة قصيرة حول {{الموضوع}}.
  4. في القسم “التكوين”، حدد النموذج الذي تريد استخدامه وقم بتعيين قيم نفس المعلمات التي استخدمناها سابقًا، مثل “درجة الحرارة” و “العلامات القصوى”. إذا كنت تفضل ذلك، يمكنك ترك القيم الافتراضية كما هي.
  5. حان الوقت للاختبار! في الجزء السفلي من الصفحة، قدم قيمة لمتغير الاختبار الخاص بك. استخدمت “بطل تطوير البرمجيات”. ثم، انقر فوق “تشغيل” على اليمين لمعرفة ما إذا كنت راضيًا عن النتيجة.

للإشارة، إليك تكويني والنتائج.

نحتاج إلى نشر إصدار جديد للإقتراح لاستخدامه في تطبيقك. للقيام بذلك، انقر على زر “إنشاء الإصدار” في الأعلى. ينشئ هذا نسخة لتكوينك الحالي. إذا كنت ترغب في التلاعب به، يمكنك متابعة التحرير وإنشاء المزيد من الإصدارات.

بمجرد النشر، نحتاج إلى العثور على ARN (الاسم الموارد في أمازون) لإصدار الإقتراح من خلال الانتقال إلى الصفحة الخاصة بالإقتراح الخاص بك والنقر على الإصدار الذي تم إنشاؤه حديثًا.

انسخ ARN لهذا الإصدار الخاص بالإقتراح لاستخدامه في كودك.

بمجرد أن نحصل على ARN، يمكننا تحديث الشيفرة الخاصة بنا لاستدعاء هذه التعليمات المسبقة المحددة. نحن بحاجة فقط إلى ARN لإصدار التعليمات وأي قيم للمتغيرات التي نقوم بإدخالها فيها.

Python

 

كما ترى، هذا يبسط شيفرة التطبيق الخاص بنا من خلال تجريد تفاصيل استدلال LLM وتعزيز إعادة الاستخدام. لا تتردد في اللعب بالمعلمات داخل التعليمات الخاصة بك، وإنشاء إصدارات مختلفة، واستخدامها في تطبيقك. يمكنك توسيع هذا إلى تطبيق بسيط يعمل من سطر الأوامر يأخذ مدخلات المستخدم ويكتب قصيدة قصيرة حول هذا الموضوع.

الخطوات التالية وأفضل الممارسات

بمجرد أن تشعر بالراحة في استخدام Bedrock لدمج LLM في تطبيقك، استكشف بعض الاعتبارات العملية وأفضل الممارسات لجعل تطبيقك جاهزًا للاستخدام في الإنتاج. 

هندسة التعليمات

يمكن أن تجعل التعليمات التي تستخدمها لاستدعاء النموذج أو تكسر تطبيقك. هندسة التعليمات هي عملية إنشاء وتحسين التعليمات للحصول على المخرجات المرغوبة من LLM. باستخدام قوالب التعليمات المحددة مسبقًا التي تم استكشافها أعلاه، يمكن لمهندسي التعليمات الماهرين البدء في هندسة التعليمات دون التدخل في عملية تطوير البرمجيات لتطبيقك. قد تحتاج إلى تخصيص تعليماتك لتكون خاصة بالنموذج الذي ترغب في استخدامه. تعرف على تقنيات التعليمات الخاصة بكل مزود نموذج. يوفر Bedrock بعض الإرشادات  للنماذج الكبيرة الشائعة.

اختيار النموذج

اختيار النموذج المناسب هو توازن بين احتياجات التطبيق الخاص بك والتكلفة المتكبدة. النماذج الأكثر قدرة tend to أن تكون أكثر تكلفة. ليس جميع حالات الاستخدام تتطلب النموذج الأقوى، بينما النماذج الأرخص قد لا توفر دائمًا الأداء الذي تحتاج إليه. استخدم ميزة تقييم النموذج لتقييم ومقارنة إخراج النماذج المختلفة بسرعة لتحديد أي منها يلبي احتياجاتك بشكل أفضل. يوفر Bedrock خيارات متعددة لتحميل مجموعات بيانات الاختبار وتكوين كيفية تقييم دقة النموذج لحالات الاستخدام الفردية.

تنقيح وتوسيع نموذجك باستخدام RAG والوكلاء

إذا لم يكن النموذج الجاهز كافيًا بالنسبة لك، يوفر Bedrock خيارات لضبط النموذج وفقًا لحالة الاستخدام الخاصة بك. أنشئ بيانات التدريب الخاصة بك، وقم بتحميلها إلى S3، واستخدم وحدة التحكم في Bedrock لبدء عملية تنقيح دقيقة. يمكنك أيضًا توسيع نماذجك باستخدام تقنيات مثل توليد معزز بالاسترجاع (RAG) لتحسين الأداء لحالات الاستخدام الخاصة. قم بربط مصادر البيانات الحالية التي ستتوفر للنموذج من Bedrock لتعزيز معرفته. كما يقدم Bedrock القدرة على إنشاء وكلاء لتخطيط وتنفيذ المهام المعقدة المتعددة الخطوات باستخدام أنظمة الشركة ومصادر البيانات الحالية.

الأمان والحواجز الوقائية

با حواجز الحماية، يمكنك التأكد من أن تطبيقك الإنشائي يتجنب براعة المواضيع الحساسة (على سبيل المثال، العنصرية والمحتوى الجنسي والفاظ بذيئة) وأن المحتوى الذي يتم إنشاؤه مرتبط لتجنب الهلوسة. هذه الميزة ضرورية للحفاظ على المعايير الأخلاقية والمهنية لتطبيقاتك. استفد من ميزات الأمان المدمجة في Bedrock وامزجها مع ضوابط الأمان الحالية الخاصة بك على منصة AWS.

تحسين التكلفة

قبل إطلاق تطبيقك أو ميزتك على نطاق واسع، انظر إلى التكلفة التي ستتكبدها تقديرات Bedrock والامتدادات مثل RAG.

  • إذا كنت تستطيع توقع أنماط حركة المرور الخاصة بك، فكر في استخدام الإنتاجية المحجوزة للحصول على تقديرات نموذجية أكثر كفاءة واقتصادية.
  • إذا كان تطبيقك يتكون من ميزات متعددة، يمكنك استخدام نماذج واستفسارات مختلفة لكل ميزة لتحسين التكاليف على أساس فردي.
  • قم بمراجعة اختيارك للنموذج بالإضافة إلى حجم الاستفسار الذي تقدمه لكل تقدير. يتم تسعير Bedrock عمومًا على أساس “لكل رمز”، لذا ستتكبد تكاليف أكبر في حالة الاستفسارات الطويلة والمخرجات الأكبر.

الاستنتاج

يعتبر Amazon Bedrock منصة قوية ومرنة لدمج LLMs في التطبيقات. يوفر الوصول إلى العديد من النماذج، ويبسط التطوير، ويقدم ميزات تخصيص وأمان قوية. وبالتالي، يمكن للمطورين استغلال قوة الذكاء الاصطناعي الإنشائي مع التركيز على خلق قيمة لمستخدميهم. يوضح هذا المقال كيفية البدء مع تكامل Bedrock الأساسي والحفاظ على تنظيم استفساراتنا.

مع تطور الذكاء الاصطناعي، يجب على المطورين البقاء على اطلاع على أحدث الميزات وأفضل الممارسات في أمازون بيدروك لبناء تطبيقاتهم الذكية.

Source:
https://dzone.com/articles/amazon-bedrock-prompts-llm-integration-guide