Hub documentation

النماذج المُقيَّدة

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

النماذج المُقيَّدة

من أجل منح مزيد من التحكم في كيفية استخدام النماذج، يتيح طلب الوصول لصانعي النماذج على Hub تفعيله لنماذجهم. عند التفعيل، يجب على المستخدمين تقديم طلب وصول للوصول إلى ملفات النموذج، والذي يشارك معلوماتهم على Hugging Face (اسم المستخدم وعنوان البريد الإلكتروني) مع صانعي النموذج ما لم يختار الصانعون عدم جمعها. كما يمكن لصانعي النماذج إضافة حقول مخصصة. يُطلق على النموذج الذي تم تفعيل طلبات الوصول له اسم نموذج مُقيّد. تُمنح طلبات الوصول دائمًا للمستخدمين الأفراد وليس للمنظمات بأكملها. من الاستخدامات الشائعة للنماذج المُقيّدة هو توفير الوصول إلى نماذج البحث المبكرة قبل الإطلاق الأوسع.

إدارة النماذج المُقيَّدة بصفتك مؤلف نموذج

لتفعيل طلبات الوصول، انتقل إلى صفحة إعدادات النموذج. بشكل افتراضي، النموذج غير محمي. انقر على تفعيل طلب الوصول في الزاوية العلوية اليمنى.

بشكل افتراضي، يُمنح المستخدم حق الوصول إلى النموذج تلقائيًا عند طلبه. يُشار إلى ذلك باسم الموافقة التلقائية. في هذا الوضع، يمكن لأي مستخدم الوصول إلى نموذجك بمجرد مشاركته معلوماته الشخصية معك.

إذا كنت ترغب في الموافقة يدويًا على المستخدمين الذين يمكنهم الوصول إلى نموذجك، فيجب عليك ضبطه على الموافقة اليدوية. في هذه الحالة، ستلاحظ خيارات إضافية:

  • تتيح لك إضافة وصول البحث عن مستخدم ومنحه الوصول حتى لو لم يطلبه.
  • يتيح لك تكرار الإشعارات تحديد وقت استلام الإشعارات عند طلب مستخدمين جدد الوصول. يمكن ضبطه ليتم مرة واحدة يوميًا أو في الوقت الفعلي. افتراضيًا، يتم إرسال بريد إلكتروني إلى عنوان بريدك الإلكتروني الأساسي. أما بالنسبة للنماذج المستضافة تحت منظمة، فيتم إرسال البريد الإلكتروني افتراضيًا إلى أول 5 مسؤولين في المنظمة. في الحالتين (مستخدم أو منظمة)، يمكنك تعيين عنوان بريد إلكتروني مختلف في حقل بريد الإشعارات.

مراجعة طلبات الوصول

بمجرد تفعيل طلبات الوصول، تملك تحكماً كاملاً في تحديد من يمكنه الوصول إلى نموذجك أو لا، سواء كان وضع الموافقة يدوياً أو تلقائياً. يمكنك مراجعة الطلبات وإدارتها إما من خلال واجهة المستخدم أو عبر واجهة برمجة التطبيقات (API).

من واجهة المستخدم

يمكنك مراجعة من لديه وصول إلى نموذجك المُقيَّد من صفحة إعداداته بالنقر على زر مراجعة طلبات الوصول. سيؤدي هذا إلى فتح نافذة منبثقة تحتوي على ثلاث قوائم للمستخدمين:

  • قيد الانتظار: قائمة المستخدمين الذين ينتظرون الموافقة على الوصول إلى نموذجك. تكون هذه القائمة فارغة ما لم تكن قد اخترت الموافقة اليدوية. يمكنك إما قبول أو رفض الطلب. إذا رُفض الطلب، فلن يتمكن المستخدم من الوصول إلى نموذجك ولن يتمكن من طلب الوصول مرة أخرى.
  • مقبول: القائمة الكاملة بالمستخدمين الذين لديهم وصول إلى نموذجك. يمكنك اختيار رفض الوصول في أي وقت لأي مستخدم، سواء كان وضع الموافقة يدويًا أو تلقائيًا. كما يمكنك إلغاء الموافقة، مما سينقل المستخدم إلى قائمة قيد الانتظار.
  • مرفوض: قائمة المستخدمين الذين رفضتهم يدويًا. لا يمكن لهؤلاء المستخدمين الوصول إلى نماذجك. إذا انتقلوا إلى مستودع النموذج الخاص بك، فسيرون رسالة تم رفض طلبك للوصول إلى هذا المستودع من قبل مؤلفي المستودع.

عبر واجهة برمجة التطبيقات

