يشرح حل إثبات المفهوم هذا حلاً محتملاً يمكن استخدامه لالتقاط المعرفة القبلية من خلال التسجيلات الصوتية من كبار الموظفين في الشركة. وهو يوضح منهجيات استخدام خدمة Amazon Transcribe وAmazon Bedrock للتوثيق المنهجي والتحقق من بيانات الإدخال. ومن خلال توفير هيكل لإضفاء الطابع الرسمي على هذه المعرفة غير الرسمية، يضمن الحل طول عمرها وإمكانية تطبيقها على مجموعات لاحقة من الموظفين في المؤسسة. ولا يضمن هذا المسعى الحفاظ المستمر على التميز التشغيلي فحسب، بل يعمل أيضًا على تحسين فعالية برامج التدريب من خلال دمج المعرفة العملية المكتسبة من خلال الخبرة المباشرة.
يعد هذا التطبيق التجريبي إثباتًا لمفهوم تطبيق إنشاء المستندات باستخدام Amazon Transcribe وAmazon Bedrock.
يصور الرسم التخطيطي بنية الحل لسير العمل المنسق بواسطة AWS Step Functions داخل منطقة سحابة AWS. يتكون سير العمل من عدة خطوات مصممة لمعالجة مدخلات المستخدم، مع آليات معالجة النجاح والفشل في كل خطوة. فيما يلي وصف لتدفق العملية:
إدخال المستخدم : يبدأ سير العمل بإدخال المستخدم لتشغيل وظيفة Lambda preprocess
.
المعالجة المسبقة : تتم معالجة الإدخال مسبقًا. إذا نجحت، فإنه ينتقل إلى خطوة transcribe
؛ إذا فشلت، فإنها تقوم بتشغيل Amazon SNS لإرسال الإشعارات.
النسخ : تأخذ هذه الخطوة الإخراج من الخطوة السابقة. ينتقل النسخ الناجح إلى خطوة التحقق من الصحة، ويتم تخزين مخرجات النسخ في حاوية Amazon S3.
التحقق من الصحة : يتم التحقق من صحة البيانات المكتوبة. بناءً على نتيجة التحقق من الصحة، يختلف سير العمل:
تلخيص : بعد التحقق من الصحة، إذا تم تلخيص البيانات بنجاح، فسيتم تخزين النص الملخص في حاوية Amazon S3. إذا فشلت، فإنها تقوم بتشغيل Amazon SNS لإرسال الإشعارات.
Amazon Bedrock هي الخدمة الأساسية التي تدعم وظيفتي التحقق من صحة وتلخيص Lambda.
إنشاء : تقوم هذه الخطوة الأخيرة بإنشاء المستند النهائي من النص الملخص. وفي حالة فشله، فإنه يقوم بتشغيل Amazon SNS لإرسال الإشعارات.
يتم تمييز كل خطوة في العملية بمسارات "نجاح" أو "فشل"، مما يشير إلى قدرة سير العمل على معالجة الأخطاء في المراحل المختلفة. في حالة الفشل، يتم استخدام Amazon SNS لإرسال إشعارات إلى المستخدم.
يعمل سير عمل AWS Step Functions كمنسق مركزي، مما يضمن تنفيذ كل مهمة بالترتيب الصحيح والتعامل مع نجاح أو فشل كل خطوة بشكل مناسب.
يخبر ملف cdk.json
مجموعة أدوات CDK بكيفية تنفيذ تطبيقك.
تم إعداد هذا المشروع مثل مشروع بايثون القياسي. تقوم عملية التهيئة أيضًا بإنشاء virtualenv ضمن هذا المشروع، ويتم تخزينها ضمن الدليل .venv
. لإنشاء Virtualenv، يفترض وجود python3
(أو python
لنظام التشغيل Windows) قابل للتنفيذ في المسار الخاص بك مع إمكانية الوصول إلى حزمة venv
. إذا فشل الإنشاء التلقائي لـ virtualenv لأي سبب من الأسباب، فيمكنك إنشاء virtualenv يدويًا.
لإنشاء Virtualenv يدويًا على نظامي التشغيل MacOS وLinux:
$ python3 -m venv .venv
بعد اكتمال عملية init وإنشاء virtualenv، يمكنك استخدام الخطوة التالية لتنشيط virtualenv الخاص بك.
$ source .venv/bin/activate
إذا كنت تستخدم نظام التشغيل Windows، فيمكنك تنشيط Virtualenv مثل هذا:
% .venvScripts activate.bat
بمجرد تنشيط Virtualenv، يمكنك تثبيت التبعيات المطلوبة.
$ pip install -r requirements.txt
لإضافة تبعيات إضافية، على سبيل المثال مكتبات CDK الأخرى، ما عليك سوى إضافتها إلى ملف setup.py
الخاص بك وإعادة تشغيل الأمر pip install -r requirements.txt
.
عند هذه النقطة يمكنك الآن تجميع قالب CloudFormation لهذا الكود.
$ cdk synth
لإضافة تبعيات إضافية، على سبيل المثال مكتبات CDK الأخرى، ما عليك سوى إضافتها إلى ملف setup.py
الخاص بك وإعادة تشغيل الأمر pip install -r requirements.txt
.
ستحتاج إلى تشغيله إذا كانت هذه هي المرة الأولى التي تقوم فيها بتشغيل cdk في حساب ومنطقة معينين.
$ cdk bootstrap
بمجرد تشغيله، يمكنك المتابعة لنشر cdk.
$ cdk deploy
إذا كانت هذه هي المرة الأولى التي تقوم فيها بنشره، فقد تستغرق العملية ما بين 30 إلى 45 دقيقة تقريبًا لإنشاء العديد من صور Docker في ECS (Amazon Elastic Container Service). يرجى التحلي بالصبر حتى يتم الانتهاء منه. بعد ذلك، سيبدأ في نشر حزمة docgen، والتي تستغرق عادةً حوالي 5-8 دقائق.
بمجرد اكتمال عملية النشر، سترى مخرجات cdk في الوحدة الطرفية، ويمكنك أيضًا التحقق من الحالة في وحدة تحكم CloudFormation الخاصة بك.
لحذف cdk بمجرد الانتهاء من استخدامه لتجنب التكاليف المستقبلية، يمكنك إما حذفه من خلال وحدة التحكم أو تنفيذ الأمر التالي في الوحدة الطرفية.
$ cdk destroy
قد تحتاج أيضًا إلى حذف مجموعة S3 التي تم إنشاؤها بواسطة cdk يدويًا. يرجى التأكد من حذف جميع الموارد التي تم إنشاؤها لتجنب تكبد التكاليف.
cdk ls
جميع الأكوام الموجودة في التطبيقcdk synth
بإصدار قالب CloudFormation المركبcdk deploy
نشر هذا المكدس على حساب/منطقة AWS الافتراضية الخاصة بكcdk diff
المكدس المنشور بالحالة الحاليةcdk docs
cdk destroy
dstroys واحدًا أو أكثر من الأكوام المحددة code # Root folder for code for this solution
├── lambdas # Root folder for all lambda functions
│ ├── preprocess # Lambda function that processes user input, and outputs audio files uris for Amazon Transcribe
│ ├── transcribe # Lambda function that triggers Amazon Transcribe batch transcription
│ ├── validate # Lambda function that analyzes answers from Amazon Transcribe using LLMs from Amazon Bedrock
│ ├── summarize # Lambda function that summarizes on-topic texts from Amazon Transcribe using LLMs from Amazon Bedrock
│ └── generate # Lambda function that generates documents from the summary.
└── code_stack.py # Amazon CDK stack that deploys all AWS resources
لتخصيص تطبيق DocGen ليدمج بياناتك الخاصة، يجب اتباع الخطوات التالية:
عند النشر، ستعمل البنية التحتية لـ AWS CDK على تسهيل النقل التلقائي للملفات الصوتية إلى حاوية Amazon S3 المعينة. وبعد ذلك، يمكن البدء في تنفيذ وظيفة AWS Step Function لبدء مرحلة المعالجة.
بمجرد نشر الحل، يمكنك الاشتراك في بريدك الإلكتروني في موضوع SNS لتلقي الإشعارات.
يرجى اتباع إشعارات البريد الإلكتروني SNS.
إذا فشلت أي خطوة في سير عمل StepFunction، فسوف تتلقى إشعارًا بالبريد الإلكتروني.
بعد النشر، يمكنك تشغيل AWS State Machine المنشور باستخدام الأمر التالي:
aws stepfunctions start-execution
--state-machine-arn "arn:aws:states:<your aws region>:<your account id>:stateMachine:genai-knowledge-capture-stack-state-machine"
--input "{"documentName": "<your document name>", "audioFileFolderUri": "s3://<your s3 bucket>/assets/audio_samples/what is amazon bedrock/"}"
انظر المساهمة لمزيد من المعلومات.
هذه المكتبة مرخصة بموجب ترخيص MIT-0. انظر ملف الترخيص.