Hub documentation

GitHub Actions

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

GitHub Actions

يمكنك استخدام GitHub Actions لمزامنة مستودع GitHub الخاص بك تلقائيًا مع Hugging Face Hub. يدعم إجراء huggingface/hub-sync الرسمي مزامنة النماذج ومجموعات البيانات والمساحات.

للنشر بدون مفاتيح — دون الحاجة إلى تخزين أو تدوير سر HF_TOKEN — راجع Trusted Publishers، الذي يستبدل رمز OIDC المدمج في GitHub Actions برمز Hub قصير العمر ومحدود النطاق بمستودع واحد في بداية كل تشغيل.

الإعداد

  1. أنشئ رمز وصول لحساب Hugging Face مع إذن الكتابة في المستودع المستهدف. ولتحقيق أمان أفضل، استخدم رمزًا دقيقًا محددًا نطاقه على المستودع الذي تتم مزامنته فقط.
  2. أضف الرمز كـ سر على GitHub باسم HF_TOKEN في إعدادات مستودعك.
  3. أضف ملف سير عمل (مثل .github/workflows/sync-to-hub.yml) إلى مستودعك.

الاستخدام الأساسي

name: Sync to Hugging Face Hub
on:
  push:
    branches: [main]

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: huggingface/hub-sync@v0.3.0
        with:
          github_repo_id: ${{ github.repository }}
          huggingface_repo_id: username/repo-name
          hf_token: ${{ secrets.HF_TOKEN }}

بشكل افتراضي، تتم المزامنة مع Space. لمزامنة نموذج أو مجموعة بيانات، اضبط معامل repo_type:

      - uses: huggingface/hub-sync@v0.3.0
        with:
          github_repo_id: ${{ github.repository }}
          huggingface_repo_id: username/my-dataset
          hf_token: ${{ secrets.HF_TOKEN }}
          repo_type: dataset

المعاملات

معاملمطلوبافتراضيالوصف
github_repo_idنعم—مستودع GitHub (استخدم ${{ github.repository }})
huggingface_repo_idنعم—المستودع المستهدف على Hub (username/repo-name)
hf_tokenنعم—رمز وصول Hugging Face
repo_typeلاspacespace أو model أو dataset
space_sdkلاgradiogradio أو streamlit أو docker أو static
privateلاfalseما إذا كان سيتم إنشاء المستودع كخاص
subdirectoryلا.مزامنة مجلد فرعي محدد (مفيد للمستودعات الأحادية)

تعكس الإجراء ملفاتك إلى Hub باستخدام سطر الأوامر hf — وليس مزامنة من git إلى git. يستثني تلقائيًا المجلدات .github/ و.git/ ويعكس عمليات الحذف (سيتم حذف الملفات المُزالة من GitHub من Hub).

لعمليات العمل الأكثر تعقيدًا (مثل خطوات البناء، منطق الرفع المخصص)، يمكنك بدلاً من ذلك تثبيت hf CLI واستخدامه مباشرةً في عملية العمل الخاصة بك.

للإرشادات الخاصة بـ Spaces (حدود حجم الملفات، معالجة LFS)، راجع إدارة Spaces باستخدام GitHub Actions.

Update on GitHub