Hugging Face Inference API su Python

Hugging Face Inference Api Su Python



Hugging Face yra identifikuojama kaip atvirojo kodo AI bendruomenė, kurią sudaro daugybė atvirojo kodo sistemų, įrankių, architektūrų ir modelių, skirtų kurti ir sąveikauti su AI ir natūralios kalbos apdorojimo modeliais. Hugging Face suteikia programuojamus trukdžius kaip „Inference API“. Ši išvadų API naudojama mašininiam mokymuisi ir AI modeliams diegti sprendimų priėmimui ir prognozėms realiuoju laiku. Ši API leidžia kūrėjams naudoti iš anksto paruoštus NLP modelius, kad pateiktų prognozes apie naują duomenų rinkinį.

Sintaksė:

„Hugging Face“ teikia įvairių paslaugų, tačiau viena iš plačiai naudojamų paslaugų yra „API“. API leidžia iš anksto parengtą AI ir didelių kalbų modelius sąveikauti su skirtingomis programomis. Hugging Face teikia API skirtingiems modeliams, kaip nurodyta toliau:

  • Teksto generavimo modeliai
  • Vertimo modeliai
  • Sentimentų analizės modeliai
  • Virtualių agentų (išmaniųjų pokalbių robotų) kūrimo modeliai
  • Klasifikacija ir regresijos modeliai

Dabar atraskime būdą, kaip iš Hugging Face gauti savo asmeninių išvadų API. Norėdami tai padaryti, pirmiausia turime užsiregistruoti oficialioje Hugging Face svetainėje. Prisijunkite prie šios Hugging Face bendruomenės prisiregistruodami šioje svetainėje su savo kredencialais.









Kai gausime paskyrą Hugging Face, dabar turime paprašyti išvados API. Norėdami paprašyti API, eikite į paskyros nustatymus ir pasirinkite „Prieigos prieigos raktas“. Atsidarys naujas langas. Pasirinkite parinktį „Naujas prieigos raktas“ ir generuokite prieigos raktą, pirmiausia nurodydami jo pavadinimą ir jo vaidmenį „RAŠYTI“. Sugeneruojamas naujas prieigos raktas. Dabar turime išsaugoti šį žetoną. Iki šio momento mes turime savo žetoną iš Apkabinančio veido. Kitame pavyzdyje pamatysime, kaip galime naudoti šį prieigos raktą, kad gautume išvados API.







1 pavyzdys: kaip sukurti prototipą naudojant Hugging Face Inference API

Iki šiol aptarėme metodą, kaip pradėti naudoti Hugging Face, ir inicijavome Hugging Face žetoną. Šiame pavyzdyje parodyta, kaip galime naudoti šį naujai sugeneruotą prieigos raktą, kad gautume konkrečiam modeliui (mašininiam mokymuisi) skirtą išvadų API ir per jį pateiktume prognozes. Pagrindiniame Hugging Face puslapyje pasirinkite bet kurį modelį, su kuriuo norite dirbti ir kuris atitinka jūsų problemą. Tarkime, kad norime dirbti su teksto klasifikacija arba nuotaikų analizės modeliu, kaip parodyta toliau pateiktame šių modelių sąrašo fragmente:



Iš šio modelio pasirenkame sentimentų analizės modelį.

Pasirinkus modelį, atsiras jo modelio kortelė. Šioje modelio kortelėje pateikiama informacija apie modelio mokymo detales ir modelio savybes. Mūsų modelis yra roBERTa-base, kuris yra apmokytas 58M tviterio žinutėmis sentimentų analizei. Šis modelis turi tris pagrindines klasių etiketes ir kiekvieną įvestį suskirsto į atitinkamas klasės etiketes.

Pasirinkę modelį, pasirinkę diegimo mygtuką, esantį viršutiniame dešiniajame lango kampe, atsidarys išskleidžiamasis meniu. Šiame meniu turime pasirinkti parinktį „Inference API“.

