يحتوي هذا الحل على واجهة خلفية بدون خادم وتطبيق ReactJS للواجهة الأمامية الذي ينشئ أوصاف المنتج من الصور وإدخال النص، ويعزز أوصاف المنتج ويترجمها باستخدام خدمة الذكاء الاصطناعي التوليدية المُدارة الجديدة، Amazon Bedrock.
غالبًا ما تمتلك شركات البيع بالتجزئة عدة آلاف أو ملايين من المنتجات، وكلها تتطلب أوصافًا دقيقة وفعالة. غالبًا ما يكون لدى تجار التجزئة بيانات وصفية أو صور موجودة لهذه المنتجات والتي يمكن توفيرها كمدخلات لنماذج الذكاء الاصطناعي التوليدية لتسريع عملية إنشاء أوصاف المنتج بشكل كبير.
أنت مسؤول عن تكلفة خدمات AWS المستخدمة أثناء تشغيل هذه الإرشادات. اعتبارًا من نوفمبر 2023، تبلغ تكلفة تشغيل هذه الإرشادات بالإعدادات الافتراضية في شرق الولايات المتحدة (شمال فيرجينيا) حوالي 86 دولارًا أمريكيًا شهريًا لمعالجة 1000 منتج كل شهر.
يتضمن هذا التوجيه خدمات AWS Rekognition وBedrock وCognito وLambda وAPI Gateway وCloudWatch بتكاليف على النحو التالي:
بشكل متحفظ (يخطئ في المبالغة في التقدير)، باستخدام هذا الحل لإنشاء أوصاف المنتج استنادًا إلى الصور المدخلة 1000 مرة شهريًا (بما في ذلك إنشاء ترجمات إلى الإسبانية والألمانية والفرنسية)، وافتراض أسوأ حالة تبلغ 30 ثانية لكل استدعاء لوظيفة Lambda و 1000 رمز إدخال/إخراج لجميع المكالمات إلى نماذج Claude Instant وJurassic، وستكون التكاليف تقريبًا كما يلي:
ستحتاج إلى تثبيت جميع المتطلبات الأساسية على جهازك المحلي:
cdk
) كما هو موثق هنا. ستحتاج أيضًا إلى تشغيل cdk bootstrap
إذا لم تكن قد استخدمت CDK من قبل في حسابك كما تمت مناقشته هنا. ملاحظة: يجب تثبيت Docker وتشغيله . يمكنك التأكد من تشغيل البرنامج الخفي Docker من خلال التأكد من تشغيل أمر مثل docker ps
دون أخطاء. إذا لم تكن هناك أي حاويات قيد التشغيل، فيجب على docker ps
إرجاع قائمة فارغة بالحاويات مثل هذا:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
أنشئ بيئة EC2 في AWS Cloud9، وقم بتشغيل مثيل EC2 في شبكة فرعية عامة، واكتب عنوان IPv4 العام الخاص به (#cloud9_ec2_ip).
قم بتغيير حجم وحدة تخزين EBS التي تستخدمها البيئة (التي تم إنشاؤها في الخطوة 1) إلى 20 جيجابايت على الأقل. يأتي بسعة 10 جيجابايت لـ t2.micro بشكل افتراضي.
استنساخ الريبو:
git clone https://github.com/aws-solutions-library-samples/guidance-for-generating-product-descriptions-with-bedrock.git
القرص المضغوط إلى مجلد الريبو:
cd guidance-for-generating-product-descriptions-with-bedrock
(اختياري) قم بإنشاء Python virtualenv جديد للتبعيات الخاصة بالمشروع:
python -m venv .env && source .env/bin/activate
تثبيت تبعيات CDK:
pip install -r deployment/requirements.txt
التمهيد لـ AWS CDK، إذا لم يتم ذلك مسبقًا:
cd deployment && cdk bootstrap
نشر الواجهة الخلفية:
cd deployment && cdk deploy
القرص المضغوط يعود إلى جذر المشروع:
cd ..
قم بإنشاء مستخدم Cognito الأولي:
deployment/create-user.sh <>
قم بتحديث config.js
بالقيم المناسبة من مخرجات مكدس CDK. يمكن القيام بذلك تلقائيًا عن طريق التشغيل
deployment/update-config.sh
تثبيت تبعيات الواجهة الأمامية:
cd source/frontend && npm install
قم بتشغيل نموذج تطبيق العميل، واكتب رقم المنفذ (#web_port) الذي تستمع إليه حزمة الويب، على سبيل المثال. 8080.
npm start
افتح مجموعات الأمان الخاصة بـ EC2 التي تم إنشاؤها في الخطوة 1، وأضف قاعدة واردة، والتي تسمح بـ TCP المخصص، ونطاق المنفذ #web_port، والمصدر "My IP"، ثم حفظ القواعد.
يجب أن يكون النشر ناجحًا إذا اكتملت جميع الأوامر المذكورة أعلاه دون أخطاء. يمكنك تصفح موارد الواجهة الخلفية التي تم إنشاؤها من خلال الانتقال إلى خدمة CloudFormation في وحدة تحكم AWS، والعثور على المكدس المسمى LambdaStack
، وتصفح موارده.
يمكنك تجربة تطبيق الويب التجريبي باتباع الخطوات التالية:
راجع صفحة منتج Bedrock للحصول على المزيد من الموارد حول استخدام Amazon Bedrock.
يمكن حذف البنية الأساسية المتوفرة عن طريق تشغيل الأمر التالي:
cd deployment && cdk destroy
اعتبارات وقيود إضافية