Gné amháin den chás is ea samhail meaisínfhoghlama a chruthú. Caithfidh sé a bheith inúsáidte sa saol fíor agus ar fáil do thomhaltóirí agus d'fhorbróirí.
Is é an bealach is simplí agus is coitianta chun samhlacha meaisínfhoghlama a imscaradh ná iad a chur faoi iamh in API REST.
Le leabharlann móréilimh ar a dtugtar FastAPI, sin é go díreach a bhainfimid amach inniu.
Ach, cad é FastAPI?
Cruthaíodh creat gréasáin FastAPI Python ón talamh aníos chun leas a bhaint as cumais Python comhaimseartha.
Maidir le cumarsáid asincrónach, comhthráthach le cliaint, cloíonn sé le caighdeán ASGI, agus tá sé in ann WSGI a úsáid freisin.
Is féidir le críochphointí agus bealaí araon feidhmeanna asincréite a úsáid. Ina theannta sin, cuireann FastAPI ar chumas aipeanna gréasáin a chruthú go táirgiúil i gcód Python cineál-leide, glan agus comhaimseartha.
Is é príomhchás úsáide FastAPI, mar a thugann an t-ainm le fios, críochphointí API a chruthú.
Is bealaí simplí é seo a bhaint amach trí úsáid a bhaint as an gcaighdeán OpenAPI, lena n-áirítear UI idirghníomhach Swagger, nó ag soláthar sonraí foclóir Python mar JSON. Mar sin féin, ní le haghaidh APIanna amháin atá FastAPI.
Is féidir é a úsáid chun leathanaigh ghréasáin chaighdeánacha a thairiscint ag baint úsáide as inneall teimpléad Jinja2 agus chun freastal ar aipeanna ag baint úsáide as WebSockets, chomh maith le beagnach gach rud eile is féidir le creat gréasáin a dhéanamh.
San Airteagal seo, forbróimid múnla foghlama meaisín simplí agus ansin úsáidfimid FastAPI chun é a imscaradh. Tosaímid.
Suiteáil FastAPI agus cruthú an chéad API
Is gá an leabharlann agus freastalaí ASGI a shuiteáil ar dtús; oibreoidh ceachtar Uvuicorn nó Hypercorn. Oibríonn sé tríd an ordú seo a leanas a chur isteach sa Críochfort:
Anois go bhfuil an API cruthaithe, is féidir leat an t-eagarthóir cód is fearr leat a úsáid agus brabhsáil tríd. Cruthaigh script Python ar a dtugtar ml_model.py chun tús a chur leis. Tá fáilte romhat ainm eile a thabhairt duit, ach ar mhaithe leis an bpost seo, déanfaidh mé tagairt don chomhad seo mar ml_model.py.
Chun API simplí a chruthú le dhá chríochphointe, ní mór duit na tascanna seo a leanas a dhéanamh:
- Iompórtáil na leabharlanna FastAPI agus Uvicorn.
- Socraigh sampla ranga FastAPI.
- Mínigh an chéad bhealach, a tháirgeann réad JSON díreach ar an leathanach innéacs.
- Mínigh an dara bealach, a sholáthraíonn réad JSON simplí le teachtaireacht shaincheaptha. Tógtar an paraiméadar ainm díreach ón URL (mar shampla, https://127.0.0.1:8000/Jay).
- Bain úsáid as Uvicorn chun an API a rith.
Léirítear cur i bhfeidhm na gcúig chéim seo sa ghiotán cód seo a leanas .i. ag cruthú API simplí
Criochnaithe! Seolfaimid ár API láithreach. Oscail fuinneog Teirminéil in aice leis an gcomhad ml model.py chun é seo a dhéanamh. Ar aghaidh, cuir isteach an méid seo a leanas:
an eochair Iontráil. Sula mbogaimid ar aghaidh, déanaimis an dearbhú seo a scriosadh. Úsáideann an chéad app ainm comhaid Python amháin, gan an síneadh. Caithfidh an t-ainm céanna a bheith ar an dara aip agus atá ar do shampla FastAPI.
Trí úsáid a bhaint as -reload, insíonn tú don API gur mian leat é a athlódáil go huathoibríoch nuair a shábhálann tú an comhad seachas tosú ón tús.
Seol brabhsálaí anois agus déan nascleanúint chuig https://127.0.0.1:8000; ba cheart go mbeadh an toradh le feiceáil mar seo a leanas:
Tuigeann tú anois conas API simplí a chruthú ag baint úsáide as FastAPI.
Múnla Foghlama Meaisín a thógáil agus a oiliúint
Gan aon sonraí a bhailiú nó a anailísiú, ní dhéanfaimid ach múnla simplí a oiliúint. Níl baint acu sin le himscaradh na múnlaí agus níl siad riachtanach don ábhar atá i gceist.
Is féidir samhail bunaithe ar thacar sonraí Iris a shuiteáil ag baint úsáide as an gcéanna líonra neodrach modh suiteála.
Agus déanfaimid díreach é sin: íoslódáil an Bunachar sonraí Iris agus an múnla a oiliúint. Ní bheidh sé sin simplí. Chun tús a chur, déan comhad darb ainm jaysmlmodel.py.
Inti, déanfaidh tú an méid seo a leanas:
- Allmhairí — Beidh pandaí, scikit-RandomForecastClassifier, BaseModel foghlaim ag pydantic (gheobhaidh tú amach cén fáth sa chéim seo a leanas) ag teastáil uait, agus joblib chun samhlacha a stóráil agus a luchtú.
- Dearbhaigh aicme IrisSpecies a fhaigheann oidhreacht ón mbunsamhail. Níl sa aicme seo ach páirceanna a theastaíonn chun speiceas aon bhláth a thuar (tuilleadh air sin sa chéad chuid eile)
- Cruthaigh rang. Is uirlis oiliúna agus tuar eiseamláireach é IrisModel.
- Dearbhaigh modh darb ainm samhail _train laistigh de IrisModel. Úsáidtear é chun samhlacha a thraenáil trí úsáid a bhaint as teicníc Random Forests. Cuirtear an tsamhail oilte ar ais ag an nós imeachta.
- Feidhm speiceas tuartha a dhearbhú laistigh de IrisModel. Úsáidtear é chun réamhaisnéis a dhéanamh bunaithe ar 4 fhachtóir ionchuir (tomhais bláthanna). Tugann an t-algartam an réamhaisnéis (speicis bláthanna) agus an dóchúlacht tuar ar ais.
- Athraigh an cruthaitheoir in IrisModel ionas go lódálann sé an tacar sonraí Iris agus go dtraenáil sé an tsamhail má tá sé ar iarraidh ón bhfillteán. Réitíonn sé seo an fhadhb a bhaineann le samhlacha nua a oiliúint arís agus arís eile. Úsáidtear an leabharlann joblib chun samhlacha a luchtú agus a shábháil.
Seo an cód iomlán:
Tá súil agam go ndearna an liosta thuas agus na tuairimí go raibh sé éasca é a thuiscint cé go raibh sé seo méid suntasach cód le cruthú. Anois go bhfuil an tsamhail seo forbartha, déanaimis a chumais tuar a fhoilsiú thar a REST API.
API REST iomlán a thógáil
Fill ar an gcomhad ml_model.py agus glan na sonraí go léir. Beidh an pláta coire go bunúsach mar an gcéanna leis an gceann a bhí agat roimhe seo, ach ba cheart dúinn tosú arís le comhad bán.
Ní shaineoidh tú ach críochphointe amháin an uair seo, is é sin an ceann a úsáidtear chun an cineál bláthanna a chinneadh. IrisModel.predict species(), a dearbhaíodh sa chuid roimhe seo, a iarrtar ag an gcríochphointe seo chun an tuar a dhéanamh.
Is é an cineál iarratais an t-athrú mór eile. D'fhonn paraiméadair a tharchur i JSON seachas URL, moltar duit POST a úsáid agus tú ag úsáid foghlaim meaisín APIs.
Seans go raibh an abairt thuas cosúil le gibberish má tá tú a eolaí sonraí, ach tá sé sin ceart go leor. Chun samhlacha a dhearadh agus a imscaradh, ní gá go mbeadh duine ina shaineolaí ar iarratais HTTP agus REST APIs.
Is beag agus is simplí iad na tascanna do ml model.py:
- Ní mór duit an méid seo a leanas a allmhairiú ón gcomhad jaymlmodel.py a cruthaíodh roimhe seo: uvicorn, FastAPI, IrisModel, agus IrisSpecies.
- Cruthaigh samplaí de FastAPI agus IrisModel.
- Déan feidhm a dhearbhú ag https://127.0.0.1:8000/predict chun tuar a dhéanamh.
- Faigheann modh IrisModel.predictspecies() réad den chineál IrisSpecies, athraíonn sé go foclóir é, agus ansin filleann sé ar ais é. Is ionann tuairisceáin agus an rang a bhfuiltear ag súil leis agus an dóchúlacht a thuar.
- Bain úsáid as uvicorn chun an API a rith.
Arís eile, seo chugainn cód an chomhaid ar fad mar aon lena chuid tuairimí:
Is é sin go léir is gá duit a dhéanamh. Sa chéad chéim eile, déanaimis an API a thástáil.
An API á thástáil
Cuir an líne seo a leanas isteach sa Teirminéal arís chun an API a rith: uvicorn ml_model:app –reload
Seo mar a fheictear an leathanach doiciméadaithe:
Mar sin sin é don lá inniu. Sa chuid ina dhiaidh seo, a ligean ar a thabhairt i gcrích.
Conclúid
Inniu, d'fhoghlaim tú cad é FastAPI agus conas é a úsáid, ag baint úsáide as sampla API simplí agus sampla meaisínfhoghlama simplí. D'fhoghlaim tú freisin conas doiciméid API a chruthú agus féachaint orthu, chomh maith le conas é a thástáil.
Sin go leor le haghaidh píosa amháin, mar sin ná bíodh iontas ort má thógann sé cúpla léamh a thuiscint i gceart.
Códú sásta.
Leave a Reply