Tada išvados API pateikia išsamų paaiškinimą, kaip naudoti šį konkretų modelį su šia išvada, ir leidžia greitai sukurti AI modelio prototipą. Išvados API lange rodomas kodas, parašytas Python scenarijuje.

Nukopijuojame šį kodą ir vykdome jį bet kuriame Python IDE. Tam naudojame „Google Colab“. Vykdęs šį kodą Python apvalkale, jis grąžina išvestį, kuri pateikiama kartu su balu ir etiketės numatymu. Ši etiketė ir balas pateikiami pagal mūsų įvestį, nes pasirinkome „teksto sentimentų analizės“ modelį. Tada įvestis, kurią pateikiame modeliui, yra teigiamas sakinys, o modelis buvo iš anksto apmokytas naudoti tris etikečių klases: etiketė 0 reiškia neigiamą, etiketė1 reiškia neutralią, o etiketė 2 nustatyta į teigiamą. Kadangi mūsų įvestis yra teigiamas sakinys, modelio balų prognozė yra didesnė nei kitos dvi etiketės, o tai reiškia, kad modelis numatė sakinį kaip „teigiamą“.

importuoti prašymus

API_URL = 'https://api-inference.huggingface.co/models/cardiffnlp/twitter-roberta-base-sentiment'
antraštes = { 'Įgaliojimas' : „Nešėjas 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“ }

def užklausą ( naudingoji apkrova ) :
atsakymą = prašymus. paštu ( API_URL , antraštes = antraštes , json = naudingoji apkrova )
grąžinti atsakymą. json ( )

išvestis = užklausą ( {
'įėjimai' : „Jaučiuosi gerai, kai esi su manimi“ ,
} )

Išvestis:

2 pavyzdys: Apibendrinimo modelis per išvadas

Mes atliekame tuos pačius veiksmus, kaip parodyta ankstesniame pavyzdyje, ir prototipuojame apibendrinimo modelio magistralę, naudodami jos išvados API iš Hugging Face. Apibendrinimo modelis yra iš anksto parengtas modelis, kuris apibendrina visą tekstą, kurį pateikiame kaip įvestį. Eikite į Hugging Face paskyrą, viršutinėje meniu juostoje spustelėkite modelį, tada pasirinkite modelį, kuris atitinka apibendrinimą, pasirinkite jį ir atidžiai perskaitykite jo modelio kortelę.

Mūsų pasirinktas modelis yra iš anksto paruoštas BART modelis ir tiksliai suderintas su CNN pašto duomenų rinkiniu. BART yra modelis, kuris labiausiai panašus į BERT modelį, kuriame yra kodavimo įrenginys ir dekoderis. Šis modelis yra efektyvus, kai jis puikiai suderintas su supratimo, apibendrinimo, vertimo ir teksto generavimo užduotimis.

Tada viršutiniame dešiniajame kampe pasirinkite mygtuką „diegimas“ ir išskleidžiamajame meniu pasirinkite išvados API. Išvados API atidaro kitą langą, kuriame yra kodas ir nurodymai, kaip naudoti šį modelį su šia išvada.

Nukopijuokite šį kodą ir paleiskite jį Python apvalkale.

Modelis grąžina išvestį, kuri yra įvesties, kurią mes jam pateikėme, suvestinė.

Išvada

Dirbome su Hugging Face Inference API ir sužinojome, kaip galime naudoti šios programos programuojamą sąsają dirbti su iš anksto paruoštais kalbos modeliais. Du pavyzdžiai, kuriuos padarėme straipsnyje, daugiausia buvo pagrįsti NLP modeliais. Hugging Face API gali padaryti stebuklus, jei norime sukurti greitą prototipą, greitai integruodami AI modelius į mūsų programas. Trumpai tariant, Hugging Face turi sprendimus visoms jūsų problemoms nuo mokymosi sustiprinimo iki kompiuterinio matymo.