# مزيجات وطرق التسلسل

## مزيج

توفر مكتبة `huggingface_hub` مجموعة من المخلوطات (mixins) التي يمكن استخدامها كصنف أبٍ لكائناتك، بهدف توفير دوال بسيطة للرفع والتنزيل. اطّلع على [دليل التكامل](../guides/integrations) لدينا لمعرفة كيفية دمج أي إطار عمل للتعلم الآلي مع Hub.

### عام[[huggingface_hub.ModelHubMixin]]

#### huggingface_hub.ModelHubMixin[[huggingface_hub.ModelHubMixin]]

```python
huggingface_hub.ModelHubMixin(*args, **kwargs)
```

[المصدر](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hub_mixin.py#L66)

**المعاملات:**

repo_url (`str`، *اختياري*) : عنوان URL لمستودع المكتبة. يُستخدم لتوليد بطاقة النموذج.

paper_url (`str`، *اختياري*) : عنوان URL لورقة المكتبة. يُستخدم لتوليد بطاقة النموذج.

docs_url (`str`، *اختياري*) : عنوان URL لتوثيق المكتبة. يُستخدم لتوليد بطاقة النموذج.

model_card_template (`str`، *اختياري*) : قالب بطاقة النموذج. يُستخدم لتوليد بطاقة النموذج. القيمة الافتراضية هي قالب عام.

language (`str` أو `list[str]`، *اختياري*) : اللغة المدعومة من قبل المكتبة. تُستخدم لتوليد بطاقة النموذج.

library_name (`str`، *اختياري*) : اسم المكتبة التي تكاملت مع ModelHubMixin. يُستخدم لتوليد بطاقة النموذج.

license (`str`، *اختياري*) : ترخيص المكتبة التي تكاملت مع ModelHubMixin. يُستخدم لتوليد بطاقة النموذج. مثال: "apache-2.0"

license_name (`str`, *اختياري*) : اسم المكتبة التي تكاملت مع ModelHubMixin. يُستخدم لتوليد بطاقة النموذج. يُستخدم فقط إذا كان `license` مضبوطًا على `other`. مثال: "coqui-public-model-license".

license_link (`str`, *اختياري*) : عنوان URL لترخيص المكتبة التي تكاملت مع ModelHubMixin. يُستخدم لتوليد بطاقة النموذج. يُستخدم فقط إذا كان `license` مضبوطًا على `other` وكان `license_name` مضبوطًا. مثال: "https://coqui.ai/cpml".

pipeline_tag (`str`، *اختياري*) : وسم خط الأنابيب. يُستخدم لتوليد بطاقة النموذج. على سبيل المثال "text-classification".

tags (`list[str]`، *اختياري*) : الوسوم التي سيتم إضافتها إلى بطاقة النموذج. تُستخدم لتوليد بطاقة النموذج. مثال: ["computer-vision"]

coders (`dict[Type, tuple[Callable, Callable]]`، *اختياري*) : قاموس بأنواع مخصصة ومشفّراتها/مفكّكاتها. يُستخدم لتشفير/فكّ تشفير الحُجج التي لا يمكن تحويلها إلى JSON بشكل افتراضي. على سبيل المثال: dataclasses، argparse.Namespace، OmegaConf، إلخ.

مزيج عام (mixin) لتكامل أي إطار عمل للتعلم الآلي مع Hub.

لدمج إطار عملك، يجب أن ترث فئة النموذج الخاصة بك من هذه الفئة. يجب إعادة كتابة المنطق المخصص لحفظ/تحميل النماذج في `_from_pretrained` و`_save_pretrained`. يُعد [PyTorchModelHubMixin](/docs/huggingface_hub/v2.4.0/ar/package_reference/mixins#huggingface_hub.PyTorchModelHubMixin) مثالاً جيدًا على دمج الميكسين مع Hub. راجع [دليل التكامل](../guides/integrations) لدينا للحصول على مزيد من التعليمات.

عند الوراثة من [ModelHubMixin](/docs/huggingface_hub/v2.4.0/ar/package_reference/mixins#huggingface_hub.ModelHubMixin)، يمكنك تعريف سمات على مستوى الفئة. لا تُمرَّر هذه السمات إلى `__init__` بل إلى تعريف الفئة نفسه. وهذا مفيد لتحديد بيانات وصفية عن المكتبة التي تكاملت مع [ModelHubMixin](/docs/huggingface_hub/v2.4.0/ar/package_reference/mixins#huggingface_hub.ModelHubMixin).

لمزيد من التفاصيل حول كيفية دمج الميكسين مع مكتبتك، راجد [دليل التكامل](../guides/integrations).

مثال:

```python
>>> from huggingface_hub import ModelHubMixin

# Inherit from ModelHubMixin
>>> class MyCustomModel(
...         ModelHubMixin,
...         library_name="my-library",
...         tags=["computer-vision"],
...         repo_url="https://github.com/huggingface/my-cool-library",
...         paper_url="https://arxiv.org/abs/2304.12244",
...         docs_url="https://huggingface.co/docs/my-cool-library",
...         # ^ optional metadata to generate model card
...     ):
...     def __init__(self, size: int = 512, device: str = "cpu"):
...         # define how to initialize your model
...         super().__init__()
...         ...
...
...     def _save_pretrained(self, save_directory: Path) -> None:
...         # define how to serialize your model
...         ...
...
...     @classmethod
...     def from_pretrained(
...         cls: type[T],
...         pretrained_model_name_or_path: Union[str, Path],
...         *,
...         force_download: bool = False,
...         token: Optional[Union[str, bool]] = None,
...         cache_dir: Optional[Union[str, Path]] = None,
...         local_files_only: bool = False,
...         revision: Optional[str] = None,
...         **model_kwargs,
...     ) -> T:
...         # define how to deserialize your model
...         ...

>>> model = MyCustomModel(size=256, device="gpu")

# Save model weights to local directory
>>> model.save_pretrained("my-awesome-model")

# Push model weights to the Hub
>>> model.push_to_hub("my-awesome-model")

# Download and initialize weights from the Hub
>>> reloaded_model = MyCustomModel.from_pretrained("username/my-awesome-model")
>>> reloaded_model.size
256

# Model card has been correctly populated
>>> from huggingface_hub import ModelCard
>>> card = ModelCard.load("username/my-awesome-model")
>>> card.data.tags
["x-custom-tag", "pytorch_model_hub_mixin", "model_hub_mixin"]
>>> card.data.library_name
"my-library"
```

#### _save_pretrained[[huggingface_hub.ModelHubMixin._save_pretrained]]

```python
_save_pretrained(save_directory: Path)
```

[المصدر](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hub_mixin.py#L440)

**المعاملات:**

save_directory (`str` أو `Path`) : المسار إلى المجلد الذي سيتم حفظ أوزان النموذج وإعداداته فيه.

قم بإعادة كتابة هذه الطريقة في الفئة الفرعية لتحديد كيفية حفظ نموذجك. راجع [دليل التكامل](../guides/integrations) لدينا للحصول على التعليمات.

#### _from_pretrained[[huggingface_hub.ModelHubMixin._from_pretrained]]

```python
_from_pretrained(model_id: str, revision: str | None, cache_dir: str | pathlib.Path | None, force_download: bool, local_files_only: bool, token: str | bool | None, **model_kwargs)
```

[المصدر](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hub_mixin.py#L567)

**المعاملات:**

model_id (`str`) : المعرّف الخاص بالنموذج الذي سيتم تحميله من Huggingface Hub (مثل `bigscience/bloom`).

revision (`str`، *اختياري*) : نسخة النموذج على Hub. يمكن أن تكون اسم فرع، أو وسم git، أو أي معرف commit. الافتراضي هو أحدث commit على فرع `main`.

force_download (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إجبار (إعادة) تنزيل أوزان النموذج وملفات الإعداد من Hub، مع تجاوز ذاكرة التخزين المؤقت الموجودة.

token (`str` أو `bool`، *اختياري*) : الرمز الذي يُستخدم كتوكن مصادقة HTTP bearer للملفات البعيدة. افتراضيًا، سيُستخدم الرمز المخزَّن مؤقتًا عند تشغيل `hf auth login`.

cache_dir (`str`، `Path`، *اختياري*) : المسار إلى المجلد الذي تُخزَّن فيه الملفات المؤقتة.

local_files_only (`bool`، *اختياري*، القيمة الافتراضية `False`) : إذا كانت `True`، فتجنّب تنزيل الملف وعُدّ مسار الملف المخزّن محليًا إذا كان موجودًا.

model_kwargs : حُجج إضافية تُمرَّر إلى طريقة [_from_pretrained()](/docs/huggingface_hub/v2.4.0/ar/package_reference/mixins#huggingface_hub.ModelHubMixin._from_pretrained).

اعِد كتابة هذه الطريقة في الفئة الفرعية لتحديد كيفية تحميل النموذج من نموذج مُدرَّب مسبقًا.

استخدم [hf_hub_download()](/docs/huggingface_hub/v2.4.0/ar/package_reference/file_download#huggingface_hub.hf_hub_download) أو [snapshot_download()](/docs/huggingface_hub/v2.4.0/ar/package_reference/file_download#huggingface_hub.snapshot_download) لتنزيل الملفات من Hub قبل تحميلها. يمكن تمرير معظم المعاملات المدخلة مباشرةً إلى هاتين الطريقتين. عند الحاجة، يمكنك إضافة معاملات أخرى إلى هذه الطريقة باستخدام "model_kwargs". على سبيل المثال، تقبل `PyTorchModelHubMixin._from_pretrained()` معامل `map_location` لتحديد الجهاز الذي يجب تحميل النموذج عليه.

اطّلع على [دليل التكامل](../guides/integrations) لدينا لمزيد من التعليمات.

#### from_pretrained[[huggingface_hub.ModelHubMixin.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | pathlib.Path, force_download: bool = False, token: str | bool | None = None, cache_dir: str | pathlib.Path | None = None, local_files_only: bool = False, revision: str | None = None, **model_kwargs)
```

[المصدر](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hub_mixin.py#L451)

**المعاملات:**

pretrained_model_name_or_path (`str`, `Path`) : - إما `model_id` (نص) لنموذج مستضاف على Hub، مثل `bigscience/bloom`. - أو مسار إلى `directory` يحتوي على أوزان نموذج محفوظة باستخدام `save_pretrained`، مثل `../path/to/my_model_directory/`.

revision (`str`، *اختياري*) : نسخة النموذج على Hub. يمكن أن تكون اسم فرع، أو وسم git، أو أي معرف commit. الافتراضي هو أحدث commit على فرع `main`.

force_download (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إجبار (إعادة) تنزيل أوزان النموذج وملفات الإعداد من Hub، مع تجاوز ذاكرة التخزين المؤقت الموجودة.

token (`str` أو `bool`، *اختياري*) : الرمز الذي يُستخدم كتوكن مصادقة HTTP bearer للملفات البعيدة. افتراضيًا، سيُستخدم الرمز المخزَّن مؤقتًا عند تشغيل `hf auth login`.

cache_dir (`str`، `Path`، *اختياري*) : المسار إلى المجلد الذي تُخزَّن فيه الملفات المؤقتة.

local_files_only (`bool`، *اختياري*، القيمة الافتراضية `False`) : إذا كانت `True`، فتجنّب تنزيل الملف وعُدّ مسار الملف المخزّن محليًا إذا كان موجودًا.

model_kwargs (`dict`، *اختياري*) : معاملات إضافية (kwargs) تُمرَّر إلى النموذج أثناء التهيئة.

قم بتنزيل نموذج من Huggingface Hub ثم أنشئ مثيلًا له.

#### push_to_hub[[huggingface_hub.ModelHubMixin.push_to_hub]]

```python
push_to_hub(repo_id: str, config: dict | huggingface_hub.hub_mixin.DataclassInstance | None = None, commit_message: str = 'Push model using huggingface_hub.', private: bool | None = None, token: str | None = None, branch: str | None = None, create_pr: bool | None = None, allow_patterns: list[str] | str | None = None, ignore_patterns: list[str] | str | None = None, delete_patterns: list[str] | str | None = None, model_card_kwargs: dict[str, typing.Any] | None = None)
```

[المصدر](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hub_mixin.py#L609)

**المعاملات:**

repo_id (`str`) : معرّف المستودع الذي سيتم الدفع إليه (مثال: `"username/my-model"`).

config (`dict` أو `DataclassInstance`، *اختياري*) : تكوين النموذج المُحدَّد كقاموس مفاتيح/قيم أو ككائن dataclass.

commit_message (`str`، *اختياري*) : الرسالة التي سيتم الالتزام بها أثناء الدفع.

private (`bool`، *اختياري*) : ما إذا كان يجب أن يكون المستودع الذي تم إنشاؤه خاصًا. إذا كان `None` (الافتراضي)، فسيكون المستودع عامًا ما لم يكن الافتراضي الخاص بالمنظمة هو الخاص.

token (`str`، *اختياري*) : الرمز الذي يُستخدم كتوكن مصادقة HTTP bearer للملفات البعيدة. افتراضيًا، سيُستخدم الرمز المخزَّن مؤقتًا عند تشغيل `hf auth login`.

branch (`str`، *اختياري*) : فرع git الذي سيتم دفع النموذج إليه. القيمة الافتراضية هي `"main"`.

create_pr (`boolean`، *اختياري*) : ما إذا كان سيتم إنشاء طلب سحب (Pull Request) من `branch` مع ذلك الالتزام. القيمة الافتراضية هي `False`.

allow_patterns (`list[str]` أو `str`، *اختياري*) : إذا تم تقديمه، فسيتم دفع الملفات المطابقة لنمط واحد على الأقل فقط.

ignore_patterns (`list[str]` أو `str`، *اختياري*) : إذا تم تقديمه، فإن الملفات المطابقة لأي من الأنماط لن تُدفع.

delete_patterns (`list[str]` أو `str`، *اختياري*) : إذا تم تقديمه، فسيتم حذف الملفات البعيدة المطابقة لأيٍّ من الأنماط من المستودع.

model_card_kwargs (`dict[str, Any]`، *اختياري*) : حُجج إضافية تُمرَّر إلى قالب بطاقة النموذج لتخصيص بطاقة النموذج.

**يعيد:**

عنوان url الخاص بالالتزام (commit) لنموذجك في المستودع المحدد.

ارفع نقطة التفتيش للنموذج إلى Hub.

استخدم `allow_patterns` و`ignore_patterns` لتصفية الملفات التي يجب دفعها إلى المستودع بدقة. استخدم `delete_patterns` لحذف الملفات البعيدة الموجودة مسبقًا في نفس الالتزام. راجع مرجع [upload_folder()](/docs/huggingface_hub/v2.4.0/ar/package_reference/hf_api#huggingface_hub.HfApi.upload_folder) لمزيد من التفاصيل.

#### save_pretrained[[huggingface_hub.ModelHubMixin.save_pretrained]]

```python
save_pretrained(save_directory: str | pathlib.Path, config: dict | huggingface_hub.hub_mixin.DataclassInstance | None = None, repo_id: str | None = None, push_to_hub: bool = False, model_card_kwargs: dict[str, typing.Any] | None = None, **push_to_hub_kwargs)
```

[المصدر](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hub_mixin.py#L372)

**المعاملات:**

save_directory (`str` أو `Path`) : المسار إلى المجلد الذي سيتم حفظ أوزان النموذج وإعداداته فيه.

config (`dict` أو `DataclassInstance`، *اختياري*) : تكوين النموذج المُحدَّد كقاموس مفاتيح/قيم أو ككائن dataclass.

push_to_hub (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم رفع النموذج الخاص بك إلى Huggingface Hub بعد حفظه.

repo_id (`str`، *اختياري*) : معرف مستودعك على Hub. يُستخدم فقط إذا كان `push_to_hub=True`. سيُستخدم اسم المجلد افتراضيًا إذا لم يُقدَّم.

model_card_kwargs (`dict[str, Any]`، *اختياري*) : حُجج إضافية تُمرَّر إلى قالب بطاقة النموذج لتخصيص بطاقة النموذج.

push_to_hub_kwargs : حُجج إضافية بالكلمات المفتاحية تُمرَّر إلى طريقة [push_to_hub()](/docs/huggingface_hub/v2.4.0/ar/package_reference/mixins#huggingface_hub.ModelHubMixin.push_to_hub).

**يعيد:** `str` أو `None`

عنوان commit على Hub إذا كان `push_to_hub=True`، وإلا `None`.

حفظ الأوزان في مجلد محلي.

### PyTorch[[huggingface_hub.PyTorchModelHubMixin]]

#### huggingface_hub.PyTorchModelHubMixin[[huggingface_hub.PyTorchModelHubMixin]]

```python
huggingface_hub.PyTorchModelHubMixin(*args, **kwargs)
```

[المصدر](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hub_mixin.py#L692)

تنفيذ [ModelHubMixin](/docs/huggingface_hub/v2.4.0/ar/package_reference/mixins#huggingface_hub.ModelHubMixin) لتوفير قدرات رفع/تنزيل نماذج Hub لنماذج PyTorch. يتم ضبط النموذج في وضع التقييم افتراضياً باستخدام `model.eval()` (تُعطَّل وحدات dropout). لتدريب النموذج، يجب عليك أولاً إعادة ضبطه في وضع التدريب باستخدام `model.train()`.

راجع [ModelHubMixin](/docs/huggingface_hub/v2.4.0/ar/package_reference/mixins#huggingface_hub.ModelHubMixin) لمزيد من التفاصيل حول كيفية استخدام المكوّن الإضافي.

مثال:

```python
>>> import torch
>>> import torch.nn as nn
>>> from huggingface_hub import PyTorchModelHubMixin

>>> class MyModel(
...         nn.Module,
...         PyTorchModelHubMixin,
...         library_name="keras-nlp",
...         repo_url="https://github.com/keras-team/keras-nlp",
...         paper_url="https://arxiv.org/abs/2304.12244",
...         docs_url="https://keras.io/keras_nlp/",
...         # ^ optional metadata to generate model card
...     ):
...     def __init__(self, hidden_size: int = 512, vocab_size: int = 30000, output_size: int = 4):
...         super().__init__()
...         self.param = nn.Parameter(torch.rand(hidden_size, vocab_size))
...         self.linear = nn.Linear(output_size, vocab_size)

...     def forward(self, x):
...         return self.linear(x + self.param)
>>> model = MyModel(hidden_size=256)

# Save model weights to local directory
>>> model.save_pretrained("my-awesome-model")

# Push model weights to the Hub
>>> model.push_to_hub("my-awesome-model")

# Download and initialize weights from the Hub
>>> model = MyModel.from_pretrained("username/my-awesome-model")
>>> model.hidden_size
256
```

### Fastai[[huggingface_hub.from_pretrained_fastai]]

#### huggingface_hub.from_pretrained_fastai[[huggingface_hub.from_pretrained_fastai]]

```python
huggingface_hub.from_pretrained_fastai(repo_id: str, revision: str | None = None)
```

[المصدر](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/fastai_utils.py#L289)

**المعاملات:**

repo_id (`str`) : الموقع الذي يوجد فيه ملف fastai.Learner المُجمَّد (pickled). يمكن أن يكون أحد الخيارين التاليين: - مُستضاف على Hugging Face Hub. مثال: 'espejelomar/fatai-pet-breeds-classification' أو 'distilgpt2'. يمكنك إضافة `revision` عن طريق إضافة `@` في نهاية `repo_id`. مثال: `dbmdz/bert-base-german-cased@main`. يُشير Revision إلى الإصدار المحدد من النموذج الذي يجب استخدامه. وبما أننا نستخدم نظامًا قائمًا على git لتخزين النماذج وغيرها من المخرجات على Hugging Face Hub، فقد يكون اسم فرع، أو اسم وسم (tag)، أو معرف التزامن (commit id). - مُستضاف محليًا. في هذه الحالة، يكون `repo_id` مجلدًا يحتوي على ملف الـ pickle وملف pyproject.toml يحدد إصدارات fastai و fastcore المستخدمة لبناء `fastai.Learner`. مثال: `./my_model_directory/`.

revision (`str`، *اختياري*) : المراجعة التي يتم تنزيل ملفات المستودع منها. راجع توثيق `snapshot_download`.

**يعيد:**

نموذج `fastai.Learner` في المستودع `repo_id`.

تحميل نموذج fastai مُدرَّب مسبقًا من Hub أو من مجلد محلي.

#### huggingface_hub.push_to_hub_fastai[[huggingface_hub.push_to_hub_fastai]]

```python
huggingface_hub.push_to_hub_fastai(learner, repo_id: str, commit_message: str = 'Push FastAI model using huggingface_hub.', private: bool | None = None, token: str | None = None, config: dict | None = None, branch: str | None = None, create_pr: bool | None = None, allow_patterns: list[str] | str | None = None, ignore_patterns: list[str] | str | None = None, delete_patterns: list[str] | str | None = None, api_endpoint: str | None = None)
```

[المصدر](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/fastai_utils.py#L334)

**المعاملات:**

learner (*Learner*) : كائن *fastai.Learner' الذي تريد رفعه إلى Hub.

repo_id (*str*) : معرّف المستودع الخاص بنموذجك في Hub بالصيغة "namespace/repo_name". يمكن أن يكون namespace حسابك الفردي أو منظمة لديك صلاحية الكتابة إليها (على سبيل المثال، 'stanfordnlp/stanza-de').

commit_message (*str`, *optional*) : Message to commit while pushing. Will default to `"add model"`.

private (*bool*، *اختياري*) : ما إذا كان يجب أن يكون المستودع الذي تم إنشاؤه خاصًا أم لا. إذا كان *None* (الافتراضي)، فسيكون عامًا افتراضيًا ما لم يكن الافتراضي الخاص بالمنظمة هو الخاص.

token (*str*، *اختياري*) : رمز حساب Hugging Face الذي يُستخدم كتفويض حامل HTTP للملفات عن بُعد. إذا كان `None`، فسيُطلب الرمز عبر رسالة تفاعلية.

config (*dict*، *اختياري*) : كائن التهيئة الذي سيتم حفظه إلى جانب أوزان النموذج.

branch (*str*، *اختياري*) : فرع git الذي سيتم دفع النموذج إليه. القيمة الافتراضية هي الفرع الافتراضي كما هو محدد في مستودعك، والتي تكون افتراضيًا *"main"*.

create_pr (*boolean*، *اختياري*) : ما إذا كان سيتم إنشاء طلب سحب (Pull Request) من *branch* مع ذلك الالتزام. القيمة الافتراضية هي *False*.

api_endpoint (*str*، *اختياري*) : نقطة النهاية (endpoint) للواجهة البرمجية (API) المستخدمة عند دفع النموذج إلى المستودع (hub).

allow_patterns (*list[str]* أو *str*، *اختياري*) : إذا تم تقديمه، فسيتم دفع الملفات التي تطابق نمطًا واحدًا على الأقل فقط.

ignore_patterns (*list[str]* أو *str*، *اختياري*) : إذا تم تقديمه، فإن الملفات المطابقة لأي من الأنماط لن تُدفع.

delete_patterns (*list[str]* أو *str*، *اختياري*) : إذا تم تقديمه، فسيتم حذف الملفات البعيدة المطابقة لأي من الأنماط من المستودع.

**يعيد:**

عنوان url الخاص بالالتزام (commit) لنموذجك في المستودع المحدد.

ارفع ملفات نقاط التفتيش الخاصة بالتلميذ إلى Hub.

استخدم *allow_patterns* و *ignore_patterns* لتصفية الملفات التي يجب دفعها إلى المستودع بدقة. استخدم *delete_patterns* لحذف الملفات البعيدة الموجودة مسبقًا في نفس الالتزام. راجع مرجع [*upload_folder*] لمزيد من التفاصيل.

> [!TIP]
> يرفع الخطأ التالي:
>
> - [*ValueError*](https://docs.python.org/3/library/exceptions.html#ValueError) إذا لم يكن المستخدم مسجلاً الدخول إلى Hugging Face Hub.

