يحتوي هذا المستودع على نموذج تعليمات برمجية لنشر تطبيق يمكنه إجراء تقييم جودة الجمل المترجمة من بعض أزواج اللغات الشائعة. يأخذ التطبيق جملة مصدر ونظيرتها المترجمة ويستخدم نموذج لغة كبير لإجراء بعض تقييمات الجودة وتقديم تصنيف باللون الأحمر أو الأصفر أو الأخضر. سيعرض التطبيق أيضًا منطق LLM بالإضافة إلى قائمة الأخطاء التي يحددها.
الاستخدام المقصود لهذا التطبيق هو تقييم جودة النماذج المترجمة آليًا لأزواج اللغات المشتركة حيث لا يحتاج التصنيف الأخضر إلى تدخل بشري. يتطلب تصنيف AMBER بعض التصحيحات ولكن يتم الحفاظ على القصد من الجملة في الترجمة. يحدد التصنيف الأحمر الترجمات ذات الجودة الرديئة التي لا يمكن استخدامها أو التي تغير معنى الجملة المصدر.
يهدف هذا التطبيق إلى عرض بعض القدرات المثيرة للاهتمام لحاملي LLM متعددي اللغات وليس المقصود منه أن يكون نظامًا جاهزًا للإنتاج.
لنشر هذا التطبيق، نحتاج إلى حساب AWS مع إمكانية الوصول إلى نماذج Bedrock الخاصة بـ Bedrock. لتمكين النماذج الضرورية، اتبع الخطوات التالية:
قم بتسجيل الدخول إلى وحدة تحكم AWS للحساب الذي ستستخدمه.
قم بالتبديل إلى المنطقة التي تريد النشر إليها. تحقق أولاً مما إذا كان Bedrock متاحًا في تلك المنطقة وأن النماذج التي ستستخدمها متاحة أيضًا (Claude 3 Sonnet وLlama2 Chat 70B بشكل افتراضي)
انتقل إلى Bedrock على وحدة التحكم ومن القائمة المنسدلة انتقل إلى Model access
حدد Modify model access
من قائمة النماذج الأساسية حدد:
تحقق من شروط وأحكام كلا الطرازين وأن استخدامك سيكون ضمنها.
انقر فوق Next
يجب أن يتم منح الوصول على الفور. إذا لم يتم منح الوصول خلال بضع دقائق، فاتصل بدعم AWS.
قم بإنشاء بيئة افتراضية لـ python أولاً باستخدام python3.12 -m venv .venv
بعد ذلك، قم بتنشيط البيئة الافتراضية وتثبيت المتطلبات:
source .venv/bin/activate
pip install -r requirements.txt
بناء التطبيق باستخدام SAM CLI
sam build --template template.yaml
سيؤدي هذا أولاً إلى إنشاء حزمة التطبيق وإنشاء مجلد .aws-sam
محليًا.
نشر التحف المبنية. في عملية النشر الأولى، استخدم العلامة --guided
للإجابة على سلسلة من الأسئلة حول المكدس. يمكن حفظ هذه المعلمات محليًا وإعادة استخدامها في عمليات النشر المستقبلية.
sam deploy --guided --profile < AWS_PROFILE >
المعلمة الأولى المطلوبة ستكون اسم المكدس. سنشير إلى هذا باسم $STACK_NAME
في بقية هذا المستند. وسيبدأ هذا في نشر التطبيق على حساب AWS المحدد الخاص بك. يجب أن يستغرق النشر أقل من 15 دقيقة. عند الانتهاء، سيتم عرض مجموعة من مخرجات المكدس، وسنستخدمها في الخطوة التالية لتكوين واجهة المستخدم.
لتكوين واجهة المستخدم، نحتاج إلى استخدام بعض مخرجات المكدس.
انتقل إلى وحدة التحكم الخاصة بحساب AWS الذي قمت بالنشر عليه وانتقل إلى Cloudformation ثم Stacks.
حدد موقع المكدس $STACK_NAME
، وافتحه وانتقل إلى علامة التبويب "المخرجات".
محليًا، افتح ui/src/aws-exports.js
لتحرير الملف.
املأ القيم التالية في aws-exports.js
بالمتغيرات المقابلة في علامة التبويب Outpts في Cloudformation Stacks:
aws_project_region: $Region ,
aws_cognito_region: $Region ,
aws_user_files_s3_bucket_region: $Region ,
aws_user_files_s3_bucket: $S3Bucket ,
aws_cloud_logic_custom: [
{
name: " api " ,
endpoint: " $Endpoint " ,
},
],
aws_user_pools_id: $UserPoolsId ,
aws_cognito_identity_pool_id: $IdentityPoolId ,
aws_user_pools_web_client_id: $UserPoolsWebClientId ,
بعد ذلك، نحتاج إلى إنشاء مستخدم في Amazon Cognito للوصول إلى التطبيق. افتح Amazon Cognito في وحدة تحكم AWS وحدد موقع تجمع المستخدمين. سيتم تسميته UserPool-$UserPoolsId
. ضمن علامة التبويب "المستخدمون"، حدد إنشاء مستخدم واتبع الخطوات لإعداد حسابك للوصول إلى واجهة المستخدم.
لبناء الواجهة الأمامية، قم بتشغيلها محليًا:
cd ui
npm install
يمكنك بعد ذلك استضافة الواجهة الأمامية محليًا لأغراض العرض التوضيحي باستخدام
npm run dev
سيوفر هذا عنوان URL للمضيف المحلي للوصول إلى التطبيق.
انتقل إلى مجلد dist ضمن مجلد ui وحدد جميع الملفات يدويًا وأنشئ ملفًا مضغوطًا. يمكنك إعادة تسميته كـ ui.zip
قم بتسجيل الدخول إلى وحدة تحكم AWS وانتقل إلى AWS Amplify
حدد Create new app
اختر Deploy without Git
ثم التالي
انتقل إلى المستودع المحلي الخاص بك، ومن مجلد ui
، قم بتشغيل:
npm run build
سيؤدي هذا إلى إنشاء مجلد ui/dist
.
بعد ذلك، قم بضغط المجلد dist
cd dist
zip -r $STACK_NAME *
ارجع إلى وحدة تحكم AWS Amplify وقم بتحميل ملف مضغوط تم إنشاؤه حديثًا، ثم اضغط على Save and deploy
عند النجاح، ستظهر صفحة تحتوي على رابط Domain
، انقر فوق هذا وسوف يأخذك إلى التطبيق الذي تم نشره.
استخدم المستخدم الذي تم إنشاؤه في الخطوات السابقة لتسجيل الدخول إلى التطبيق.
لتجنب تكبد رسوم مستقبلية، يرجى تنظيف الموارد التي تم إنشاؤها.
sam delete $STACK_NAME
افتح AWS Amplify في وحدة تحكم AWS وحدد إجراء "حذف التطبيق" لاستضافة Amplify الخاصة بك.