يمكنك أتمتة الموافقة على طلبات الوصول باستخدام واجهة برمجة التطبيقات (API). يجب عليك تمرير token مع صلاحية write إلى المستودع المحمي. لتوليد رمز، انتقل إلى إعدادات المستخدم الخاصة بك.

الطريقةURIالوصفالترويساتحمولة
GET/api/models/{repo_id}/user-access-request/{status}قائمة الطلبات التي تحمل status المحدد: pending أو accepted أو rejected أو reset. يحتوي كل طلب على requestId، وعلى user إذا تم جمع اسم المستخدم.{"authorization": "Bearer $token"}
POST/api/models/{repo_id}/user-access-request/handleتغيير حالة طلب الوصول المحدد إلى status.{"authorization": "Bearer $token"}{"status": "accepted"/"rejected"/"pending"/"reset", "user": "username" (or "requestId": "request id"), "rejectionReason": "Optional rejection reason that will be visible to the user (max 200 characters).", "resetReason": "Optional reset reason that will be included in the email sent to the user (max 200 characters)."}
POST/api/models/{repo_id}/user-access-request/grantالسماح لمستخدم محدد بالوصول إلى مستودعك.{"authorization": "Bearer $token"}{"user": "username"}

العنوان الأساسي (Base URL) لنهايات نقاط HTTP المذكورة أعلاه هو https://huggingface.co.

تعيين الطلب إلى reset يلغي القرار السابق ويطلب من المستخدم البدء من جديد: حيث يفقد الوصول إلى النموذج، ويستلم بريداً إلكترونياً يُعلمه بأن طلبه قد أُعيد ضبطه (بما في ذلك resetReason الاختياري)، ويُطلب منه الموافقة على شروط البوابة وتقديم طلب جديد عند زيارته التالية لصفحة النموذج. وهذا يختلف عن pending الذي يحافظ على الطلب الحالي كما هو ويضعه ببساطة مرة أخرى في طابور المراجعة، وعن rejected الذي يمنع المستخدم من طلب الوصول مرة أخرى.

جديد! أصبحت هذه النقاط النهائية مدعومة رسميًا الآن في عميلنا بلغة بايثون huggingface_hub. يمكنك عرض طلبات الوصول إلى نموذجك باستخدام list_pending_access_requests وlist_accepted_access_requests وlist_rejected_access_requests. كما يمكنك قبول طلبات الوصول وإلغاؤها ورفضها باستخدام accept_access_request وcancel_access_request وreject_access_request. وأخيرًا، يمكنك منح الوصول للمستخدم باستخدام grant_access.

تنزيل تقرير الوصول

يمكنك تنزيل تقرير لجميع طلبات الوصول إلى نموذج محمي باستخدام زر download user access report. انقر عليه لتنزيل ملف json يحتوي على قائمة بالمستخدمين. لكل إدخال، لديك:

  • requestId: معرّف الطلب.
  • user: معرّف المستخدم. مثال: julien-c.
  • fullname: اسم المستخدم على Hub. مثال: Julien Chaumond.
  • status: حالة الطلب. إما "pending" أو "accepted" أو "rejected" أو "reset".
  • email: بريد المستخدم الإلكتروني.
  • time: التاريخ والوقت الذي قُدِّم فيه الطلب من المستخدم في البداية.
  • reviewedAt: وقت تقبّل الطلب أو رفضه. لا يُعيَّن للطلبات المعلّقة.

user وfullname وemail موجودة فقط إذا اخترت جمعها عند إرسال الطلب. يمكن دائمًا تحديد هوية الطلبات من خلال requestId الخاص بها.

اختر بيانات الملف الشخصي التي تشاركها معك Hugging Face

بشكل افتراضي، تشارك Hugging Face اسم مستخدم الطالب وعنوان بريده الإلكتروني الأساسي معك. أنت مسؤول عن معالجة أي معلومات تعريف شخصية (PII) وكشف كيفية معالجتها وفقاً للقوانين المعمول بها (على سبيل المثال، من خلال ربط سياسة الخصوصية الخاصة بك). يمكنك تغيير ذلك في خيارات التقييد في صفحة إعدادات النموذج:

  • جمع اسم المستخدم: عند إلغاء تحديد هذا الخيار، لن تستلم اسم المستخدم على Hugging Face والاسم الكامل والصورة الرمزية للمُقدِّم للطلب. تُعرض الطلبات مع معرّف الطلب ويمكن قبولها أو رفضها مثل أي طلب آخر.
  • جمع البريد الإلكتروني: جمع بريد الملف الشخصي على Hugging Face الخاص بالطالب. يتطلب جمع اسم المستخدم.

لا تزال تتلقى الإجابات على حقول النموذج المخصصة، لذا يمكنك طلب أي تفاصيل اتصال تحتاجها هناك. تنطبق هذه الإعدادات على الطلبات الجديدة فقط: فالبطاقات القائمة تحتفظ بالإعدادات التي كانت سارية عند إنشائها.

