# ଇନ୍‌ଷ୍ଟଲେସନ୍

ଆରମ୍ଭ କରିବା ପୂର୍ବରୁ, ଉପଯୁକ୍ତ ପ୍ୟାକେଜ୍‌ଗୁଡ଼ିକୁ ଇନ୍‌ଷ୍ଟଲ୍ କରି ଆପଣଙ୍କ ଏଂଭରମେଣ୍ଟକୁ ସେଟ୍‌ଅପ୍ କରିବାକୁ ପଡ଼ିବ।

`huggingface_hub`କୁ **Python 3.10+** ରେ ପରୀକ୍ଷା କରାଯାଇଛି।

## pip ବ୍ୟବହାର କରି ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ

`huggingface_hub`କୁ ଗୋଟିଏ [ଭର୍ଚୁଆଲ୍ ଏଂଭରମେଣ୍ଟ](https://docs.python.org/3/library/venv.html) ମଧ୍ୟରେ ଇନ୍‌ଷ୍ଟଲ୍ କରିବାକୁ ଦୃଢ଼ ଭାବେ ପରାମର୍ଶ ଦିଆଯାଏ।
ଆପଣ Python ଭର୍ଚୁଆଲ୍ ଏଂଭରମେଣ୍ଟ ସହିତ ପରିଚିତ ନଥିଲେ, ଏହି [ଗାଇଡ୍](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/)ଟି ଦେଖନ୍ତୁ।
ଗୋଟିଏ ଭର୍ଚୁଆଲ୍ ଏଂଭରମେଣ୍ଟ ବିଭିନ୍ନ ପ୍ରକଳ୍ପକୁ ସହଜରେ ପରିଚାଳନା କରିବାରେ ସାହାଯ୍ୟ କରେ ଏବଂ ନିର୍ଭରତାଗୁଡ଼ିକ ମଧ୍ୟରେ ସୁସଙ୍ଗତି ସମସ୍ୟାକୁ ଏଡ଼ାଇଥାଏ।

ଆପଣଙ୍କ ପ୍ରୋଜେକ୍ଟ ଡିରେକ୍ଟୋରିରେ ଗୋଟିଏ ଭର୍ଚୁଆଲ୍ ଏଂଭରମେଣ୍ଟ ତିଆରି କରି ଆରମ୍ଭ କରନ୍ତୁ:

```bash
python -m venv .venv
```

ଭର୍ଚୁଆଲ୍ ଏଂଭରମେଣ୍ଟଟି ସକ୍ରିୟ କରନ୍ତୁ। Linux ଏବଂ macOS ରେ:

```bash
source .venv/bin/activate
```

Windows ରେ ଭର୍ଚୁଆଲ୍ ଏଂଭରମେଣ୍ଟଟି ସକ୍ରିୟ କରନ୍ତୁ:

```bash
.venv/Scripts/activate
```

ଏବେ ଆପଣ [PyPi ରେଜିଷ୍ଟ୍ରିରୁ](https://pypi.org/project/huggingface-hub/) `huggingface_hub` ଇନ୍‌ଷ୍ଟଲ୍ କରିବା ପାଇଁ ପ୍ରସ୍ତୁତ:

```bash
pip install --upgrade huggingface_hub
```

ଏହା ସମାପ୍ତ ହେବା ପରେ, ସବୁକିଛି ଠିକ୍ ଭାବରେ କାମ କରୁଛି କି ନାହିଁ ସୁନିଶ୍ଚିତ କରିବା ପାଇଁ [ଇନ୍‌ଷ୍ଟଲେସନ୍ ଯାଞ୍ଚ କରନ୍ତୁ](#ଇନ୍‌ଷ୍ଟଲେସନ୍-ଯାଞ୍ଚ-କରନ୍ତୁ)।

### ବୈକଳ୍ପିକ ନିର୍ଭରତାଗୁଡ଼ିକ ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ

`huggingface_hub`ର କେତେକ ନିର୍ଭରତା [ବୈକଳ୍ପିକ](https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#optional-dependencies), କାରଣ `huggingface_hub`ର ମୁଖ୍ୟ ବୈଶିଷ୍ଟ୍ୟଗୁଡ଼ିକ ଚଲାଇବା ପାଇଁ ସେଗୁଡ଼ିକର ଆବଶ୍ୟକତା ନାହିଁ। ତେବେ, ବୈକଳ୍ପିକ ନିର୍ଭରତାଗୁଡ଼ିକ ଇନ୍‌ଷ୍ଟଲ୍ ହୋଇନଥିଲେ `huggingface_hub`ର କେତେକ ବୈଶିଷ୍ଟ୍ୟ ଉପଲବ୍ଧ ନହୋଇପାରେ।

ଆପଣ `pip` ମାଧ୍ୟମରେ ବୈକଳ୍ପିକ ନିର୍ଭରତାଗୁଡ଼ିକ ଇନ୍‌ଷ୍ଟଲ୍ କରିପାରିବେ:

```bash
# Install dependencies for both torch-specific and CLI-specific features.
pip install 'huggingface_hub[cli,torch]'
```

ଏଠାରେ `huggingface_hub`ର ବୈକଳ୍ପିକ ନିର୍ଭରତାଗୁଡ଼ିକର ତାଲିକା ଦିଆଯାଇଛି:

* `cli`: `huggingface_hub` ପାଇଁ ଅଧିକ ସୁବିଧାଜନକ CLI ଇଣ୍ଟରଫେସ୍ ପ୍ରଦାନ କରେ।
* `fastai`, `torch`: ଫ୍ରେମ୍‌ୱର୍କ-ନିର୍ଦ୍ଦିଷ୍ଟ ବୈଶିଷ୍ଟ୍ୟଗୁଡ଼ିକ ଚଲାଇବା ପାଇଁ ଆବଶ୍ୟକ ନିର୍ଭରତା।
* `dev`: libରେ ଅବଦାନ ଦେବା ପାଇଁ ଆବଶ୍ୟକ ନିର୍ଭରତା। ଏଥିରେ 'ପରୀକ୍ଷଣ' (ପରୀକ୍ଷଣଗୁଡ଼ିକ ଚଲାଇବା ପାଇଁ), 'ଟାଇପିଂ' (ଟାଇପ୍ ଚେକର୍ ଚଲାଇବା ପାଇଁ) ଏବଂ 'ଗୁଣବତ୍ତା' (ଲିଣ୍ଟର୍ ଚଲାଇବା ପାଇଁ) ଅନ୍ତର୍ଭୁକ୍ତ।

### ସୋର୍ସରୁ ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ

କେତେକ ପରିସ୍ଥିତିରେ, `huggingface_hub`କୁ ସିଧାସଳଖ ସୋର୍ସରୁ ଇନ୍‌ଷ୍ଟଲ୍ କରିବା ଉପଯୋଗୀ ହୋଇଥାଏ।
ଏହା ଆପଣଙ୍କୁ ସର୍ବଶେଷ ସ୍ଥିର ଭର୍ସନ୍ ପରିବର୍ତ୍ତେ ଅତ୍ୟାଧୁନିକ `main` ଭର୍ସନ୍ ବ୍ୟବହାର କରିବାର ସୁଯୋଗ ଦେଇଥାଏ।
`main` ଭର୍ସନ୍ ସର୍ବଶେଷ ବିକାଶ ସହିତ ଅଦ୍ୟତନ ରହିବା ପାଇଁ ଉପଯୋଗୀ। ଉଦାହରଣ ସ୍ୱରୂପ, ଶେଷ ଆଧିକାରିକ ରିଲିଜ୍ ପରେ କୌଣସି ବଗ୍‌କୁ ଠିକ୍ କରାଯାଇଥିଲେ, କିନ୍ତୁ ଏପର୍ଯ୍ୟନ୍ତ ନୂତନ ରିଲିଜ୍ ପ୍ରକାଶ ପାଇନଥିଲେ ଏହା ଉପଯୋଗୀ ହୋଇପାରେ।

ତେବେ, ଏହାର ଅର୍ଥ ହେଉଛି `main` ଭର୍ସନ୍ ସବୁବେଳେ ସ୍ଥିର ନଥାଇପାରେ।
ଆମେ `main` ଭର୍ସନ୍‌କୁ କାର୍ଯ୍ୟକ୍ଷମ ରଖିବାକୁ ଚେଷ୍ଟା କରୁ ଏବଂ ଅଧିକାଂଶ ସମସ୍ୟା ସାଧାରଣତଃ କିଛି ଘଣ୍ଟା କିମ୍ବା ଗୋଟିଏ ଦିନ ମଧ୍ୟରେ ସମାଧାନ ହୋଇଯାଏ।
ଆପଣ କୌଣସି ସମସ୍ୟାର ସମ୍ମୁଖୀନ ହେଲେ, ଦୟାକରି ଗୋଟିଏ ଇସ୍ୟୁ ଖୋଲନ୍ତୁ, ଯାହାଦ୍ୱାରା ଆମେ ଏହାକୁ ଆହୁରି ଶୀଘ୍ର ସମାଧାନ କରିପାରିବୁ!

```bash
pip install git+https://github.com/huggingface/huggingface_hub
```

ସୋର୍ସରୁ ଇନ୍‌ଷ୍ଟଲ୍ କରିବା ସମୟରେ, ଆପଣ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ବ୍ରାଞ୍ଚ୍‌ ମଧ୍ୟ ଉଲ୍ଲେଖ କରିପାରିବେ।
ଏପର୍ଯ୍ୟନ୍ତ ମର୍ଜ୍ ହୋଇନଥିବା କୌଣସି ନୂତନ ବୈଶିଷ୍ଟ୍ୟ କିମ୍ବା ନୂତନ ବଗ୍‌-ଫିକ୍ସ ପରୀକ୍ଷା କରିବାକୁ ଚାହୁଁଥିଲେ ଏହା ଉପଯୋଗୀ ହୋଇଥାଏ:

```bash
pip install git+https://github.com/huggingface/huggingface_hub@my-feature-branch
```

ଏହା ସମାପ୍ତ ହେବା ପରେ, ସବୁକିଛି ଠିକ୍ ଭାବରେ କାମ କରୁଛି କି ନାହିଁ ସୁନିଶ୍ଚିତ କରିବା ପାଇଁ [ଇନ୍‌ଷ୍ଟଲେସନ୍ ଯାଞ୍ଚ କରନ୍ତୁ](#ଇନ୍‌ଷ୍ଟଲେସନ୍-ଯାଞ୍ଚ-କରନ୍ତୁ)।

### ସମ୍ପାଦନଯୋଗ୍ୟ ଇନ୍‌ଷ୍ଟଲେସନ୍

ସୋର୍ସରୁ ଇନ୍‌ଷ୍ଟଲ୍ କରିବା ସମୟରେ ଆପଣ ଏକ [ସମ୍ପାଦନଯୋଗ୍ୟ ଇନ୍‌ଷ୍ଟଲେସନ୍](https://pip.pypa.io/en/stable/topics/local-project-installs/#editable-installs) ମଧ୍ୟ କରିପାରିବେ।
ଆପଣ `huggingface_hub`ରେ ଅବଦାନ ଦେବାକୁ ଯୋଜନା କରୁଥିଲେ ଏବଂ କୋଡ୍‌ରେ କରାଯାଇଥିବା ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ପରୀକ୍ଷା କରିବାର ଆବଶ୍ୟକତା ଥିଲେ, ଏହା ଏକ ଅଧିକ ଉନ୍ନତ ଇନ୍‌ଷ୍ଟଲେସନ୍ ପଦ୍ଧତି।
ଆପଣଙ୍କୁ ନିଜ ମେସିନ୍‌ରେ `huggingface_hub`ର ଗୋଟିଏ ସ୍ଥାନୀୟ କପି କ୍ଲୋନ୍ କରିବାକୁ ପଡ଼ିବ।

```bash
# First, clone repo locally
git clone https://github.com/huggingface/huggingface_hub.git

# Then, install with -e flag
cd huggingface_hub
pip install -e .
```

ଏହି କମାଣ୍ଡ୍‌ଗୁଡ଼ିକ ଆପଣ ରିପୋଜିଟୋରିକୁ କ୍ଲୋନ୍ କରିଥିବା ଫୋଲ୍ଡର୍‌କୁ ଆପଣଙ୍କ Python ଲାଇବ୍ରେରୀ ପାଥ୍ ସହିତ ଲିଙ୍କ୍ କରିବ।
Python ଏବେ ସାଧାରଣ ଲାଇବ୍ରେରୀ ପାଥ୍ ବ୍ୟତୀତ ଆପଣ କ୍ଲୋନ୍ କରିଥିବା ଫୋଲ୍ଡର୍ ମଧ୍ୟରେ ମଧ୍ୟ ଖୋଜିବ।
ଉଦାହରଣ ସ୍ୱରୂପ, ଆପଣଙ୍କ Python ପ୍ୟାକେଜ୍‌ଗୁଡ଼ିକ ସାଧାରଣତଃ `./.venv/lib/python3.11/site-packages/`ରେ ଇନ୍‌ଷ୍ଟଲ୍ ହୋଇଥିଲେ,
Python ଆପଣ `./huggingface_hub/`ରେ କ୍ଲୋନ୍ କରିଥିବା ଫୋଲ୍ଡର୍‌ରେ ମଧ୍ୟ ଖୋଜିବ।

## conda ବ୍ୟବହାର କରି ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ

ଆପଣ ଏହା ସହିତ ଅଧିକ ପରିଚିତ ଥିଲେ, [conda-forge ଚ୍ୟାନେଲ୍](https://anaconda.org/conda-forge/huggingface_hub) ବ୍ୟବହାର କରି `huggingface_hub` ଇନ୍‌ଷ୍ଟଲ୍ କରିପାରିବେ:

```bash
conda install -c conda-forge huggingface_hub
```

ଏହା ସମାପ୍ତ ହେବା ପରେ, ସବୁକିଛି ଠିକ୍ ଭାବରେ କାମ କରୁଛି କି ନାହିଁ ସୁନିଶ୍ଚିତ କରିବା ପାଇଁ [ଇନ୍‌ଷ୍ଟଲେସନ୍ ଯାଞ୍ଚ କରନ୍ତୁ](#ଇନ୍‌ଷ୍ଟଲେସନ୍-ଯାଞ୍ଚ-କରନ୍ତୁ)।

## ଇନ୍‌ଷ୍ଟଲେସନ୍ ଯାଞ୍ଚ କରନ୍ତୁ

ଇନ୍‌ଷ୍ଟଲ୍ ହୋଇସାରିବା ପରେ, ନିମ୍ନଲିଖିତ କମାଣ୍ଡ୍ ଚଲାଇ `huggingface_hub` ଠିକ୍ ଭାବରେ କାମ କରୁଛି କି ନାହିଁ ଯାଞ୍ଚ କରନ୍ତୁ:

```bash
python -c "from huggingface_hub import model_info; print(model_info('gpt2'))"
```

ଏହି କମାଣ୍ଡ୍ ହବ୍‌ରୁ [gpt2](https://huggingface.co/gpt2) ମଡେଲ୍ ବିଷୟରେ ସୂଚନା ପ୍ରାପ୍ତ କରିବ।
ଆଉଟପୁଟ୍‌ଟି ନିମ୍ନପ୍ରକାର ଦେଖାଯିବା ଉଚିତ:

```text
Model Name: gpt2
Tags: ['pytorch', 'tf', 'jax', 'tflite', 'rust', 'safetensors', 'gpt2', 'text-generation', 'en', 'doi:10.57967/hf/0039', 'transformers', 'exbert', 'license:mit', 'has_space']
Task: text-generation
```

## Windowsର ସୀମାବଦ୍ଧତା

ସମସ୍ତଙ୍କ ପାଇଁ ସବୁଠାରେ ଉତ୍ତମ ଏମ୍‌ଏଲ୍ ଉପଲବ୍ଧ କରାଇବାର ଆମ ଲକ୍ଷ୍ୟକୁ ଧ୍ୟାନରେ ରଖି, ଆମେ `huggingface_hub`କୁ ଏକ କ୍ରସ୍‌-ପ୍ଲାଟଫର୍ମ ଲାଇବ୍ରେରୀ ଭାବରେ ବିକଶିତ କରିଛୁ
ଏବଂ ଏହାକୁ ବିଶେଷ ଭାବରେ ୟୁନିକ୍ସ-ଆଧାରିତ ଏବଂ Windows ସିଷ୍ଟମ୍ ଉଭୟରେ ଠିକ୍ ଭାବରେ କାମ କରିବା ପାଇଁ ପ୍ରସ୍ତୁତ କରିଛୁ।
ତେବେ, Windowsରେ ଚଲାଇବା ସମୟରେ `huggingface_hub`ର କେତେକ ସୀମାବଦ୍ଧତା ରହିଛି।
ଏଠାରେ ଜଣାଶୁଣା ସମସ୍ୟାଗୁଡ଼ିକର ଏକ ବିସ୍ତୃତ ତାଲିକା ଦିଆଯାଇଛି। ଆପଣ କୌଣସି ଉଲ୍ଲେଖ ହୋଇନଥିବା ସମସ୍ୟାର ସମ୍ମୁଖୀନ ହେଲେ, [Github](https://github.com/huggingface/huggingface_hub/issues/new/choose)ରେ ଗୋଟିଏ ଇସ୍ୟୁ ଖୋଲି ଦୟାକରି ଆମକୁ ଜଣାନ୍ତୁ।

* `huggingface_hub`ର `cache` ସିଷ୍ଟମ୍ ହବ୍‌ରୁ ଡାଉନଲୋଡ୍ କରାଯାଇଥିବା ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ଦକ୍ଷତାର ସହିତ `cache` କରିବା ପାଇଁ ସିମ୍‌ଲିଙ୍କ୍ ଉପରେ ନିର୍ଭର କରେ।
  Windowsରେ ସିମ୍‌ଲିଙ୍କ୍ ସକ୍ରିୟ କରିବା ପାଇଁ ଆପଣଙ୍କୁ ଡେଭଲପର୍ ମୋଡ୍ ସକ୍ରିୟ କରିବାକୁ କିମ୍ବା ନିଜ ସ୍କ୍ରିପ୍ଟଗୁଡ଼ିକୁ ଆଡମିନିଷ୍ଟ୍ରେଟର୍ ଭାବରେ ଚଲାଇବାକୁ ପଡ଼ିବ।
  ସେଗୁଡ଼ିକ ସକ୍ରିୟ ନଥିଲେ ମଧ୍ୟ `cache`-ସିଷ୍ଟମ୍ କାମ କରିବ, କିନ୍ତୁ ଏହା ଅପ୍ଟିମାଇଜ୍ ହୋଇନଥିବା ପଦ୍ଧତିରେ କାମ କରିବ। ଅଧିକ ସୂଚନା ପାଇଁ ଦୟାକରି [`cache` ସୀମାବଦ୍ଧତା](./guides/manage-cache#limities) ବିଭାଗଟି ପଢ଼ନ୍ତୁ।
* ହବ୍‌ର ଫାଇଲ୍‌ପାଥ୍‌ରେ ବିଶେଷ ଅକ୍ଷର ରହିପାରେ, ଯେପରିକି `"path/to?/my/file"`।
  Windows ବିଶେଷ ଅକ୍ଷରଗୁଡ଼ିକ ଉପରେ ଅଧିକ କଟକଣା ଲଗାଇଥାଏ, ଯାହା ଫଳରେ ସେହି ଫାଇଲ୍‌ଗୁଡ଼ିକୁ Windowsରେ ଡାଉନଲୋଡ୍ କରିବା ସମ୍ଭବ ହୋଇନପାରେ।
  ଆଶା କରାଯାଏ ଯେ ଏହା ଏକ ବିରଳ ପରିସ୍ଥିତି। ଆପଣଙ୍କୁ ଏହା ଏକ ତ୍ରୁଟି ବୋଲି ଲାଗିଲେ, ଦୟାକରି ରିପୋଜିଟୋରି ମାଲିକଙ୍କ ସହିତ ଯୋଗାଯୋଗ କରନ୍ତୁ କିମ୍ବା ସମାଧାନ ଖୋଜିବା ପାଇଁ ଆମ ସହିତ ଯୋଗାଯୋଗ କରନ୍ତୁ।

## ପରବର୍ତ୍ତୀ ପଦକ୍ଷେପ

ଆପଣଙ୍କ ମେସିନ୍‌ରେ `huggingface_hub` ଠିକ୍ ଭାବରେ ଇନ୍‌ଷ୍ଟଲ୍ ହୋଇସାରିବା ପରେ,
ଆରମ୍ଭ କରିବା ପାଇଁ ଆପଣ [ପରିବେଶ ଭେରିଏବଲ୍‌ଗୁଡ଼ିକ କନଫିଗର୍ କରନ୍ତୁ](package_reference/environment_variables) କିମ୍ବା [ଆମ ଗାଇଡ୍‌ଗୁଡ଼ିକ ମଧ୍ୟରୁ ଗୋଟିଏ ଦେଖନ୍ତୁ](guides/overview)।

