chicken / DEPLOYMENT_GUIDE.md
lodgy's picture
Upload 8 files
2279fac verified

🚀 دليل النشر على Hugging Face Spaces

📋 المتطلبات الأساسية

1. حساب Hugging Face

  • إنشاء حساب على huggingface.co
  • التحقق من البريد الإلكتروني
  • إعداد الملف الشخصي

2. إعداد Git (اختياري)

git config --global user.name "اسمك"
git config --global user.email "بريدك@example.com"

🔧 خطوات النشر

الطريقة الأولى: رفع الملفات مباشرة

  1. إنشاء Space جديد

    • اذهب إلى huggingface.co/new-space
    • اختر اسماً مناسباً: chicken-assistant-arabic
    • اختر License: MIT
    • اختر SDK: Gradio
    • اختر Hardware: CPU basic (مجاني)
  2. رفع الملفات

    • اضغط على "Files" في الصفحة الرئيسية للـ Space
    • اضغط "Add file" → "Upload files"
    • ارفع جميع الملفات التالية:
      app.py
      chicken_ai.py
      admin_panel.py (اختياري)
      requirements.txt
      README.md
      LICENSE
      data/
      ├── diseases.md
      ├── nutrition.md
      ├── daily_tips.md
      ├── chicken_breeds.md
      └── prevention_treatment_general.md
      
  3. إعداد ملف التكوين

    • أنشئ ملف app.py في الجذر (موجود بالفعل)
    • تأكد من أن الملف يحتوي على:
    if __name__ == "__main__":
        app.launch()
    

الطريقة الثانية: استخدام Git

  1. استنساخ المستودع
git clone https://huggingface.co/spaces/YOUR_USERNAME/chicken-assistant-arabic
cd chicken-assistant-arabic
  1. نسخ الملفات
cp -r /path/to/chicken_assistant/* .
  1. رفع التغييرات
git add .
git commit -m "Initial commit: Arabic Chicken Assistant"
git push

⚙️ إعدادات متقدمة

1. متغيرات البيئة

إذا كنت تستخدم APIs خارجية، أضف متغيرات البيئة في إعدادات الـ Space:

OPENAI_API_KEY=your_key_here
CUSTOM_CONFIG=production

2. إعدادات الأجهزة

  • CPU Basic: مجاني، مناسب للاستخدام العادي
  • CPU Upgrade: مدفوع، أداء أفضل
  • GPU: للمشاريع التي تتطلب معالجة مكثفة

3. إعدادات الخصوصية

  • Public: متاح للجميع
  • Private: متاح لك فقط (يتطلب اشتراك مدفوع)

📁 هيكل الملفات المطلوب

chicken-assistant-arabic/
├── app.py                 # الملف الرئيسي
├── chicken_ai.py         # نموذج الذكاء الاصطناعي
├── admin_panel.py        # لوحة الإدارة (اختياري)
├── requirements.txt      # المتطلبات
├── README.md            # التوثيق
├── LICENSE              # الترخيص
├── .gitignore           # ملفات Git المتجاهلة
└── data/                # قاعدة البيانات
    ├── diseases.md
    ├── nutrition.md
    ├── daily_tips.md
    ├── chicken_breeds.md
    └── prevention_treatment_general.md

🔍 اختبار النشر

1. اختبار محلي

# تشغيل التطبيق محلياً
python app.py

# فتح المتصفح على
http://localhost:7860

2. اختبار على Hugging Face

  • انتظر حتى يكتمل البناء (Build)
  • اضغط على رابط التطبيق
  • اختبر جميع الوظائف

🐛 حل المشاكل الشائعة

1. خطأ في المتطلبات

# تأكد من صحة requirements.txt
pip install -r requirements.txt

2. خطأ في الترميز

# أضف في بداية الملفات Python
# -*- coding: utf-8 -*-

3. مشاكل الذاكرة

  • قلل من حجم قاعدة البيانات
  • استخدم lazy loading للبيانات الكبيرة
  • فكر في ترقية الأجهزة

4. مشاكل الأداء

# استخدم caching للبيانات المتكررة
import functools

@functools.lru_cache(maxsize=128)
def expensive_function():
    pass

🔧 تحسينات الأداء

1. تحسين التحميل

# تحميل البيانات مرة واحدة عند البدء
@gr.cache
def load_data():
    return data

2. ضغط الملفات

# ضغط الصور والملفات الكبيرة
gzip large_file.json

3. تحسين الذاكرة

# استخدام generators بدلاً من lists
def get_data():
    for item in large_dataset:
        yield item

📊 مراقبة الأداء

1. إحصائيات الاستخدام

  • راقب عدد المستخدمين من لوحة تحكم Hugging Face
  • تتبع الأخطاء والمشاكل

2. تحديث التطبيق

# تحديث الكود
git pull origin main
git add .
git commit -m "Update: new features"
git push

🔒 الأمان والخصوصية

1. حماية البيانات الحساسة

  • لا تضع مفاتيح API في الكود
  • استخدم متغيرات البيئة
  • راجع الملفات قبل الرفع

2. إعدادات الخصوصية

# تعطيل التحليلات إذا لزم الأمر
app.launch(analytics_enabled=False)

📞 الدعم والمساعدة

موارد مفيدة

في حالة المشاكل

  1. راجع logs البناء في Hugging Face
  2. اختبر التطبيق محلياً أولاً
  3. اطلب المساعدة في المجتمع
  4. راسل فريق الدعم إذا لزم الأمر

ملاحظة: هذا الدليل يفترض استخدام الحساب المجاني. للميزات المتقدمة، قد تحتاج لاشتراك مدفوع.