بالنسبة إلى النماذج ضمن Gating Group Collection، يتم تكوين هذه الخيارات على المجموعة بدلاً من ذلك.

تخصيص المعلومات المطلوبة

بشكل افتراضي، سيُطلب من المستخدمين الذين يصلون إلى نموذجك المقيّد مشاركة معلوماتهم على Hugging Face (البريد الإلكتروني واسم المستخدم، ما لم تكن قد أوقفت جمعها) من خلال النقر على زر الموافقة وإرسال طلب للوصول إلى المستودع.

إذا كنت ترغب في جمع مزيد من معلومات المستخدم، يمكنك تكوين حقول إضافية. ستكون هذه المعلومات متاحة من تبويب الإعدادات. للقيام بذلك، أضف خاصية extra_gated_fields إلى بيانات بطاقة النموذج الوصفية تحتوي على قائمة من أزواج المفتاح/القيمة. يكون المفتاح هو اسم الحقل والقيمة هي نوعه أو كائن يحتوي على حقل type. قائمة أنواع الحقول هي:

  • text: حقل نصي من سطر واحد.
  • checkbox: حقل مربع اختيار.
  • date_picker: حقل لاختيار التاريخ.
  • country: قائمة منسدلة لاختيار الدولة. قائمة الدول مبنية على معيار ISO 3166-1 alpha-2.
  • select: قائمة منسدلة تحتوي على قائمة خيارات. يتم تحديد قائمة الخيارات في حقل options. مثال: options: ["option 1", "option 2", {label: "option3", value: "opt3"}].

وأخيرًا، يمكنك أيضًا تخصيص الرسالة المعروضة للمستخدم باستخدام الحقل الإضافي extra_gated_prompt.

فيما يلي مثال على نموذج طلب مخصص يُطلب فيه من المستخدم تقديم اسم شركته وبلده، مع الإقرار بأن النموذج مخصص للاستخدام غير التجاري فقط.

---
extra_gated_prompt: "You agree to not use the model to conduct experiments that cause harm to human subjects."
extra_gated_fields:
  Company: text
  Country: country
  Specific date: date_picker
  I want to use this model for:
    type: select
    options: 
      - Research
      - Education
      - label: Other
        value: other
  I agree to use this model for non-commercial use ONLY: checkbox
---

في بعض الحالات، قد ترغب أيضًا في تعديل النص الافتراضي في عنوان البوابة والوصف والزر. لهذه الاستخدامات، يمكنك تعديل extra_gated_heading وextra_gated_description وextra_gated_button_content على النحو التالي:

---
extra_gated_heading: "Acknowledge license to accept the repository"
extra_gated_description: "Our team may take 2-3 days to process your request"
extra_gated_button_content: "Acknowledge license"
---

أمثلة على حالات الاستخدام لإدارة طلبات الوصول برمجياً

فيما يلي بعض الاستخدامات المثيرة للاهتمام لإدارة طلبات الوصول برمجياً للمستودعات المقيدة، والتي ظهرت بشكل طبيعي في المجتمع. تذكيراً، يجب ضبط مستودع النموذج على الاعتماد اليدوي، وإلا سيحصل المستخدمون على الوصول إليه تلقائياً.

تشمل حالات الاستخدام الممكنة للإدارة البرمجية ما يلي:

  • إذا كانت لديك متطلبات متقدمة لفحص طلبات المستخدمين (مثل متطلبات الامتثال المتقدمة) أو كنت ترغب في معالجة طلبات المستخدمين خارج المنصة.
    • مثال على ذلك كان الإصدار الأول لـ Llama 2 من Meta، حيث كان على المستخدمين طلب الوصول عبر موقع Meta.
    • يمكنك طلب اسم المستخدم الخاص بالمستخدمين على HF في تدفق الوصول الخاص بك، ثم استخدام سكربت لقبول طلبات المستخدمين على Hub بشكل برمجي بناءً على مجموعة الشروط التي تحددها.
  • إذا كنت ترغب في اشتراط الوصول إلى نموذج بناءً على إتمام عملية دفع (يُرجى ملاحظة أن عملية الدفع الفعلية تتم خارج المنصة).

الوصول عبر البوابة لأعضاء المنظمة

بالنسبة إلى النماذج المُقيَّدة المُستضافة تحت منظمة، يمكنك أيضاً اشتراط تقديم طلب وصول من أعضاء المنظمة أنفسهم. في صفحة إعدادات النموذج، تحت خيارات التقييد، فعّل تقييد الوصول أيضاً لأعضاء {org}.

