Story Teller هو تطبيق Streamlit يقوم بإنشاء قصة بناءً على صورة مُدخلة. يستخدم مكتبة Hugging Face Transformers ونموذج Salesforce BLIP Image Captioning.
لتثبيت التبعيات الضرورية، قم بتشغيل الأمر التالي:
pip install -r requirements.txt
تأكد من أن لديك التبعيات المطلوبة المحددة في ملف requirements.txt
.
لاستخدام التطبيق، اتبع الخطوات التالية:
قم بتشغيل تطبيق Streamlit عن طريق تنفيذ الأمر التالي:
streamlit run app.py
قم بالوصول إلى التطبيق من خلال عنوان URL المقدم في وحدة التحكم.
ستظهر واجهة التطبيق بعنوان "Story Teller" وتعليمة "تحميل صورة والحصول على قصة".
انقر فوق الزر "تحميل ملفك هنا..." لتحديد ملف صورة (التنسيقات المدعومة: PNG، JPEG، JPG).
بمجرد تحميل الصورة، سيتم عرضها على الصفحة.
سيقوم التطبيق بمعالجة الصورة التي تم تحميلها باستخدام نموذج Salesforce BLIP Image Captioning وإنشاء وصف نصي للصورة.
سيتم بعد ذلك تمرير النص الذي تم إنشاؤه إلى Hugging Face API لإنشاء قصة بناءً على النص.
سيعرض التطبيق القصة التي تم إنشاؤها على الصفحة.
في حالة حدوث أي أخطاء أثناء العملية، ستظهر رسالة خطأ على الصفحة، ويمكنك المحاولة مرة أخرى.
يتطلب التطبيق رمز واجهة برمجة التطبيقات (API) من Hugging Face للوصول إلى نموذج إنشاء القصة. للحصول على رمز API المميز، اتبع الخطوات التالية:
قم بالتسجيل أو تسجيل الدخول إلى حساب Hugging Face الخاص بك على https://huggingface.co/.
بمجرد تسجيل الدخول، انتقل إلى إعدادات حسابك وانتقل إلى قسم "رمز واجهة برمجة التطبيقات".
أنشئ رمزًا مميزًا جديدًا لواجهة برمجة التطبيقات، وانسخه، واستبدل العنصر "your api key"
في فئة Models
الخاصة بـ text_model.py
برمز واجهة برمجة التطبيقات الفعلي الخاص بك.
تقوم فئة Models
في text_model.py
بتغليف وظائف التطبيق. ويحتوي على الطرق التالية:
__init__()
:
img2text(url)
:
story(payload)
:
chain(payload, num=0)
:
story()
بشكل متكرر ويقوم بتحديث الحمولة حتى يتم إنشاء العدد المطلوب من القصص (50 في هذه الحالة). يتم أيضًا تحديث شريط التقدم وفقًا لذلك. إذا كنت مهتمًا وترغب في تجربة نماذج الواجهة الخلفية، فقم بتنفيذ الأمر التالي:
python text_model.py
تأكد من تثبيت التبعيات المطلوبة، كما هو مذكور في قسم التثبيت.
نرحب بالمساهمات في تطبيق Story Teller! إذا وجدت أي مشاكل أو لديك اقتراحات للتحسينات، فلا تتردد في فتح مشكلة أو إرسال طلب سحب.