Hal dhinac oo ka mid ah dhacdada ayaa ah abuurista qaabka barashada mashiinka. Waa inay noqotaa mid lagu isticmaali karo adduunka dhabta ah oo ay heli karaan macaamiisha iyo horumariyeyaasha.
Habka ugu fudud uguna caansan ee lagu geeyo moodooyinka barashada mashiinka waa in lagu daro API REST.
Iyada oo leh maktabad caan ah oo la yiraahdo FastAPI, taasi waa dhab ahaan waxa aan maanta ku guuleysan doono.
Laakiin, waa maxay FastAPI?
Qaab dhismeedka shabakada FastAPI Python waxaa laga sameeyay dhulka si looga faa'iidaysto awoodaha Python ee casriga ah.
Xidhiidhka asynchronous, xidhiidhka isku xidhan ee macaamiisha, waxa ay u hogaansantaa heerka ASGI, halka ay sidoo kale awood u leedahay isticmaalka WSGI.
Dhibcaha dhamaadka iyo dariiqyada labaduba waxay adeegsan karaan hawlaha async. Intaa waxaa dheer, FastAPI waxay awood u siinaysaa abuurista wax soo saar leh ee abka shabakadda ee nooca-tilmaansan, nadiif ah, koodka Python casriga ah.
Kiiska isticmaalka ugu weyn ee FastAPI waa, sida magacu soo jeediyo, abuurista dhibcaha dhamaadka API.
Isticmaalka heerka OpenAPI, oo ay ku jiraan isdhexgalka Swagger UI, ama bixinta xogta qaamuuska Python maadaama JSON ay labaduba yihiin siyaabo fudud oo tan lagu gaaro. Si kastaba ha ahaatee, FastAPI kaliya maaha API-yada.
Waxaa loo isticmaali karaa in lagu bixiyo boggaga internetka ee caadiga ah iyadoo la adeegsanayo mashiinka template Jinja2 iyo in loogu adeego abka isticmaalaya WebSockets, marka lagu daro wax kasta oo kale oo qaabka shabakadu samayn karo.
Maqaalkan, waxaan ku horumarin doonaa qaabka barashada mashiinka tooska ah ka dibna isticmaal FastAPI si aan u geyno. Aan bilowno.
Rakibaadda FastAPI iyo abuurista API-gii ugu horreeyay
Ku rakibida maktabadda iyo server-ka ASGI ayaa loo baahan yahay marka hore; Uvuicorn ama Hypercorn midkood ayaa shaqayn doona. Waxay ku shaqeysaa iyadoo gelisa amarka soo socda Terminalka:
Hadda oo API-ga la sameeyay, waxaad isticmaali kartaa tifaftiraha koodhka aad door bidayso oo aad dhex mari karto. Samee qoraal Python ah oo la yiraahdo ml_model.py si aad u bilowdo. Waa lagugu soo dhawaynayaa inaad magacaaga u bixiso magac kale, laakiin qoraalkan dartiis, waxaan u tixraaci doonaa faylkan ml_model.py.
Si aad u abuurto API toos ah oo leh laba dhibcood, waa inaad dhamaystirtaa hawlaha soo socda:
- Soo deji FastAPI iyo maktabadaha Uvicorn
- Deji tusaale fasalka FastAPI.
- Ku dhawaaq dariiqa koowaad, kaas oo, bogga tusmada, soo saara shay toosan oo JSON ah.
- Ku dhawaaq jidka labaad, kaas oo siinaya shay JSON oo toosan oo wata fariin la habeeyey. Halbeegga magaca waxaa toos looga soo qaatay URL (tusaale, https://127.0.0.1:8000/Jay).
- Isticmaal Uvicorn si aad u socodsiiso API.
Hirgelinta shantan marxaladood waxa lagu muujiyey qaybta soo socota ee koodka ie. abuurista API fudud
Dhammaan waa la sameeyay! Aynu isla markiiba bilawno API-gayada. Fur daaqadda Terminal-ka ee ku xigta faylka ml model.py si tan loo fuliyo. Marka xigta, geli kuwa soo socda:
Furaha Gelida. Kahor intaanan u dhaqaaqin, aan beeninno sheegashadan. App-ka ugu horreeya wuxuu adeegsadaa magaca faylka Python oo keliya, iyada oo aan la kordhin. Abka labaad waa inuu lahaadaa magac la mid ah tusaalahaaga FastAPI.
Adigoo isticmaalaya -reload, waxaad u sheegaysaa API in aad rabto in ay si toos ah dib u soo dejiso marka aad kaydiso faylka halkii aad ka bilaabi lahayd xoq.
Hadda fur browserka oo u gudub https://127.0.0.1:8000; natiijadu waa inay u muuqataa sida soo socota:
Hadda waxaad fahantay sida loo abuuro API fudud adoo isticmaalaya FastAPI.
Dhisida iyo tababbarka qaabka Barashada Mashiinka
Anagoon ururin ama falanqaynin wax xog ah, waxaanu kaliya tababari doonaa nooc fudud. Kuwani kuma xidhna dejinta moodooyinka mana aha kuwo lama huraan u ah mawduuca gacanta lagu hayo.
Qaab ku salaysan xogta Iris ayaa lagu rakibi karaa iyadoo la mid ah shabakada neuralada habka rakibidda.
Anaguna sidaas ayaan samayn doonaa: soo dejiso Iris dataset oo tababar qaabka. Taasi ma fududaan doonto. Si aad u bilowdo, samee fayl lagu magacaabo jaysmlmodel.py.
Halkaas, waxaad ku samayn doontaa waxyaabaha soo socda:
- Soo dejinta - Waxaad u baahan doontaa pandas, scikit-RandomForecastClassifier, baro Pydantic's BaseModel (waxaad ogaan doontaa sababta tallaabada soo socota), iyo joblib ee kaydinta iyo rarista moodooyinka.
- Ku dhawaaq fasalka IrisSpecies ee ka dhaxla qaabka aasaasiga ah. Fasalkani waxa uu ka kooban yahay kaliya beero loo baahan yahay si loo saadaaliyo hal nooc oo ubax ah (wax badan oo ku saabsan qaybta xigta)
- Abuur fasal IrisModel waa tababbarka moodeelka iyo qalabka saadaalinta.
- Ku dhawaaq habka lagu magacaabo _ model tareenka gudaha IrisModel. Waxaa loo isticmaalaa in lagu tababaro moodooyinka iyadoo la adeegsanayo farsamada Random Forests. Qaabka la tababaray waxaa lagu soo celiyaa habraaca.
- Ku dhawaaq noocyada la saadaaliyay inay ka shaqeeyaan gudaha IrisModel. Waxaa loo adeegsadaa in lagu saadaaliyo iyadoo lagu salaynayo 4 arrimood oo wax gelin ah (cabbirka ubaxa). Saadaasha (nooca ubaxa) iyo ixtimaalka saadaasha labadaba waxaa soo celiyay algorithm.
- Beddel dhisaha IrisModel si ay ugu shubto xogta Iris oo ay u tababarto qaabka haddii uu ka maqan yahay galka. Tani waxay xallisaa dhibaatada soo noqnoqda ee tababarka moodooyinka cusub. Maktabadda joblib waxa loo isticmaalaa rarista iyo kaydinta moodeelka.
Waa kan koodka oo dhan:
Waxaan rajeynayaa in liiska sare iyo faallooyinka ay fududeeyeen in la fahmo inkasta oo tani ay ahayd tiro kood ah oo la abuurayo. Hadda oo moodelkan la sameeyay, aynu daabacno awoodeeda saadaalinta a nasasho API.
Dhisidda REST API oo buuxda
Ku soo celi faylka ml_model.py oo nadiifi dhammaan xogta Kuleyliyaha wuxuu la mid noqonayaa kii hore, laakiin waa inaan ku bilownaa fayl maran.
Waxaad qeexi doontaa hal dhibic oo kaliya markan, kaas oo ah midka loo isticmaalo in lagu go'aamiyo nooca ubaxa. Noocyada IrisModel.predict (), kaas oo lagu dhawaaqay qaybta hore, waxaa loogu yeeraa dhammaadkan si loo fuliyo saadaasha.
Nooca codsigu waa isbeddelka kale ee weyn. Si loo gudbiyo xuduudaha JSON halkii URL, waxaa lagugula talinayaa inaad isticmaasho POST markaad isticmaalayso barashada mashiinka APIs.
Jumlada sare waxa laga yaabaa inay u ekayd gibberish haddii aad tahay a cilmi saynisyahano, laakiin taasi waa caadi. Si loo naqshadeeyo oo loo geeyo moodooyinka, qofku qasab uma baahna inuu khabiir ku noqdo codsiyada HTTP iyo REST APIs.
Hawlaha ml model.py waa kuwo yar oo toos ah:
- Waa inaad ka soo dejisaa kuwan soo socda faylka jaymlmodel.py hore loo abuuray: uvicorn, FastAPI, IrisModel, iyo IrisSpecies.
- Samee tusaaleyaal FastAPI iyo IrisModel.
- Ku dhawaaq hawl https://127.0.0.1:8000/ saadaal si aad u saadaaliso.
- Habka IrisModel.predict () waxa uu helayaa shay nooca IrisSpecies, u beddelaa qaamuus, ka dibna soo celiyaa. Soo noqoshada waa fasalka la filayo iyo ixtimaalka la saadaaliyay.
- Isticmaal uvicorn si aad ufuliso API.
Haddana mar labaad, waa kan koodka faylka oo dhan iyo faallooyinkiisa:
Taasi waa waxa kaliya ee aad u baahan tahay inaad sameyso. Tallaabada xigta, aan tijaabinno API-ga.
Tijaabinta API-ga
Dib u geli xariiqda soo socota Terminalka si aad ufuliso API: uvicorn ml_model:app -reload
Sidan waa sida bogga dukumeentigu u muuqdo:
Markaa taasi waa maanta. Qaybta intaas ka dib, aan ku soo gabagabeyno.
Ugu Dambeyn
Maanta, waxaad baratay waxa FastAPI yahay iyo sida loo isticmaalo, adoo isticmaalaya tusaale API fudud iyo tusaale barashada mashiinka fudud. Waxa kale oo aad baratay sida loo abuuro oo loo arko dukumeenti API, iyo sidoo kale sida loo tijaabiyo.
Taasi waa wax badan hal gabal, markaa ha la yaabin haddii ay qaadato dhawr akhrin si ay si habboon u fahmaan.
Codayn farxad leh.
Leave a Reply