عند تمكين هذا الخيار، يجب على أعضاء المنظمة طلب الوصول إلى النموذج مثل أي مستخدم آخر. الأدوار التالية تتجاوز الطلب وتحافظ على وصول مباشر:

  • مسؤولو المنظمة
  • المستخدم الذي أنشأ المستودع
  • مديرو مجموعة الموارد عندما ينتمي النموذج إلى مجموعة موارد

يجب على جميع الأعضاء الآخرين المرور عبر مسار طلب الوصول. ويشمل ذلك الأعضاء الذين يحملون دور المنظمة للقراءة أو المساهم أو الكتابة، وأعضاء مجموعة الموارد الذين لا يحملون دور المسؤول.

إدارة النماذج المُقيَّدة كمنظمة (فريق ومؤسسة)

يمكن للمشتركين في باقة Team & Enterprise إنشاء مجموعة مجموعات مقيّدة لمنح (أو رفض) الوصول إلى جميع النماذج ومجموعات البيانات في مجموعة واحدة دفعة واحدة.

يمكن العثور على مزيد من المعلومات حول مجموعات البوابات (Gating Group Collections) في مستندنا المخصص.

الوصول إلى النماذج المقيدة كمستخدم

بصفتك مستخدماً، إذا كنت ترغب في استخدام نموذج محكوم الوصول، فستحتاج إلى طلب إذن الوصول إليه. وهذا يعني أنه يجب أن تكون مسجلاً الدخول إلى حساب مستخدم على Hugging Face.

لا يمكن طلب الوصول إلا من متصفحك. انتقل إلى النموذج على Hub وسيُطلب منك مشاركة معلوماتك:

عند النقر على الموافقة، فإنك توافق على مشاركة المعلومات التي تدخلها في نموذج الطلب (عند الاقتضاء) مع مؤلفي النموذج، بالإضافة إلى اسم مستخدمك وعنوان بريدك الإلكتروني على Hugging Face إذا اختار المؤلفون جمعها. لمساعدة مؤلفي النموذج على اتخاذ قرار بشأن منحك الوصول، حاول ملء حقول النموذج بشكل كامل قدر الإمكان.

بمجرد إرسال طلب الوصول، هناك احتمالان. إذا كان آلية الموافقة تلقائية، فستحصل على الوصول إلى ملفات النموذج فورًا. وإلا، يجب على المؤلفين الموافقة على الطلبات يدويًا، مما قد يستغرق وقتًا أطول.

يتمتع مؤلفو النموذج بالتحكم الكامل في الوصول إلى النموذج. وبشكل خاص، يمكنهم في أي وقت حظر وصولك إلى النموذج دون إشعار مسبق، بغض النظر عن آلية الموافقة أو ما إذا كان طلبك قد تمت الموافقة عليه بالفعل.

تنزيل الملفات

لتحميل الملفات من نموذج محمي، يجب أن تكون مُوثَّقًا. في المتصفح، يتم ذلك تلقائيًا ما دمت مسجّل الدخول بحسابك. أما إذا كنت تستخدم سكربت، فستحتاج إلى تقديم رمز مستخدم. في منظومة Hugging Face بلغة بايثون (transformers، diffusers، datasets، إلخ)، يمكنك تسجيل الدخول لجهازك باستخدام مكتبة huggingface_hub وتشغيل الأمر التالي في الطرفية:

hf auth login

بديلًا عن ذلك، يمكنك تسجيل الدخول برمجيًا باستخدام login() في دفتر ملاحظات أو سكربت:

>>> from huggingface_hub import login
>>> login()

يمكنك أيضاً تقديم معامل token إلى معظم طرق التحميل في المكتبات (from_pretrained، hf_hub_download، load_dataset، إلخ)، مباشرةً من سكربتاتك.

لمزيد من التفاصيل حول كيفية تسجيل الدخول، راجع دليل تسجيل الدخول.

تقييد الوصول للمستخدمين في الاتحاد الأوروبي

بالنسبة إلى النماذج المُقيَّدة، يمكنك إضافة طبقة إضافية من التحكم في الوصول لتقييد المستخدمين من دول الاتحاد الأوروبي تحديدًا. وهذا مفيد إذا كان ترخيص نموذجك أو شروط استخدامه تمنع توزيعه في الاتحاد الأوروبي.

لتمكين ذلك، أضف خاصية extra_gated_eu_disallowed: true إلى بيانات بطاقة النموذج الوصفية.

مهم: لن يتم تفعيل هذه الميزة إلا إذا كان نموذجك محميًا بالفعل. إذا كان gated: false أو لم يتم تعيين الخاصية، فلن تنطبق هذه القيود.

---
license: mit
gated: true
extra_gated_eu_disallowed: true
---

يحدد النظام موقع المستخدم بناءً على عنوان بروتوكول الإنترنت الخاص به.

Update on GitHub