Hub Python Library documentation
ଦ୍ରୁତ ଆରମ୍ଭ
ଦ୍ରୁତ ଆରମ୍ଭ
Hugging Face Hub ମେସିନ୍ ଲର୍ଣ୍ଣିଂ ମଡେଲ୍, ଡେମୋ, ଡାଟାସେଟ୍ ଏବଂ ମେଟ୍ରିକ୍ସ ସେୟାର କରିବା ପାଇଁ ସବୁଠାରୁ ଉପଯୁକ୍ତ ସ୍ଥାନ। huggingface_hub ଲାଇବ୍ରେରୀ ଆପଣଙ୍କୁ ନିଜ ବିକାଶ ପରିବେଶ ଛାଡ଼ିବା ବିନା ହବ୍ ସହିତ ଇଣ୍ଟରାକ୍ଟ କରିବାରେ ସାହାଯ୍ୟ କରେ।
ଆପଣ ସହଜରେ ରିପୋଜିଟୋରି ତିଆରି ଓ ପରିଚାଳନା କରିପାରିବେ, ଫାଇଲ୍ଗୁଡ଼ିକୁ ଡାଉନଲୋଡ୍ ଏବଂ ଅପଲୋଡ୍ କରିପାରିବେ, ଏବଂ ହବ୍ରୁ ଉପଯୋଗୀ ମଡେଲ୍ ଓ ଡାଟାସେଟ୍ ମେଟାଡାଟା ପ୍ରାପ୍ତ କରିପାରିବେ।
ଇନ୍ଷ୍ଟଲେସନ୍
ଆରମ୍ଭ କରିବା ପାଇଁ, huggingface_hub ଲାଇବ୍ରେରୀ ଇନ୍ଷ୍ଟଲ୍ କରନ୍ତୁ:
pip install --upgrade huggingface_hub
ଅଧିକ ବିବରଣୀ ପାଇଁ, installation ଗାଇଡ୍ଟି ଦେଖନ୍ତୁ।
ଫାଇଲ୍ଗୁଡ଼ିକ ଡାଉନଲୋଡ୍ କରନ୍ତୁ
ହବ୍ରେ ଥିବା ରିପୋଜିଟୋରିଗୁଡ଼ିକ git ଦ୍ୱାରା ଭର୍ସନ୍-ନିୟନ୍ତ୍ରିତ, ଏବଂ ବ୍ୟବହାରକାରୀମାନେ ଗୋଟିଏ ଫାଇଲ୍ କିମ୍ବା ସମ୍ପୂର୍ଣ୍ଣ ରିପୋଜିଟୋରି ଡାଉନଲୋଡ୍ କରିପାରିବେ।
ଫାଇଲ୍ଗୁଡ଼ିକୁ ଡାଉନଲୋଡ୍ କରିବା ପାଇଁ ଆପଣ hf_hub_download() ଫଙ୍କସନ୍ ବ୍ୟବହାର କରିପାରିବେ।
ଏହି ଫଙ୍କସନ୍ ଆପଣଙ୍କ ସ୍ଥାନୀୟ ଡିସ୍କକୁ ଗୋଟିଏ ଫାଇଲ୍ ଡାଉନଲୋଡ୍ କରି ତାହାକୁ cache କରିବ। ପରବର୍ତ୍ତୀ ଥର ଆପଣଙ୍କୁ ସେହି ଫାଇଲ୍ର ଆବଶ୍ୟକତା ହେଲେ,
ତାହା ଆପଣଙ୍କ cacheରୁ ଲୋଡ୍ ହେବ; ତେଣୁ ଆପଣଙ୍କୁ ଏହାକୁ ପୁଣିଥରେ ଡାଉନଲୋଡ୍ କରିବାକୁ ପଡ଼ିବ ନାହିଁ।
ଆପଣ ଡାଉନଲୋଡ୍ କରିବାକୁ ଚାହୁଁଥିବା ଫାଇଲ୍ର ରିପୋଜିଟୋରି ID ଏବଂ ଫାଇଲ୍ର ନାମ ଆବଶ୍ୟକ ହେବ। ଉଦାହରଣ ସ୍ୱରୂପ, Pegasus ମଡେଲ୍ର କନଫିଗରେସନ୍ ଫାଇଲ୍ ଡାଉନଲୋଡ୍ କରିବା ପାଇଁ:
>>> from huggingface_hub import hf_hub_download
>>> hf_hub_download(repo_id="google/pegasus-xsum", filename="config.json")ଫାଇଲ୍ର କୌଣସି ନିର୍ଦ୍ଦିଷ୍ଟ ଭର୍ସନ୍ ଡାଉନଲୋଡ୍ କରିବା ପାଇଁ, ବ୍ରାଞ୍ଚ୍ ନାମ, ଟ୍ୟାଗ୍ କିମ୍ବା କମିଟ୍ ହ୍ୟାଶ୍ ଉଲ୍ଲେଖ କରିବାକୁ revision ପାରାମିଟର୍ ବ୍ୟବହାର କରନ୍ତୁ।
ଆପଣ କମିଟ୍ ହ୍ୟାଶ୍ ବ୍ୟବହାର କରିବାକୁ ବାଛିଲେ, ଏହା ଛୋଟ 7-ଅକ୍ଷର ବିଶିଷ୍ଟ କମିଟ୍ ହ୍ୟାଶ୍ ପରିବର୍ତ୍ତେ ସମ୍ପୂର୍ଣ୍ଣ ଦୈର୍ଘ୍ୟର ହ୍ୟାଶ୍ ହେବା ଆବଶ୍ୟକ:
>>> from huggingface_hub import hf_hub_download
>>> hf_hub_download(
... repo_id="google/pegasus-xsum",
... filename="config.json",
... revision="4d33b01d79672f27f001f6abade33f22d993b151"
... )ଅଧିକ ବିବରଣୀ ଏବଂ ବିକଳ୍ପ ପାଇଁ, hf_hub_download()ର ଏପିଆଇ ସନ୍ଦର୍ଭ ଦେଖନ୍ତୁ।
ପ୍ରମାଣୀକରଣ
ଅନେକ ପରିସ୍ଥିତିରେ, ହବ୍ ସହିତ ଇଣ୍ଟରାକ୍ଟ କରିବା ପାଇଁ ଆପଣଙ୍କୁ ଗୋଟିଏ Hugging Face ଆକାଉଣ୍ଟ୍ ମାଧ୍ୟମରେ ପ୍ରମାଣୀକୃତ ହେବାକୁ ପଡ଼ିବ:
ବ୍ୟକ୍ତିଗତ ରିପୋଜିଟୋରି ଡାଉନଲୋଡ୍ କରିବା, ଫାଇଲ୍ଗୁଡ଼ିକ ଅପଲୋଡ୍ କରିବା, PR ତିଆରି କରିବା,…
ଆପଣଙ୍କ ପାଖରେ ପୂର୍ବରୁ କୌଣସି ଆକାଉଣ୍ଟ୍ ନଥିଲେ ଗୋଟିଏ ଆକାଉଣ୍ଟ୍ ତିଆରି କରନ୍ତୁ, ଏବଂ ତାପରେ ନିଜ ସେଟିଂସ୍ ପୃଷ୍ଠାରୁ User Access Token ପାଇବା ପାଇଁ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ। ହବ୍ରେ ଆପଣଙ୍କ ପରିଚୟ ପ୍ରମାଣୀକରଣ କରିବା ପାଇଁ User Access Token ବ୍ୟବହାର କରାଯାଏ।
ଟୋକନ୍ରେ
readକିମ୍ବାwriteଅନୁମତି ରହିପାରେ। ଆପଣ କୌଣସି ରିପୋଜିଟୋରି ତିଆରି କିମ୍ବା ସମ୍ପାଦନ କରିବାକୁ ଚାହୁଁଥିଲେ, ଆପଣଙ୍କ ପାଖରେwriteଅନୁମତି ଥିବା ଆକ୍ସେସ୍ ଟୋକନ୍ ରହିଛି କି ନାହିଁ ସୁନିଶ୍ଚିତ କରନ୍ତୁ। ଅନ୍ୟଥା, ଅଜାଣତରେ ଟୋକନ୍ ଲିକ୍ ହୋଇଗଲେ ସମ୍ଭାବ୍ୟ ବିପଦ କମାଇବା ପାଇଁreadଅନୁମତି ଥିବା ଟୋକନ୍ ଜେନେରେଟ୍ କରିବା ସବୁଠାରୁ ଭଲ।
ଲଗ୍ଇନ୍ କମାଣ୍ଡ୍
ପ୍ରମାଣୀକରଣ କରିବାର ସବୁଠାରୁ ସହଜ ଉପାୟ ହେଉଛି ଟୋକନ୍କୁ ନିଜ ମେସିନ୍ରେ ସେଭ୍ କରିବା।
ଆପଣ login() କମାଣ୍ଡ୍ ବ୍ୟବହାର କରି ଟର୍ମିନାଲ୍ରୁ ଏହା କରିପାରିବେ:
hf auth login
ଆପଣ ପୂର୍ବରୁ ଲଗ୍ଇନ୍ କରିଛନ୍ତି କି ନାହିଁ, କମାଣ୍ଡ୍ ତାହା ଜଣାଇବ ଏବଂ ଆପଣଙ୍କୁ ଟୋକନ୍ ପ୍ରଦାନ କରିବାକୁ କହିବ। ତାପରେ ଟୋକନ୍ଟିକୁ ଯାଞ୍ଚ କରାଯାଇ ଆପଣଙ୍କ HF_HOME ଡିରେକ୍ଟୋରିରେ—ଡିଫଲ୍ଟ ଭାବେ ~/.cache/huggingface/token—ସେଭ୍ କରାଯାଏ।
ହବ୍ ସହିତ ଇଣ୍ଟରାକ୍ଟ କରୁଥିବା ଯେକୌଣସି ସ୍କ୍ରିପ୍ଟ କିମ୍ବା ଲାଇବ୍ରେରୀ ଅନୁରୋଧ ପଠାଇବା ସମୟରେ ଏହି ଟୋକନ୍ ବ୍ୟବହାର କରିବ।
ବିକଳ୍ପ ଭାବରେ, ଆପଣ କୌଣସି ନୋଟବୁକ୍ କିମ୍ବା ସ୍କ୍ରିପ୍ଟରେ login() ବ୍ୟବହାର କରି ପ୍ରୋଗ୍ରାମାଟିକ୍ ଭାବେ ଲଗ୍ଇନ୍ କରିପାରିବେ:
>>> from huggingface_hub import login
>>> login()ଆପଣ ଗୋଟିଏ ସମୟରେ କେବଳ ଗୋଟିଏ ଆକାଉଣ୍ଟ୍ରେ ଲଗ୍ଇନ୍ କରିପାରିବେ। ନୂତନ ଆକାଉଣ୍ଟ୍ରେ ଲଗ୍ଇନ୍ କଲେ ଆପଣ ପୂର୍ବ ଆକାଉଣ୍ଟ୍ରୁ ସ୍ୱୟଂଚାଳିତ ଭାବେ ଲଗ୍ଆଉଟ୍ ହୋଇଯିବେ।
ଆପଣଙ୍କ ବର୍ତ୍ତମାନ ସକ୍ରିୟ ଆକାଉଣ୍ଟ୍ କେଉଁଟି ତାହା ଜାଣିବା ପାଇଁ, କେବଳ hf auth whoami କମାଣ୍ଡ୍ ଚଲାନ୍ତୁ।
ଥରେ ଲଗ୍ଇନ୍ କରିବା ପରେ, ହବ୍କୁ ପଠାଯାଉଥିବା ସମସ୍ତ ଅନୁରୋଧ—ଏପରିକି ଯେଉଁ ପଦ୍ଧତିଗୁଡ଼ିକ ପାଇଁ ପ୍ରମାଣୀକରଣ ଅନିବାର୍ଯ୍ୟ ନୁହେଁ—ଡିଫଲ୍ଟ ଭାବରେ ଆପଣଙ୍କ ଆକ୍ସେସ୍ ଟୋକନ୍ ବ୍ୟବହାର କରିବ। ଆପଣ ନିଜ ଟୋକନ୍ର ଅନ୍ତର୍ନିହିତ ବ୍ୟବହାରକୁ ଅକ୍ଷମ କରିବାକୁ ଚାହୁଁଥିଲେ, ପରିବେଶ ଭେରିଏବଲ୍ ଭାବରେ
HF_HUB_DISABLE_IMPLICIT_TOKEN=1ସେଟ୍ କରିବାକୁ ପଡ଼ିବ। ସନ୍ଦର୍ଭ ଦେଖନ୍ତୁ।
ସ୍ଥାନୀୟ ଭାବେ ଏକାଧିକ ଟୋକନ୍ ପରିଚାଳନା କରନ୍ତୁ
ପ୍ରତ୍ୟେକ ଟୋକନ୍ ସହିତ login() କମାଣ୍ଡ୍ ବ୍ୟବହାର କରି ଲଗ୍ଇନ୍ କରିବା ମାଧ୍ୟମରେ ଆପଣ ନିଜ ମେସିନ୍ରେ ଏକାଧିକ ଟୋକନ୍ ସେଭ୍ କରିପାରିବେ। ଆପଣଙ୍କୁ ଏହି ଟୋକନ୍ଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ଥାନୀୟ ଭାବେ ସୁଇଚ୍ କରିବାକୁ ପଡ଼ିଲେ, [auth switch] କମାଣ୍ଡ୍ ବ୍ୟବହାର କରିପାରିବେ:
hf auth switch
ଏହି କମାଣ୍ଡ୍ ସେଭ୍ ହୋଇଥିବା ଟୋକନ୍ଗୁଡ଼ିକର ତାଲିକାରୁ ନାମ ଅନୁସାରେ ଗୋଟିଏ ଟୋକନ୍ ବାଛିବାକୁ କହିବ। ବାଛିବା ପରେ, ଚୟନ କରାଯାଇଥିବା ଟୋକନ୍ଟି _active_ ଟୋକନ୍ ହୋଇଯାଏ ଏବଂ ହବ୍ ସହିତ ହେଉଥିବା ସମସ୍ତ ଇଣ୍ଟରାକ୍ସନ୍ ପାଇଁ ଏହା ବ୍ୟବହୃତ ହେବ।
ଆପଣ hf auth list ବ୍ୟବହାର କରି ନିଜ ମେସିନ୍ରେ ଉପଲବ୍ଧ ସମସ୍ତ ଆକ୍ସେସ୍ ଟୋକନ୍ର ତାଲିକା ଦେଖିପାରିବେ।
ପରିବେଶ ଭେରିଏବଲ୍
ନିଜକୁ ପ୍ରମାଣୀକୃତ କରିବା ପାଇଁ ପରିବେଶ ଭେରିଏବଲ୍ HF_TOKEN ମଧ୍ୟ ବ୍ୟବହାର କରାଯାଇପାରେ। ଏହା ବିଶେଷକରି ଏପରି ସ୍ଥାନରେ ଉପଯୋଗୀ, ଯେଉଁଠାରେ ଆପଣ HF_TOKENକୁ Space Secret ଭାବରେ ସେଟ୍ କରିପାରିବେ।
ନୂତନ: Google Colaboratory ଆପଣଙ୍କୁ ନିଜ ନୋଟବୁକ୍ ପାଇଁ private keys ନିର୍ଦ୍ଧାରଣ କରିବାର ସୁବିଧା ଦେଇଥାଏ। ସ୍ୱୟଂଚାଳିତ ଭାବେ ପ୍ରମାଣୀକୃତ ହେବା ପାଇଁ ଗୋଟିଏ
HF_TOKENସିକ୍ରେଟ୍ ନିର୍ଦ୍ଧାରଣ କରନ୍ତୁ!
ପରିବେଶ ଭେରିଏବଲ୍ କିମ୍ବା ସିକ୍ରେଟ୍ ମାଧ୍ୟମରେ କରାଯାଉଥିବା ପ୍ରମାଣୀକରଣକୁ ଆପଣଙ୍କ ମେସିନ୍ରେ ସଂରକ୍ଷିତ ଟୋକନ୍ ଅପେକ୍ଷା ପ୍ରାଥମିକତା ଦିଆଯାଏ।
ମେଥଡ୍ ପାରାମିଟର୍
ଶେଷରେ, tokenକୁ ପାରାମିଟର୍ ଭାବରେ ଗ୍ରହଣ କରୁଥିବା ଯେକୌଣସି ମେଥଡ୍ରେ ନିଜ ଟୋକନ୍ ପାସ୍ କରି ପ୍ରମାଣୀକରଣ କରିବା ମଧ୍ୟ ସମ୍ଭବ।
from huggingface_hub import whoami
user = whoami(token=...)ସାଧାରଣତଃ ଏହାକୁ ସୁପାରିସ କରାଯାଏ ନାହିଁ। କେବଳ ଯେଉଁ ପରିସ୍ଥିତିରେ ଆପଣ ନିଜ ଟୋକନ୍କୁ ସ୍ଥାୟୀ ଭାବେ ସଂରକ୍ଷଣ କରିବାକୁ ଚାହୁଁନାହାନ୍ତି କିମ୍ବା ଏକାସାଙ୍ଗରେ ଏକାଧିକ ଟୋକନ୍ ପରିଚାଳନା କରିବାକୁ ପଡ଼ୁଛି, ସେହି ପରିସ୍ଥିତିରେ ଏହା ବ୍ୟବହାର କରନ୍ତୁ।
ଟୋକନ୍କୁ ପାରାମିଟର୍ ଭାବରେ ପାସ୍ କରିବା ସମୟରେ ଦୟାକରି ସାବଧାନ ରୁହନ୍ତୁ। ନିଜ କୋଡ୍ବେସ୍ କିମ୍ବା ନୋଟବୁକ୍ରେ ଏହାକୁ ହାର୍ଡକୋଡ୍ କରିବା ପରିବର୍ତ୍ତେ, ଟୋକନ୍କୁ ଗୋଟିଏ ସୁରକ୍ଷିତ vaultରୁ ଲୋଡ୍ କରିବା ସର୍ବଦା ସର୍ବୋତ୍ତମ ପଦ୍ଧତି। ଆପଣ ଅଜାଣତରେ ନିଜ କୋଡ୍ ସେୟାର କରିଦେଲେ, ହାର୍ଡକୋଡ୍ କରାଯାଇଥିବା ଟୋକନ୍ ଗୁରୁତର ଲିକ୍ ବିପଦ ସୃଷ୍ଟି କରେ।
ରିପୋଜିଟୋରି ତିଆରି କରନ୍ତୁ
ଆପଣ ପଞ୍ଜୀକୃତ ହୋଇ ଲଗ୍ଇନ୍ କରିସାରିବା ପରେ, create_repo() ଫଙ୍କସନ୍ ବ୍ୟବହାର କରି ଗୋଟିଏ ରିପୋଜିଟୋରି ତିଆରି କରନ୍ତୁ:
>>> from huggingface_hub import HfApi
>>> api = HfApi()
>>> api.create_repo(repo_id="super-cool-model")ଆପଣ ନିଜ ରିପୋଜିଟୋରିକୁ ବ୍ୟକ୍ତିଗତ ରଖିବାକୁ ଚାହୁଁଥିଲେ:
>>> from huggingface_hub import HfApi
>>> api = HfApi()
>>> api.create_repo(repo_id="super-cool-model", private=True)ବ୍ୟକ୍ତିଗତ ରିପୋଜିଟୋରିଗୁଡ଼ିକ ଆପଣଙ୍କ ବ୍ୟତୀତ ଅନ୍ୟ କାହାକୁ ଦୃଶ୍ୟମାନ ହେବ ନାହିଁ।
ରିପୋଜିଟୋରି ତିଆରି କରିବା କିମ୍ବା ହବ୍କୁ ବିଷୟବସ୍ତୁ push କରିବା ପାଇଁ, ଆପଣଙ୍କୁ ଗୋଟିଏ User Access Token ପ୍ରଦାନ କରିବାକୁ ପଡ଼ିବ, ଯେଉଁଥିରେ
writeଅନୁମତି ରହିଥିବ। ଟୋକନ୍ ତିଆରି କରିବା ସମୟରେ ଆପଣ ନିଜ ସେଟିଂସ୍ ପୃଷ୍ଠାରେ ଅନୁମତି ବାଛିପାରିବେ।
ଫାଇଲ୍ଗୁଡ଼ିକ ଅପଲୋଡ୍ କରନ୍ତୁ
ନୂତନ ଭାବେ ତିଆରି କରାଯାଇଥିବା ନିଜ ରିପୋଜିଟୋରିରେ ଗୋଟିଏ ଫାଇଲ୍ ଯୋଡ଼ିବା ପାଇଁ upload_file() ଫଙ୍କସନ୍ ବ୍ୟବହାର କରନ୍ତୁ। ଆପଣଙ୍କୁ
ନିମ୍ନଲିଖିତ ବିଷୟଗୁଡ଼ିକ ଉଲ୍ଲେଖ କରିବାକୁ ପଡ଼ିବ:
- ଅପଲୋଡ୍ କରିବାକୁ ଥିବା ଫାଇଲ୍ର ପାଥ୍।
- ରିପୋଜିଟୋରି ମଧ୍ୟରେ ଫାଇଲ୍ର ପାଥ୍।
- ଆପଣ ଯେଉଁ ରିପୋଜିଟୋରିରେ ଫାଇଲ୍ ଯୋଡ଼ିବାକୁ ଚାହୁଁଛନ୍ତି, ସେହି ରିପୋଜିଟୋରିର ID।
>>> from huggingface_hub import HfApi
>>> api = HfApi()
>>> api.upload_file(
... path_or_fileobj="/home/lysandre/dummy-test/README.md",
... path_in_repo="README.md",
... repo_id="lysandre/test-model",
... )ଗୋଟିଏ ସମୟରେ ଏକାଧିକ ଫାଇଲ୍ ଅପଲୋଡ୍ କରିବା ପାଇଁ, ଅପଲୋଡ୍ ଗାଇଡ୍ଟି ଦେଖନ୍ତୁ। ଏହା ଆପଣଙ୍କୁ ଫାଇଲ୍ ଅପଲୋଡ୍ କରିବାର ବିଭିନ୍ନ ପଦ୍ଧତି ସହିତ ପରିଚିତ କରାଇବ—git ସହିତ କିମ୍ବା git ବିନା।
ପରବର୍ତ୍ତୀ ପଦକ୍ଷେପ
huggingface_hub ଲାଇବ୍ରେରୀ ବ୍ୟବହାରକାରୀମାନଙ୍କୁ Python ବ୍ୟବହାର କରି
ହବ୍ ସହିତ ଇଣ୍ଟରାକ୍ଟ କରିବାର ଏକ ସହଜ ଉପାୟ ପ୍ରଦାନ କରେ। ହବ୍ରେ ଆପଣ ନିଜ ଫାଇଲ୍ ଏବଂ ରିପୋଜିଟୋରିଗୁଡ଼ିକୁ କିପରି ପରିଚାଳନା କରିପାରିବେ,
ସେ ବିଷୟରେ ଅଧିକ ଜାଣିବା ପାଇଁ ଆମେ ଆପଣଙ୍କୁ ଆମର ବ୍ୟବହାରିକ ଗାଇଡ୍ଗୁଡ଼ିକ ପଢ଼ିବାକୁ ସୁପାରିସ କରୁଛୁ:
- ନିଜ ରିପୋଜିଟୋରି ପରିଚାଳନା କରନ୍ତୁ।
- ହବ୍ରୁ ଫାଇଲ୍ଗୁଡ଼ିକ ଡାଉନଲୋଡ୍ କରନ୍ତୁ।
- ହବ୍ରେ ଫାଇଲ୍ଗୁଡ଼ିକ ଅପଲୋଡ୍ କରନ୍ତୁ।
- ଆପଣ ଚାହୁଁଥିବା ମଡେଲ୍ କିମ୍ବା ଡାଟାସେଟ୍ ପାଇଁ ହବ୍ରେ ସନ୍ଧାନ କରନ୍ତୁ।
- ଦ୍ରୁତ ଇନଫରେନ୍ସ ପାଇଁ ଇନଫରେନ୍ସ ଏପିଆଇକୁ ଆକ୍ସେସ୍ କରନ୍ତୁ।