Hub documentation
Shiny على Spaces
Shiny على Spaces
Shiny هو إطار عمل مفتوح المصدر لبناء تطبيقات بيانات بسيطة وجميلة وعالية الأداء. كان الهدف عند تطوير Shiny هو بناء شيء بسيط بما يكفي لتعليم شخص ما في فترة بعد الظهر، لكنه قابل للتوسيع بما يكفي لتشغيل تطبيقات كبيرة وحساسة. يمكنك إنشاء تطبيق Shiny مفيد في بضع دقائق، ولكن إذا توسع نطاق مشروعك، يمكنك التأكد من أن Shiny يمكنه استيعاب ذلك التطبيق.
الميزة الرئيسية التي تميّز Shiny عن أطر العمل الأخرى هي نموذج التنفيذ التفاعلي. عند كتابة تطبيق Shiny، يستنتج إطار العمل العلاقة بين المدخلات والمخرجات والحسابات الوسيطة، ويستخدم تلك العلاقات لعرض العناصر التي تحتاج إلى التغيير فقط كنتيجة لإجراء المستخدم. النتيجة هي أن المستخدمين يمكنهم بسهولة تطوير تطبيقات فعّالة وقابلة للتوسعة دون الحاجة إلى تخزين البيانات مؤقتًا بشكل صريح أو كتابة دوال الاستدعاء.
Shiny for Python
Shiny for Python هو تطبيق لـ Shiny مكتوب بالكامل بلغة Python. يمنحك ذلك إمكانية الوصول إلى جميع الميزات الرائعة في Shiny مثل التفاعلية، والتخطيطات المعقدة، والوحدات، دون الحاجة إلى استخدام R. يُعد Shiny for Python مثاليًا لتطبيقات Hugging Face لأنه يتكامل بسلاسة مع أدوات Hugging Face الأخرى.
لبدء نشر مساحة، انقر على هذا الزر لاختيار العتاد وتحديد ما إذا كنت تريد مساحة عامة أو خاصة. سيملأ قالب المساحة بعض الملفات لبدء تشغيل تطبيقك.
app.py
يعرّف هذا الملف منطق تطبيقك. لمعرفة المزيد حول كيفية تعديل هذا الملف، راجع توثيق Shiny for Python. مع تزايد تعقيد تطبيقك، يُعدّ من الجيد تقسيم منطق التطبيق إلى وحدات.
Dockerfile
ملف Dockerfile لتطبيق Shiny for Python بسيط للغاية لأن المكتبة لا تحتوي على العديد من التبعيات على مستوى النظام، لكن قد تحتاج إلى تعديل هذا الملف إذا كان تطبيقك يحتوي على تبعيات نظام إضافية. الميزة الأساسية الوحيدة لهذا الملف هي أنه يكشف عن التطبيق ويشغّله على المنفذ المحدد في ملف README الخاص بالمساحة (والذي يكون 7860 افتراضيًا).
requirements.txt
سيقوم Space بتثبيت الاعتماديات المدرجة في ملف requirements.txt تلقائيًا. لاحظ أنه يجب عليك تضمين shiny في هذا الملف.
Shiny for R
Shiny for R هو إطار عمل للتطبيقات شائع ومُثبت في مجتمع R، وهو خيار ممتاز إذا كنت ترغب في استضافة تطبيق R على بنية Hugging Face التحتية أو الاستفادة من بعض امتدادات Shiny R الرائعة. لدمج أدوات Hugging Face في تطبيق R، يمكنك إما استخدام httr2 لاستدعاء واجهات Hugging Face البرمجية، أو reticulate لاستدعاء أحد واجهات Hugging Face البرمجية المكتوبة بلغة Python.
لنشر مساحة R Shiny، انقر على هذا الزر واملأ بيانات وصفية للمساحة. سيؤدي هذا إلى تعبئة المساحة بجميع الملفات التي تحتاجها للبدء.
app.R يحتوي هذا الملف على جميع منطق تطبيقك. وإذا كنت تفضّل ذلك، يمكنك تقسيم هذا الملف إلى ui.R وserver.R.
Dockerfile
يُبنى ملف Dockerfile انطلاقًا من صورة rocker shiny. ستحتاج إلى تعديل هذا الملف لاستخدام حزم إضافية.
إذا كنت تستخدم عددًا كبيرًا من حزم tidyverse، فننصح بتبديل الصورة الأساسية إلى rocker/shinyverse.
يمكنك تثبيت حزم R إضافية بإضافتها تحت قسم RUN install2.r في ملف dockerfile، ويمكن تثبيت حزم github بإضافة المستودع تحت RUN installGithub.r.
هناك متطلبان رئيسيان لهذا Dockerfile:
أولاً، يجب أن يعرض الملف المنفذ الذي قمت بتضمينه في ملف README. المنفذ الافتراضي هو 7860 وننصح بعدم تغيير هذا المنفذ ما لم يكن لديك سبب وجيه لذلك.
ثانياً، يجب عليك حالياً استخدام نسخة التطوير من httpuv التي تحل مشكلة انتهاء مهلة التطبيقات على Hugging Face.