مساعد ذكي آخر (YAIA)
واجهة multimodal chat مع إمكانية الوصول إلى العديد من الأدوات.
وصف
YAIA عبارة عن واجهة multimodal chat مدعومة بنماذج الذكاء الاصطناعي المتقدمة ومجهزة بمجموعة متنوعة من الأدوات. يمكن:
- بحث وتصفح الويب في الوقت الحقيقي
- الاستعلام عن ويكيبيديا للحصول على معلومات
- إجراء عمليات البحث عن الأخبار والخرائط
- تنفيذ كود Python بأمان والذي يمكنه إنتاج نصوص وصور مثل المخططات والرسوم البيانية
- إنشاء مقالات طويلة تمزج بين النصوص والصور
- إنشاء الصور والبحث فيها ومقارنتها
- تحليل المستندات والصور
- بحث وتنزيل أوراق arXiv
- إنشاء وحفظ المحادثات كملفات نصية وصوتية
- حفظ الملفات إلى دليل الإخراج
- تتبع التحسينات الشخصية
- إدارة قوائم المراجعة لتتبع المهام
بنيان
هذه هي المكونات الرئيسية:
- Gradio 5 لواجهة الويب
- Amazon Bedrock للتعامل مع المحادثة واستخدام الأدوات
- أنثروبي كلود 3.5 السوناتة كنموذج رئيسي
- نماذج Amazon Titan Text ونماذج التضمين المتعدد الوسائط
- أمازون تيتان مولد الصور
- افتح البحث عن الفهارس النصية ومتعددة الوسائط
- أمازون بولي للأصوات
- AWS Lambda لمترجم التعليمات البرمجية
أمثلة
فيما يلي أمثلة لكيفية استخدام الأدوات المختلفة:
بحث الويب : "ابحث في الويب عن التطورات الحديثة في الحوسبة الكمومية."
ويكيبيديا : "ابحث عن مقالات ويكيبيديا حول تاريخ الذكاء الاصطناعي."
برمجة بايثون : "قم بإنشاء برنامج بايثون لإنشاء مخطط شريطي لانبعاثات ثاني أكسيد الكربون العالمية حسب البلد."
Sketchbook : "ابدأ كراسة رسم جديدة واكتب مقدمة حول كيفية حساب Pi بالطرق العددية."
إنشاء الصور : "إنشاء صورة لمدينة مستقبلية بها سيارات طائرة وناطحات سحاب شاهقة."
البحث عن الصور : "ابحث في كتالوج الصور عن صور الأنواع المهددة بالانقراض."
تكامل arXiv : "البحث عن الأوراق البحثية الحديثة حول التعلم العميق في معالجة اللغة الطبيعية."
إنشاء المحادثة : "قم بإنشاء محادثة بين ثلاثة خبراء يناقشون كيفية إعداد RAG متعدد الوسائط."
إدارة الملفات : "احفظ ملخصًا لمناقشتنا حول تغير المناخ في ملف باسم 'climate_change_summary.txt'."
تحسين الشخصية : "هذا اقتراح للتحسين: لتحسين الإجابات، ابحث عن المصادر الرسمية."
قائمة التحقق : "ابدأ قائمة تحقق جديدة لمتابعة قائمة المهام واحدة تلو الأخرى."
الميزات والأدوات الرئيسية
التفاعل على شبكة الإنترنت :
- البحث عن النص في DuckDuckGo: يقوم بإجراء عمليات بحث على الويب
- بحث أخبار DuckDuckGo: يبحث عن أحدث المقالات الإخبارية
- بحث خرائط DuckDuckGo: يبحث عن المواقع والشركات
- بحث صور DuckDuckGo: يبحث عن الصور المتاحة للعامة
- متصفح الويب: تصفح مواقع الويب واسترجاع محتواها
أدوات ويكيبيديا :
- بحث ويكيبيديا: يبحث عن صفحات ويكيبيديا ذات الصلة
- البحث في البيانات الجغرافية في ويكيبيديا: يحدد موقع مقالات ويكيبيديا حسب الموقع الجغرافي
- مسترد صفحة ويكيبيديا: جلب محتوى صفحة ويكيبيديا بالكامل
البرمجة النصية بايثون :
- تشغيل برامج Python النصية للحسابات والاختبار وإنشاء المخرجات، بما في ذلك النصوص والصور
- يمكن إضافة وحدات بايثون إلى مترجم بايثون
- يتم تشغيل تعليمات Python البرمجية في بيئة آمنة توفرها AWS Lambda
إدارة المحتوى :
- الأرشيف الشخصي: يقوم بتخزين واسترداد محتوى النص أو Markdown أو HTML باستخدام قاعدة بيانات دلالية
- Sketchbook: يدير كراسة رسم متعددة الصفحات لكتابة ومراجعة المحتوى الطويل. يدعم تنسيقات الإخراج المتعددة:
- تخفيض السعر (.md): لسهولة القراءة والتحرير
- مستند Word (.docx): لتحرير المستندات
معالجة الصور :
- إنشاء الصور: إنشاء صور بناءً على المطالبات النصية
- البحث في كتالوج الصور: يبحث في الصور حسب الوصف
- بحث تشابه الصور: يبحث عن صور مشابهة بناءً على صورة مرجعية
- الصور العشوائية: استرداد الصور العشوائية من الكتالوج
- الحصول على الصورة حسب المعرف: استرداد صورة معينة من الكتالوج باستخدام المعرف الخاص بها
- عدد كتالوج الصور: يقوم بإرجاع العدد الإجمالي للصور في الكتالوج
- تنزيل الصورة: يضيف الصور من عناوين URL إلى الكتالوج
التكامل مع أرشيف :
- بحث وتنزيل أوراق arXiv
- قم بتخزين المحتوى الورقي في الأرشيف لسهولة استرجاعه
توليد المحادثة :
- تحويل المحتوى إلى محادثة بين شخصين إلى أربعة أشخاص
- قم بإنشاء ملفات صوتية للمحادثة باستخدام تحويل النص إلى كلام
إدارة الملفات :
- حفظ الملف: يسمح بحفظ محتوى النص في ملف باسم محدد في دليل الإخراج
تحسين الشخصية :
- تتبع الاقتراحات والأخطاء للتحسينات المستقبلية
قائمة التحقق :
- إدارة قوائم المهام مع إمكانية إضافة العناصر ووضع علامة عليها كمكتملة ومراجعة التقدم
للحصول على قائمة شاملة بالأدوات المتاحة واستخدامها، راجع ./Config/tools.json
.
متطلبات
- أداة الحاوية: Docker أو Finch (لتثبيت Finch، اتبع التعليمات هنا)
- بايثون 3.12 أو أحدث
- حساب AWS مع الأذونات المناسبة للوصول إلى Amazon Bedrock وAWS Lambda وAmazon ECR
تثبيت
استنساخ المستودع:
git clone https://github.com/danilop/multimodal-chat
cd multimodal-chat
إنشاء وتنشيط بيئة افتراضية (اختياري لكن مستحسن):
python -m venv venv
source venv/bin/activate # On Windows, use `venvScriptsactivate`
تثبيت الحزم المطلوبة:
pip install -r requirements.txt
قم بإعداد وظيفة AWS Lambda لتنفيذ التعليمات البرمجية:
cd LambdaFunction
./deploy_lambda_function.sh
cd ..
لاستخدام السيلينيوم لتصفح الويب، قم بتثبيت ChromeDriver. استخدام البيرة المنزلية:
brew install --cask chromedriver
لإخراج الصوت، قم بتثبيت ffmpeg
. استخدام البيرة المنزلية:
إعداد البحث المفتوح
يمكنك إما استخدام مثيل OpenSearch محلي أو الاتصال بخادم بعيد. للإعداد المحلي:
انتقل إلى دليل OpenSearch:
قم بتعيين كلمة مرور المسؤول (الإعداد لأول مرة)، ستؤدي هذه الخطوة إلى إنشاء ملف .env
وملفات opensearch_env.sh
:
ابدأ تشغيل OpenSearch محليًا (يحتاج إلى الوصول إلى ملف .env
):
تأكد من أن OpenSearch (عقدتان + لوحة المعلومات) يبدأ بشكل صحيح عن طريق التحقق من المخرجات
لتحديث OpenSearch، قم بتنزيل صور الحاوية الجديدة باستخدام هذا البرنامج النصي:
لإعداد الخادم البعيد، قم بتحديث رمز إنشاء العميل في البرنامج النصي الرئيسي.
لتغيير كلمة المرور، تحتاج إلى حذف الحاوية uisng finch
أو docker
ثم تعيين كلمة مرور جديدة.
الاستخدام
النماذج الافتراضية للنص والصور والتضمينات موجودة في ملف Config/config.ini
. يتم تحديد النماذج المطلوب استخدامها باستخدام معرفات نماذج Amazon Bedrock أو معرفات ملفات تعريف الاستدلال عبر المناطق. أنت بحاجة إلى أذونات وإمكانية الوصول إلى هذه النماذج كما هو موضح في النماذج الأساسية لـ Access.
يفترض هذا القسم أن OpenSearch يعمل محليًا في نافذة طرفية أخرى كما هو موضح سابقًا.
قم بتحميل كلمة مرور مسؤول OpenSearch في البيئة:
source OpenSearch/opensearch_env.sh
تشغيل التطبيق:
python multimodal_chat.py
لإعادة ضبط النص والفهارس المتعددة الوسائط (ملاحظة: هذا لا يؤدي إلى حذف الصور الموجودة في ./Images/
):
python multimodal_chat.py --reset-index
افتح متصفح الويب وانتقل إلى http://127.0.0.1:7860/ لبدء الدردشة.
فيديوهات تجريبية
وفيما يلي بعض الأمثلة على ما يمكنك القيام به هذا التطبيق.
تصفح الإنترنت واستخدم الأرشيف الدلالي
في هذا العرض:
- تصفح مواقع الويب باستخدام السيلينيوم وأدوات محددة لـ DuckDuckGo (البحث والأخبار والبحث الجغرافي) وويكيبيديا
- استخدم أداة أرشفة النص الدلالي لأرشفة المستندات واسترجاعها عن طريق الكلمات الرئيسية
استيراد الصور والبحث فيها
في هذا العرض:
- استخدام فهرس متعدد الوسائط ونظام الملفات المحلي لإدارة كتالوج الصور
- تخزين الصور مع الوصف الذي تم إنشاؤه
- استرجاع الصور عن طريق الوصف النصي (البحث الدلالي)
- استرجاع الصور عن طريق تشابهها مع صورة أخرى
- استرجاع الصور العشوائية
توليد والبحث عن الصور
في هذا العرض:
- توليد الصور من الوصف النصي
- يتم إنشاء مطالبة تحويل النص إلى صورة من تعليمات الدردشة
- يسمح هذا الأسلوب باستخدام المحادثة الشاملة لتحسين المطالبة
مترجم كود بايثون
في هذا العرض:
- تشغيل التعليمات البرمجية التي تم إنشاؤها بواسطة الذكاء الاصطناعي لحل المشكلات
- التشغيل للأمان في وظيفة AWS Lambda مع الأذونات الأساسية
- يتم نشره عبر صورة حاوية لإضافة وحدات Python بسهولة
- بايثون فقط ولكن قابلة للتوسيع بسهولة
الكتابة على "كراسة الرسم"
في هذا العرض:
- أداة للمساعدة في كتابة نماذج طويلة من النصوص مثل المقالات ومنشورات المدونات)
- توفير الوصول المتسلسل إلى النص المقسم إلى صفحات
- للتخفيف من "عدم التماثل" بين أحجام مدخلات ومخرجات النموذج
كراسة الرسم مع مراجعة كود بايثون
في هذا العرض:
- للحصول على أفضل النتائج، استخدم أكثر من أداة معًا
- ابدأ بكراسة الرسم لكتابة مقالة طويلة
- تحتوي المقالة على مقتطفات من التعليمات البرمجية
- يتم تشغيل المراجعة واختبار جميع مقتطفات التعليمات البرمجية وتحديث كل صفحة لإصلاح التعليمات البرمجية (إذا لزم الأمر) وإضافة النتائج الفعلية
استكشاف الأخطاء وإصلاحها
- إذا واجهت مشاكل مع OpenSearch، فتحقق من إعدادات الاتصال وتأكد من تشغيل الخدمة
- بالنسبة لأخطاء وظائف AWS Lambda، تحقق من بيانات اعتماد وأذونات AWS الخاصة بك
- إذا فشلت معالجة الصور، فتأكد من تثبيت المكتبات الضرورية وتحقق من أذونات الملف
المساهمة
المساهمات في YAIA هي موضع ترحيب! يرجى الرجوع إلى إرشادات المساهمة للحصول على مزيد من المعلومات حول كيفية إرسال طلبات السحب أو الإبلاغ عن المشكلات أو ميزات الطلب.
رخصة
هذا المشروع مرخص بموجب ترخيص MIT. راجع ملف الترخيص للحصول على التفاصيل.
نصائح الاستخدام
- الجمع بين أدوات متعددة للمهام المعقدة. على سبيل المثال، استخدم بحث الويب للعثور على معلومات، ثم استخدم كراسة الرسم لكتابة ملخص، وأخيرًا قم بإنشاء محادثة حول الموضوع.
- عند العمل مع الصور، يمكنك إنشاء صور جديدة، أو البحث عن الصور الموجودة، أو تنزيل الصور من الويب لإضافتها إلى الكتالوج الخاص بك.
- استخدم تكامل arXiv للبقاء على اطلاع بأحدث الأبحاث في مجال اهتمامك.
- تعد أداة إنشاء المحادثة رائعة لإنشاء محتوى جذاب أو التحضير للعروض التقديمية.
- تحقق بانتظام من تحسيناتك الشخصية وقم بتحديثها لتتبع تقدمك ومجالات النمو.
للحصول على معلومات أكثر تفصيلاً حول مكونات محددة أو الاستخدام المتقدم، يرجى الرجوع إلى الوثائق المضمنة في التعليمات البرمجية المصدر.