Buckets:
| # အခန်း (၁၀) ဆိုင်ရာ မေးခွန်းများ[[end-of-chapter-quiz]] | |
| <CourseFloatingBanner | |
| chapter={10} | |
| classNames="absolute z-10 right-0 top-0" | |
| /> | |
| ဒီအခန်းမှာ သင်ယူခဲ့တာတွေကို စစ်ဆေးကြည့်ရအောင်။ | |
| ### ၁။ Argilla ကို ဘာအတွက် အသုံးပြုနိုင်သလဲ။ | |
| <Question | |
| choices={[ | |
| { | |
| text: "ဖွဲ့စည်းမှုမရှိတဲ့ data (unstructured data) တွေကို NLP tasks တွေအတွက် ဖွဲ့စည်းမှုရှိတဲ့ data (structured data) အဖြစ် ပြောင်းလဲဖို့။", | |
| explain: "Dataset တစ်ခုကို annotations တွေ ထည့်ပြီး NLP tasks တွေအတွက် အသုံးပြုဖို့ Argilla ကို အသုံးပြုနိုင်ပါတယ်။", | |
| correct: true | |
| }, | |
| { | |
| text: "dataset တစ်ခု တည်ဆောက်ဖို့ public website တစ်ခုကို scrap လုပ်ဖို့။", | |
| explain: "ဒါက Argilla ရဲ့ feature တစ်ခု မဟုတ်ပါဘူး၊ ဒါပေမယ့် public website တစ်ခုကို scrap လုပ်ပြီး Python SDK ကို အသုံးပြုပြီး annotations တွေအတွက် Argilla dataset တစ်ခုအဖြစ် ပြောင်းလဲနိုင်ပါတယ်။" | |
| }, | |
| { | |
| text: "လက်ရှိ dataset တစ်ခုရဲ့ အရည်အသွေးကို မြှင့်တင်ဖို့။", | |
| explain: "ယခင် annotations တွေကို အကြံပြုချက်တွေအဖြစ် အသုံးပြုပြီး dataset တစ်ခုရဲ့ အရည်အသွေးကို မြှင့်တင်ဖို့ ပြင်ဆင်နိုင်ပါတယ်။", | |
| correct: true | |
| }, | |
| { | |
| text: "လက်ရှိ dataset တစ်ခုကို သင့်ကိုယ်ပိုင် use case အတွက် ပြောင်းလဲဖို့။", | |
| explain: "လက်ရှိ dataset တစ်ခုကို သင့်ကိုယ်ပိုင် use case အတွက် ပြောင်းလဲဖို့ Argilla မှာ မတူညီတဲ့ မေးခွန်းအမျိုးအစားတွေကို အသုံးပြုနိုင်ပါတယ်။", | |
| correct: true | |
| }, | |
| { | |
| text: "သင့် model ကို train လုပ်ဖို့။", | |
| explain: "Argilla မှာ model တစ်ခုကို တိုက်ရိုက် train လုပ်လို့ မရပါဘူး၊ ဒါပေမယ့် Argilla မှာ သင်စုစည်းထားတဲ့ data တွေကို သင့်ကိုယ်ပိုင် model ကို train လုပ်ဖို့ အသုံးပြုနိုင်ပါတယ်။", | |
| }, | |
| { | |
| text: "synthetic datasets တွေ ထုတ်လုပ်ဖို့။", | |
| explain: "synthetic datasets တွေ ထုတ်လုပ်ဖို့ distilabel package ကို အသုံးပြုနိုင်ပြီး၊ ထို့နောက် ထုတ်လုပ်ထားတဲ့ data တွေကို ပြန်လည်စစ်ဆေးပြီး စုစည်းဖို့ Argilla ကို အသုံးပြုနိုင်ပါတယ်။", | |
| } | |
| ]} | |
| /> | |
| ### ၂။ Argilla ဟာ Hugging Face Spaces မှာသာ Hugging Face Datasets နဲ့ အလုပ်လုပ်ပါတယ်။ | |
| <Question | |
| choices={[ | |
| { | |
| text: "မှန်သည်။", | |
| explain: "Argilla ကို Docker ကို အသုံးပြုပြီး locally လည်း deploy လုပ်နိုင်ပါတယ်။ Hugging Face Datasets အပါအဝင် မည်သည့် data အမျိုးအစားကိုမဆို upload လုပ်ဖို့ Python SDK ကို အသုံးပြုနိုင်ပါတယ်။" | |
| }, | |
| { | |
| text: "မှားသည်။", | |
| explain: "Argilla ကို Docker ကို အသုံးပြုပြီး locally လည်း deploy လုပ်နိုင်ပါတယ်။ Hugging Face Datasets အပါအဝင် မည်သည့် data အမျိုးအစားကိုမဆို upload လုပ်ဖို့ Python SDK ကို အသုံးပြုနိုင်ပါတယ်။", | |
| correct: true | |
| } | |
| ]} | |
| /> | |
| ### ၃။ Python SDK ကို သင့် Argilla server နဲ့ ချိတ်ဆက်ဖို့ Hugging Face token တစ်ခု လိုအပ်ပါတယ်။ | |
| <Question | |
| choices={[ | |
| { | |
| text: "မှန်သည်။", | |
| explain: "ဒါက သင့် Argilla Space က private ဖြစ်နေမှသာ လိုအပ်ပါတယ်။", | |
| }, | |
| { | |
| text: "မှားသည်။", | |
| explain: "သင် public Argilla Space ကို အသုံးပြုနေတယ်ဆိုရင် ဒါမှမဟုတ် Docker နဲ့ local deployment လုပ်နေတယ်ဆိုရင် token တစ်ခု မလိုအပ်ပါဘူး။", | |
| correct: true | |
| } | |
| ]} | |
| /> | |
| ### ၄။ Argilla မှာ **fields** တွေက ဘာလဲ။ fields တွေ ဘယ်လောက် အသုံးပြုနိုင်လဲ။ | |
| <Question | |
| choices={[ | |
| { | |
| text: "Fields တွေက ကျွန်တော်တို့ annotation လုပ်နေတဲ့ data တွေကို ပြသပါတယ်။ ဒီအချက်အလက်အားလုံးကို single field တစ်ခုထဲမှာ စုစည်းထားဖို့ လိုအပ်ပါတယ်။", | |
| explain: "လိုအပ်ရင် အချက်အလက်တွေကို multiple fields တွေအဖြစ် ခွဲဝေနိုင်ပါတယ်။" | |
| }, | |
| { | |
| text: "Fields တွေက ကျွန်တော်တို့ annotation လုပ်နေတဲ့ data တွေကို ပြသပါတယ်။ ဒီအချက်အလက်အားလုံးကို multiple fields တွေအဖြစ် ခွဲဝေနိုင်ပါတယ်။", | |
| explain: "မှန်ပါတယ်။ သင် annotation လုပ်နေတဲ့ data အမျိုးအစားပေါ် မူတည်ပြီး multiple fields တွေနဲ့ မတူညီတဲ့ fields အမျိုးအစားတွေ (text, chat, image...) ကိုလည်း အသုံးပြုနိုင်ပါတယ်။", | |
| correct: true | |
| }, | |
| { | |
| text: "Fields တွေမှာ records တွေရဲ့ metadata တွေ ပါဝင်ပါတယ်။ သင်လိုအပ်သလောက် အသုံးပြုနိုင်ပါတယ်။", | |
| explain: "သင့် dataset မှာ fields တွေနဲ့ metadata နှစ်ခုလုံး ရှိနိုင်ပေမယ့်၊ ၎င်းတို့က မတူညီတဲ့ ရည်ရွယ်ချက်တွေအတွက်ပါ။ Metadata တွေက filtering နဲ့ sorting လုပ်ဖို့အတွက် အပိုအချက်အလက်တွေအဖြစ် အသုံးပြုပြီး၊ fields တွေက ကျွန်တော်တို့ annotation လုပ်နေတဲ့ data တွေကို ပြသပါတယ်။" | |
| } | |
| ]} | |
| /> | |
| ### ၅။ token classification task တစ်ခုအတွက် အကောင်းဆုံး မေးခွန်းအမျိုးအစားက ဘာလဲ။ | |
| <Question | |
| choices={[ | |
| { | |
| text: "A SpanQuestion", | |
| explain: "SpanQuestions တွေက စာသားအပိုင်းအစတွေကို highlight လုပ်ပြီး label တစ်ခု ထည့်ခွင့်ပြုပါတယ်။ ဒါက token classification task တစ်ခုအတွက် အကောင်းဆုံး အမျိုးအစားပါ။", | |
| correct: true | |
| }, | |
| { | |
| text: "A LabelQuestion", | |
| explain: "ဒီမေးခွန်းအမျိုးအစားက record တစ်ခုလုံးနဲ့ သက်ဆိုင်တဲ့ label တစ်ခုကို ရွေးချယ်ခွင့်ပြုပါတယ်။ ဒါက text classification task တစ်ခုအတွက် အကောင်းဆုံး အမျိုးအစားပါ။" | |
| }, | |
| { | |
| text: "A TextQuestion", | |
| explain: "ဒီမေးခွန်းအမျိုးအစားက စာသားရေးဖို့ ခွင့်ပြုပါတယ်။ ဒါက token classification task တစ်ခုအတွက် မသင့်တော်ပါဘူး။" | |
| }, | |
| { | |
| text: "အထက်ပါအဖြေများ မဟုတ်ပါ။", | |
| explain: "SpanQuestions တွေက စာသားအပိုင်းအစတွေကို highlight လုပ်ပြီး label တစ်ခု ထည့်ခွင့်ပြုပါတယ်။ ဒါက token classification task တစ်ခုအတွက် အကောင်းဆုံး အမျိုးအစားပါ။" | |
| } | |
| ]} | |
| /> | |
| ### ၆။ "Save as draft" button ရဲ့ ရည်ရွယ်ချက်က ဘာလဲ။ | |
| <Question | |
| choices={[ | |
| { | |
| text: "သင့်ရဲ့ အဖြေတွေကို submit လုပ်ဖို့။", | |
| explain: "ဒီ button က သင့်အဖြေတွေကို save လုပ်ပေမယ့် submit တော့ မလုပ်ပါဘူး။", | |
| }, | |
| { | |
| text: "သင့်ရဲ့ အဖြေတွေကို submit မလုပ်ဘဲ save လုပ်ဖို့။", | |
| explain: "ဒါက Hugging Face Hub ကနေ Hugging Face model တစ်ခုကို load လုပ်ဖို့ မှန်ကန်တဲ့ နည်းလမ်းတစ်ခုပါ။", | |
| correct: true | |
| }, | |
| { | |
| text: "record တစ်ခုကို စွန့်ပစ်ဖို့။", | |
| explain: "'demos' prefix ကို အသုံးပြုပြီး model တစ်ခုကို load လုပ်လို့ မရပါဘူး။ ထပ်ကြိုးစားပါ။" | |
| } | |
| ]} | |
| /> | |
| ### ၇။ Argilla က အကြံပြုထားတဲ့ labels တွေကို အလိုအလျောက် မပေးပါဘူး၊ သင်ကိုယ်တိုင် data တွေ ပေးရပါမယ်။ | |
| <Question | |
| choices={[ | |
| { | |
| text: "မှန်သည်။", | |
| explain: "သင့် records တွေမှာ (ဒါမှမဟုတ် ပြင်ဆင်ပြီး) အကြံပြုချက်တွေကို project ရဲ့ ဘယ်အချိန်မှာမဆို ထည့်နိုင်ပါတယ်။", | |
| correct: true | |
| }, | |
| { | |
| text: "မှားသည်။", | |
| explain: "အကြံပြုထားတဲ့ labels တွေကို မြင်ချင်တယ်ဆိုရင်၊ records တွေ ဖန်တီးတဲ့အခါ ဒါမှမဟုတ် နောက်ပိုင်းအချိန်တစ်ခုမှာ သင်ကိုယ်တိုင် log လုပ်ဖို့ လိုအပ်ပါတယ်။" | |
| } | |
| ]} | |
| /> | |
| ### ၈။ Argilla dataset တစ်ခုလုံးကို Hub သို့ export လုပ်ရန် လိုအပ်သော အဆင့်များအားလုံးကို ရွေးချယ်ပါ။ | |
| <Question | |
| choices={[ | |
| { | |
| text: "သင့် Argilla server နဲ့ ချိတ်ဆက်ဖို့ လိုအပ်ပါတယ်- <code>client= rg.Argilla(api_url='...', api_key='...')</code>", | |
| explain: "မှန်ပါတယ်။ သင့် server နဲ့ အပြန်အလှန်လုပ်ဆောင်ဖို့ အရင်ဆုံး instantiate လုပ်ဖို့ လိုအပ်ပါတယ်။", | |
| correct: true | |
| }, | |
| { | |
| text: "Hub ကနေ dataset ကို import လုပ်ဖို့- <code>dataset = rg.Dataset.from_hub(repo_id='argilla/ag_news_annotated')</code>", | |
| explain: "မမှန်ပါဘူး။ ဒါက Hub ကနေ dataset တစ်ခုကို သင့် Argilla instance ထဲကို import လုပ်ဖို့ပါ။", | |
| }, | |
| { | |
| text: "dataset ကို load လုပ်ဖို့- <code>dataset = client.datasets(name='my_dataset')</code>", | |
| explain: "မှန်ပါတယ်။ နောက်ထပ် operations တွေအတွက် ဒါက လိုအပ်ပါလိမ့်မယ်။", | |
| correct: true | |
| }, | |
| { | |
| text: "Argilla dataset ကို Datasets dataset အဖြစ် ပြောင်းလဲဖို့- <code>dataset = dataset.to_datasets()</code>", | |
| explain: "dataset တစ်ခုလုံးကို export လုပ်မယ်ဆိုရင် ဒါက မလိုအပ်ပါဘူး။ Argilla က သင့်အတွက် ဒါကို လုပ်ပေးပါလိမ့်မယ်။ ဒါပေမယ့် records အနည်းငယ်နဲ့ အလုပ်လုပ်နေတယ်ဆိုရင်တော့ လိုအပ်နိုင်ပါတယ်။" | |
| }, | |
| { | |
| text: "dataset ကို export လုပ်ဖို့ <code>to_hub</code> method ကို အသုံးပြုဖို့- <code>dataset.to_hub(repo_id='my_username/dataset_name')</code>", | |
| explain: "ဒါက dataset ကို ဖော်ပြထားတဲ့ repo id ကို push လုပ်ပြီး၊ repo မရှိသေးရင် အသစ်တစ်ခု ဖန်တီးပါလိမ့်မယ်။", | |
| correct: true | |
| }, | |
| ]} | |
| /> | |
| ## ဝေါဟာရ ရှင်းလင်းချက် (Glossary) | |
| * **Argilla**: Data annotation နှင့် curation အတွက် open-source platform တစ်ခုဖြစ်ပြီး Natural Language Processing (NLP) tasks များအတွက် အရည်အသွေးမြင့် datasets များ ဖန်တီးရာတွင် အထောက်အကူပြုသည်။ | |
| * **Unstructured Data**: သတ်မှတ်ထားသော ပုံစံ သို့မဟုတ် ဖွဲ့စည်းပုံမရှိသော ဒေတာများ (ဥပမာ- စာသားများ၊ ရုပ်ပုံများ)။ | |
| * **Structured Data**: သတ်မှတ်ထားသော ပုံစံ သို့မဟုတ် ဖွဲ့စည်းပုံဖြင့် စုစည်းထားသော ဒေတာများ (ဥပမာ- جداول د databases)။ | |
| * **NLP Tasks (Natural Language Processing Tasks)**: ကွန်ပျူတာတွေ လူသားဘာသာစကားကို နားလည်၊ အဓိပ္ပာယ်ဖော်ပြီး၊ ဖန်တီးနိုင်အောင် လုပ်ဆောင်ပေးတဲ့ အလုပ်တွေ (ဥပမာ- text classification, question answering)။ | |
| * **Scrap a Public Website**: အချက်အလက်များ စုဆောင်းရန်အတွက် အများပြည်သူသုံး ဝဘ်ဆိုဒ်တစ်ခုမှ ဒေတာများကို အလိုအလျောက် ထုတ်ယူခြင်း။ | |
| * **Python SDK (Software Development Kit)**: Python application များ တည်ဆောက်ရန်အတွက် ကိရိယာများနှင့် library များ စုစည်းမှု။ | |
| * **Annotations**: စာသား၊ ရုပ်ပုံ သို့မဟုတ် အခြားဒေတာများတွင် အဓိပ္ပာယ် သို့မဟုတ် labels များကို လူသားများက ထည့်သွင်းပေးခြင်း။ | |
| * **Dataset Quality**: dataset တစ်ခု၏ တိကျမှု၊ ပြည့်စုံမှု၊ ဆင်တူမှု နှင့် ယုံကြည်စိတ်ချရမှု အတိုင်းအတာ။ | |
| * **Use Case**: ထုတ်ကုန် သို့မဟုတ် စနစ်တစ်ခုကို သီးခြားအခြေအနေတစ်ခုတွင် မည်သို့အသုံးပြုသည်ကို ဖော်ပြခြင်း။ | |
| * **Distilabel Package**: Synthetic datasets များ ဖန်တီးရာတွင် ကူညီပေးသော package။ | |
| * **Synthetic Datasets**: လက်တွေ့ဒေတာများမဟုတ်ဘဲ AI model များကို လေ့ကျင့်ရန်အတွက် ဖန်တီးထားသော ဒေတာအစုအဝေးများ။ | |
| * **Review**: အချက်အလက်များ သို့မဟုတ် မှတ်တမ်းများကို သေချာစွာ စစ်ဆေးခြင်း။ | |
| * **Docker**: Applications များကို containers များအတွင်း ထုပ်ပိုးပြီး deploy လုပ်ရန် အသုံးပြုသော platform။ | |
| * **Locally Deploy**: Application တစ်ခုကို cloud server တွင် မဟုတ်ဘဲ မိမိကိုယ်ပိုင် ကွန်ပျူတာပေါ်တွင် တင်ပြီး အသုံးပြုခြင်း။ | |
| * **Hugging Face Spaces**: Hugging Face Hub ၏ အစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး Gradio ကဲ့သို့သော library များကို အသုံးပြု၍ Machine Learning demos များကို host လုပ်ပြီး မျှဝေနိုင်သည်။ | |
| * **Hugging Face Datasets**: Hugging Face က ထုတ်လုပ်ထားတဲ့ library တစ်ခုဖြစ်ပြီး AI မော်ဒယ်တွေ လေ့ကျင့်ဖို့အတွက် ဒေတာအစုအဝေး (datasets) တွေကို လွယ်လွယ်ကူကူ ဝင်ရောက်ရယူ၊ စီမံခန့်ခွဲပြီး အသုံးပြုနိုင်စေပါတယ်။ | |
| * **Python SDK (Argilla)**: Argilla API နှင့် Python code မှတစ်ဆင့် အပြန်အလှန်ဆက်သွယ်နိုင်စေသော toolkit။ | |
| * **Hugging Face Token**: Hugging Face Hub တွင် အကောင့် authentication အတွက် အသုံးပြုသော ထူးခြားသည့် ကုဒ်။ | |
| * **Argilla Server**: Argilla application ကို host လုပ်ပြီး client များ၏ requests များကို ဖြေကြားပေးသော server။ | |
| * **Public Argilla Space**: Hugging Face Spaces ပေါ်တွင် လူတိုင်း ဝင်ရောက်ကြည့်ရှုနိုင်သော Argilla instance။ | |
| * **Local Deployment**: Docker ကို အသုံးပြု၍ မိမိကိုယ်ပိုင် ကွန်ပျူတာပေါ်တွင် Argilla ကို တင်ပြီး အသုံးပြုခြင်း။ | |
| * **Fields**: Argilla dataset အတွင်းရှိ data record တစ်ခုစီ၏ အဓိက အချက်အလက် ကဏ္ဍများ။ ၎င်းတို့သည် annotation လုပ်မည့် အကြောင်းအရာကို ပြသသည်။ | |
| * **Records**: Dataset အတွင်းရှိ တစ်ခုချင်းစီသော data entry များ။ | |
| * **Metadata**: data အကြောင်း အချက်အလက်များ (data about data)။ ၎င်းတို့ကို filtering နှင့် sorting အတွက် အသုံးပြုနိုင်သည်။ | |
| * **SpanQuestion**: Argilla တွင် အသုံးပြုသော မေးခွန်းအမျိုးအစားတစ်ခုဖြစ်ပြီး စာသားအပိုင်းအစများကို highlight လုပ်ပြီး label များကို သတ်မှတ်ရန် အသုံးပြုသည်။ Token classification အတွက် အသင့်တော်ဆုံးဖြစ်သည်။ | |
| * **Token Classification Task**: စာသား sequence တစ်ခုအတွင်းရှိ token တစ်ခုစီကို အမျိုးအစားခွဲခြားသတ်မှတ်ခြင်း လုပ်ငန်း (ဥပမာ- Named Entity Recognition)။ | |
| * **LabelQuestion**: Argilla တွင် အသုံးပြုသော မေးခွန်းအမျိုးအစားတစ်ခုဖြစ်ပြီး record တစ်ခုလုံးအတွက် label တစ်ခုကို ရွေးချယ်ရန် အသုံးပြုသည်။ Text classification အတွက် အသင့်တော်ဆုံးဖြစ်သည်။ | |
| * **Text Classification Task**: စာသားကို သတ်မှတ်ထားသော အမျိုးအစားများထဲသို့ ခွဲခြားသတ်မှတ်ခြင်းနှင့် သက်ဆိုင်သော ပြဿနာ။ | |
| * **TextQuestion**: Argilla တွင် အသုံးပြုသော မေးခွန်းအမျိုးအစားတစ်ခုဖြစ်ပြီး အသုံးပြုသူအား စာသားများ ရေးသားရန် ခွင့်ပြုသည်။ | |
| * **"Save as draft" Button**: Argilla UI တွင် annotation လုပ်ထားသော အဖြေများကို သိမ်းဆည်းထားရန် အသုံးပြုသော်လည်း ၎င်းတို့ကို submit လုပ်ခြင်းမရှိသေးပါ။ | |
| * **Submit Responses**: annotation လုပ်ထားသော အဖြေများကို အပြီးသတ်သိမ်းဆည်းပြီး server သို့ ပေးပို့ခြင်း။ | |
| * **Discard a Record**: dataset မှ record တစ်ခုကို ဖယ်ရှားခြင်း သို့မဟုတ် လျစ်လျူရှုခြင်း။ | |
| * **Suggested Labels**: AI model သို့မဟုတ် အခြားနည်းလမ်းများမှ ထုတ်ပေးသော ကြိုတင်ခန့်မှန်းထားသည့် labels များ။ ၎င်းတို့ကို annotation လုပ်သူများက အတည်ပြုခြင်း သို့မဟုတ် ပြင်ဆင်နိုင်သည်။ | |
| * **Log**: ဖြစ်ရပ်များ သို့မဟုတ် အချက်အလက်များကို မှတ်တမ်းတင်ခြင်း။ | |
| * **`rg.Argilla()`**: Argilla Python SDK မှ Argilla client object ကို instantiate လုပ်ရန် function။ | |
| * **`api_url`**: Argilla server ၏ URL။ | |
| * **`api_key`**: Argilla server သို့ authentication အတွက် အသုံးပြုသော API key။ | |
| * **Instantiate**: class တစ်ခုမှ object တစ်ခုကို ဖန်တီးခြင်း။ | |
| * **`rg.Dataset.from_hub()`**: Argilla Python SDK မှ Hugging Face Hub မှ dataset တစ်ခုကို Argilla instance ထဲသို့ import လုပ်ရန် function။ | |
| * **`repo_id`**: Hugging Face Hub ရှိ repository ၏ ID (ဥပမာ- `my_username/my_dataset`)။ | |
| * **`client.datasets()`**: Argilla client မှ Argilla server ပေါ်ရှိ dataset များကို ဝင်ရောက်ကြည့်ရှုရန် method။ | |
| * **`dataset.to_datasets()`**: Argilla dataset object ကို Hugging Face `Dataset` object အဖြစ် ပြောင်းလဲရန် method။ | |
| * **Subset of Records**: dataset တစ်ခုလုံးမှ ရွေးထုတ်ထားသော အချက်အလက် အနည်းငယ်။ | |
| * **`to_hub()` Method**: Argilla dataset ကို Hugging Face Hub သို့ export (push) လုပ်ရန် method။ | |
| * **`my_username/dataset_name`**: Hugging Face Hub တွင် dataset ကို upload လုပ်မည့် repository ၏ ID။ | |
| <EditOnGithub source="https://github.com/huggingface/course/blob/main/chapters/my/chapter10/7.mdx" /> |
Xet Storage Details
- Size:
- 25.4 kB
- Xet hash:
- 32de2ab7fa2eb94639d0dc8c7389c911183a4fc7c6ae7397202a80fb830144e2
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.