في هذا المستودع، نقدم حلاً يسخر قوة الذكاء الاصطناعي التوليدي لتبسيط عملية تأهيل المستخدم للخدمات المالية من خلال مساعد رقمي. يعد تأهيل عملاء جدد في الخدمات المصرفية خطوة حاسمة في رحلة العميل، حيث يتضمن سلسلة من الأنشطة المصممة لتلبية متطلبات معرفة عميلك (KYC)، وإجراء عمليات التحقق اللازمة، وتعريفهم بمنتجات البنك أو خدماته. تقليديًا، كان تأهيل المستخدم عملية شاقة ويدوية بشكل كبير. يوفر حلنا إرشادات عملية حول مواجهة هذا التحدي من خلال الاستفادة من مساعد الذكاء الاصطناعي التوليدي على AWS.
Amazon Bedrock هي خدمة مُدارة بالكامل توفر مجموعة مختارة من نماذج الأساس عالية الأداء (FMs) من شركات الذكاء الاصطناعي الرائدة مثل AI21 Labs وAnthropic وCohere وMeta وMistral AI وStability AI وAmazon عبر واجهة برمجة تطبيقات واحدة، إلى جانب واجهة برمجة تطبيقات واحدة. مجموعة واسعة من الإمكانات التي تحتاجها لإنشاء تطبيقات ذكاء اصطناعي منتجة تتمتع بالأمان والخصوصية والذكاء الاصطناعي المسؤول. باستخدام Anthropic Claude 3.5 Sonnet على Amazon Bedrock، قمنا ببناء مساعد رقمي يعمل على أتمتة الأعمال الورقية والتحقق من الهوية وإشراك العملاء من خلال تفاعلات المحادثة، يسمى Amazon Penny. ونتيجة لذلك، يمكن تأهيل العملاء في غضون دقائق من خلال مسارات عمل آمنة ومؤتمتة.
تدفق التطبيق على النحو التالي:
يصل المستخدمون إلى موقع الويب الأمامي المستضاف داخل AWS Amplify.
يستدعي موقع الويب نقطة نهاية Amazon CloudFront للتفاعل مع المساعد الرقمي، Penny، والذي يتم وضعه في حاوية ونشره في AWS Fargate.
يستخدم المساعد الرقمي وكيل Langchain المخصص للإجابة على الأسئلة المتعلقة بمنتجات وخدمات البنك وتنظيم تدفق الإعداد. نموذج اللغة الكبير (LLM) الذي يستخدمه الوكيل هو Anthropic Claude 3.5 Sonnet، المقدم من Amazon Bedrock.
إذا طرح المستخدم سؤالاً عامًا يتعلق بمنتجات أو خدمات البنك، فسيستخدم الوكيل أداة Langchain مخصصة تسمى أداة البحث عن المنتج. تستخدم هذه الأداة Amazon Kendra المرتبط بمصدر بيانات S3 الذي يحتوي على بيانات البنك.
إذا أشار المستخدم إلى رغبته في فتح حساب جديد، فسيقوم الوكيل بمطالبة المستخدم بإرسال بريده الإلكتروني. بمجرد أن يستجيب المستخدم، فإنه سيستخدم أداة Langchain مخصصة تسمى أداة التحقق من صحة البريد الإلكتروني. تتحقق هذه الأداة مما إذا كان هناك حساب موجود في قاعدة بيانات Amazon DynamoDB الخاصة بالبنك، عن طريق استدعاء نقطة نهاية منتشرة في Amazon API Gateway.
بعد التحقق من صحة البريد الإلكتروني، يتم جمع معلومات KYC مثل الاسم الأول والأخير. ثم تتم مطالبة المستخدم بمستند هوية. يتم تحميل هذا إلى Amazon S3.
سيستخدم الوكيل أداة Langchain مخصصة تسمى أداة التحقق من الهوية. تتحقق هذه الأداة مما إذا كانت تفاصيل المستخدم التي تم إدخالها أثناء الجلسة تتطابق مع المعرف، عن طريق استدعاء نقطة نهاية منتشرة في Amazon API Gateway. يتم التحقق من التفاصيل عن طريق استخراج نص المستند باستخدام Amazon Textract.
بعد التحقق من الهوية، يُطلب من المستخدم التقاط صورة شخصية. تم تحميل الصورة إلى Amazon S3. بعد ذلك، سيستخدم الوكيل أداة Langchain مخصصة تسمى أداة التحقق من الصور الشخصية. تتحقق هذه الأداة مما إذا كانت الصورة الذاتية التي تم تحميلها تتطابق مع الوجه الموجود على المعرف، عن طريق استدعاء نقطة النهاية المنتشرة في Amazon API Gateway. تم اكتشاف تطابق الوجه باستخدام Amazon Rekognition.
بعد نجاح التحقق من الوجه، سيستخدم الوكيل أداة Langchain مخصصة تسمى أداة إنشاء الحساب. تقوم هذه الأداة بإنشاء حساب جديد في قاعدة بيانات Amazon DynamoDB الخاصة بالبنك، عن طريق استدعاء نقطة نهاية منتشرة في Amazon API Gateway.
يتم إخطار المستخدم بأنه قد تم إنشاء حسابه الجديد بنجاح، باستخدام Amazon Simple Email Service (SES).
حدد حساب AWS الذي ترغب في نشر هذا الحل فيه وتأكد من تحديد تفاصيل هذا الحساب حيثما يكون ذلك مطلوبًا في الخطوات التالية. قم بإعداد ما يلي في سطر الأوامر المحلي الخاص بك:
cdk bootstrap
من سطر الأوامر.في حساب AWS الذي اخترته، أكمل الخطوات التالية:
sudo docker info
. إذا كان Docker قيد التشغيل، فسيتم عرض معلومات حول Docker.ملاحظة: بموجب مجموعة من الافتراضات التي يتم إجراؤها على أساس شهري، فإن تشغيل عبء العمل هذا سيكون له تكلفة تقديرية في الساعة تبلغ حوالي 1.34 دولارًا أمريكيًا. تأكد من التحقق من تفاصيل التسعير لكل خدمة على حدة لفهم التكاليف التي قد يتم تحصيلها منك مقابل مستويات الاستخدام المختلفة وتكوينات الموارد
لنشر الوكيل إلى حساب AWS الخاص بك، اتبع الإرشادات التالية:
./api/llm
chmod +x script.sh
./script.sh
وسيتم إنشاء الريبو الجديد الخاص بك في ECR وسيتم نشر الصورة.لنشر البنية الأساسية للأدوات في حساب AWS الخاص بك، اتبع الإرشادات التالية:
./infra
npm i
لتثبيت وحدات العقدةnpm run build
لتجميع الكتابة المكتوبة إلى جافا سكريبتLLMImageTag
هي علامة صورة عامل الإرساء التي يمكن العثور عليها في وحدة تحكم AWS داخل خدمة ECR. أدخل قيم المعلمة الخاصة بك. سيتم إنشاء CloudFormation Stack في حساب AWS الخاص بك. cdk deploy --parameters SesBankEmail={email} --parameters SesCustomerEmail={email} --parameters LLMImageTag={tag}
مثال على الاستخدام:
cdk deploy --parameters [email protected] --parameters [email protected] --parameters LLMImageTag=20240307_123456
SesBankEmail
و SesCustomerEmail
الذي قدمته للتحقق من هويات SES الجديدة التي تم إنشاؤها. يرجى التأكد من النقر على رابط التحقق الموجود في البريد الإلكتروني.CloudFrontDomainName
الذي تم إخراجه بواسطة CloudFormation Stackملاحظة: إذا توقف CloudFormation Stack في انتظار اكتمال LLMDeployment، فمن المحتمل أن تكون مهمة ECS الخاصة بك قد فشلت. قد يكون هذا بسبب أن بنية الجهاز الذي بنيت عليه الصورة لا تتطابق مع ما قمنا بتكوينه لاستخدامه في مشروعنا (ARM64). في هذه الحالة، قم يدويًا بتحديث البنية التي يستخدمها تعريف مهمة ECS (ربما لاستخدام X86 بدلاً من ذلك).
لنشر التطبيق التجريبي على حساب AWS الخاص بك، اتبع الإرشادات التالية:
LLM_API_ENDPOINT
في App.js
داخل ./penny-ui/src/
بـ CloudFrontDomainName
الناتج بواسطة CloudFormation Stack../penny-ui
npm i
amplify init
amplify add hosting
amplify publish
تأكد من إكمال خطوة Deploy the Tools Infrastructure to AWS Account
انتقل إلى ./api/llm
os.environ["kendraIndexId"]
بمعرف فهرس Kendra الذي ترغب في استخدامه، في tools.py
os.environ["apiEndpoint"]
بنقطة نهاية بوابة API التي تم إخراجها بواسطة CloudFormation Stack، في tools.py
os.environ["idBucketName"]
باسم مجموعة معرف S3 الذي تم إنشاؤه بواسطة CloudFormation Stack، في main.py
قم بتشغيل python3 -m uvicorn main:app --reload
. سيتم تشغيل LLM API على http://127.0.0.1:8000/
انتقل إلى ./penny-ui
قم بتشغيل npm i
لتثبيت التبعيات
قم بتشغيل npm run start
لبدء خادم التطوير/ سيكون التطبيق التجريبي مباشرًا على http://localhost:3000/
أكمل الخطوات التالية لتنظيف البيئة وإزالتها من حسابك:
PennyInfraStack
محليًا عن طريق تشغيل الأوامر التالية. سيؤدي هذا تلقائيًا إلى حذف جميع الحزم والموارد المرتبطة بـ PennyInfraStack
في حساب AWS الخاص بك. cd ./infra
cdk destroy
احذف مجموعات S3 التالية - مجموعة المعرفات وحاوية كتالوج AnyBank. تأكد من إفراغ الحاوية قبل حذفها. يمكنك العثور على هذه المجموعات من خلال البحث عن البادئات pennyinfrastack-idbucket
و pennyinfrastack-anybankcatalogbucket
.
احذف تطبيق الواجهة الأمامية المستضاف على Amplify عن طريق تشغيل amplify delete
.
احذف عناصر الصورة والمستودع الخاص الموجود على ECR بالاسم penny-workshop
.
انظر المساهمة لمزيد من المعلومات.
هذه المكتبة مرخصة بموجب ترخيص MIT-0. انظر ملف الترخيص.