Is e aon taobh den t-suidheachadh modal ionnsachaidh inneal a chruthachadh. Feumaidh e a bhith comasach a chleachdadh san fhìor shaoghal agus ri fhaighinn le luchd-cleachdaidh agus luchd-leasachaidh.
Is e an dòigh as sìmplidh agus as mòr-chòrdte modalan ionnsachaidh inneal a chleachdadh a bhith gan cuairteachadh ann an REST API.
Le leabharlann mòr-chòrdte ris an canar FastAPI, is e sin dìreach a choileanas sinn an-diugh.
Ach, dè tha FastAPI?
Chaidh frèam lìn FastAPI Python a chruthachadh bhon talamh suas gus brath a ghabhail air comasan Python co-aimsireil.
Airson conaltradh asyncronach, co-aontach le teachdaichean, bidh e a’ cumail ri inbhe ASGI, fhad ‘s a tha e comasach cuideachd WSGI a chleachdadh.
Faodaidh puingean crìochnachaidh agus slighean an dà chuid gnìomhan async a chleachdadh. A bharrachd air an sin, tha FastAPI a ’comasachadh cruthachadh cinneasach de dh’ aplacaidean lìn ann an còd Python le seòrsa, glan, co-aimsireil.
Is e prìomh chùis cleachdaidh FastAPI, mar a tha an t-ainm a’ moladh, a bhith a’ cruthachadh puingean crìochnachaidh API.
Tha cleachdadh inbhe OpenAPI, a tha a’ toirt a-steach Swagger UI eadar-ghnìomhach, no a’ toirt seachad dàta faclair Python mar JSON nan dòighean sìmplidh air seo a choileanadh. Ach, chan ann a-mhàin airson APIan a tha FastAPI.
Faodar a chleachdadh gus duilleagan lìn àbhaisteach a thabhann a’ cleachdadh einnsean teamplaid Jinja2 agus gus aplacaidean a fhrithealadh a’ cleachdadh WebSockets, a bharrachd air cha mhòr a h-uile càil eile as urrainn frèam lìn a dhèanamh.
San artaigil seo, leasaichidh sinn modal ionnsachaidh inneal sìmplidh agus an uairsin cleachdaidh sinn FastAPI airson a chleachdadh. Feuch an tòisich sinn.
Stàlaich FastAPI agus cruthachadh a’ chiad API
Tha feum air stàladh an leabharlainn agus frithealaiche ASGI an toiseach; obraichidh an dàrna cuid Uvuicorn no Hypercorn. Bidh e ag obair le bhith a’ dol a-steach don àithne a leanas a-steach don Terminal:
A-nis gu bheil an API air a chruthachadh, faodaidh tu an deasaiche còd as fheàrr leat a chleachdadh agus brobhsadh troimhe. Cruthaich sgriobt Python ris an canar ml_model.py airson tòiseachadh. Tha fàilte oirbh ainm eile a thoirt dhut, ach air sgàth na dreuchd seo, bheir mi iomradh air an fhaidhle seo mar ml_model.py.
Gus API sìmplidh a chruthachadh le dà phuing crìochnachaidh, feumaidh tu na gnìomhan a leanas a choileanadh:
- Cuir a-steach na leabharlannan FastAPI agus Uvicorn.
- Stèidhich eisimpleir clas FastAPI.
- Cuir an cèill a’ chiad slighe, a tha, air an duilleag clàr-amais, a’ toirt a-mach nì JSON dìreach.
- Cuir an cèill an dàrna slighe, a bheir seachad rud JSON dìreach le teachdaireachd àbhaisteach. Tha am paramadair ainm air a thoirt dìreach bhon URL (mar eisimpleir, https://127.0.0.1:8000/Jay).
- Cleachd Uvicorn gus an API a ruith.
Tha cur an gnìomh nan còig ìrean sin air a shealltainn anns a’ chòd a leanas ie. cruthachadh API sìmplidh
Uile dèanta! Nach cuir sinn an API againn air bhog sa bhad. Fosgail uinneag Terminal ri taobh an fhaidhle model.py ml gus seo a choileanadh. An ath rud, cuir a-steach na leanas:
an iuchair Enter. Mus gluais sinn air adhart, leig dhuinn an aithris seo a dhubhadh às. Bidh a’ chiad app a’ cleachdadh ainm faidhle Python leis fhèin, às aonais an leudachadh. Feumaidh an aon ainm a bhith aig an dàrna app ris an eisimpleir FastAPI agad.
Le bhith a’ cleachdadh -reload, bidh thu ag innse don API gu bheil thu airson gun ath-luchdaich e gu fèin-ghluasadach nuair a shàbhalas tu am faidhle seach a bhith a’ tòiseachadh bhon toiseach.
A-nis cuir air bhog brabhsair agus seòladh gu https://127.0.0.1:8000; bu chòir don toradh nochdadh mar a leanas:
Tha thu a-nis a’ tuigsinn mar a chruthaicheas tu API sìmplidh a’ cleachdadh FastAPI.
A’ togail agus a’ trèanadh a’ mhodail Ionnsachadh Inneal
Gun a bhith a 'tional no a' sgrùdadh dàta sam bith, bidh sinn dìreach a 'trèanadh modail sìmplidh. Chan eil iad sin co-cheangailte ri cleachdadh mhodailean agus chan eil iad riatanach don chuspair a tha ri làimh.
Faodar modal stèidhichte air an dàta Iris a chuir a-steach a’ cleachdadh an aon rud lìon neònach dòigh stàlaidh.
Agus nì sinn dìreach sin: luchdaich sìos am faidhle Stòr-dàta Iris agus trèanadh am modail. Cha bhi sin sìmplidh. Gus tòiseachadh, dèan faidhle leis an ainm jaysmlmodel.py.
Annta, nì thu na leanas:
- In-mhalairt - Bidh feum agad air pandathan, scikit-RandomForecastClassifier, ionnsachadh pydantic's BaseModel (gheibh thu a-mach carson anns a’ cheum a leanas), agus joblib airson modalan a stòradh agus a luchdachadh.
- Cuir an cèill clas IrisSpecies a tha a’ sealbhachadh bhon mhodail bhunaiteach. Chan eil anns a’ chlas seo ach raointean a dh’ fheumar gus aon ghnè fhlùraichean a ro-innse (barrachd air sin san ath earrann)
- Cruthaich clas. Tha IrisModel na inneal trèanaidh agus ro-innse modail.
- Dearbhaich modh air a bheil modail _train taobh a-staigh IrisModel. Tha e air a chleachdadh airson modalan a thrèanadh a’ cleachdadh an dòigh Random Forests. Tha am modail trèanaidh air a thilleadh leis a 'mhodh-obrachaidh.
- Cuir an cèill gnìomh gnè ris a bheil dùil taobh a-staigh IrisModel. Tha e air a chleachdadh airson ro-innse stèidhichte air 4 factaran cuir a-steach (tomhas fhlùraichean). Tha an dà chuid an ro-aithris (gnè flùraichean) agus an coltachd ro-innse air an tilleadh leis an algairim.
- Atharraich an constructor ann an IrisModel gus am bi e a’ luchdachadh an dàta Iris agus a ’trèanadh a’ mhodail ma tha e a dhìth bhon phasgan. Bidh seo a 'fuasgladh na duilgheadas a thaobh trèanadh mhodailean ùra a-rithist. Tha an leabharlann joblib air a chleachdadh airson luchdachadh mhodail agus sàbhaladh.
Seo an còd gu lèir:
Tha mi an dòchas gun do rinn an liosta gu h-àrd agus na beachdan e furasta a thuigsinn ged a b’ e ìre mhòr de chòd a bha seo ri chruthachadh. A-nis gu bheil am modail seo air a leasachadh, leig dhuinn na comasan ro-innse aige fhoillseachadh thairis air a CÒRR API.
A’ togail API REST slàn
Till dhan fhaidhle ml_model.py agus glanaidh an dàta gu lèir. Bidh an clàr-goileadair gu ìre mhòr co-ionann ris na bha agad roimhe, ach bu chòir dhuinn tòiseachadh le faidhle bàn.
Cha mhìnich thu ach aon phuing crìochnachaidh an turas seo, is e sin am fear a chleachdar gus an seòrsa flùr a dhearbhadh. Thathas ag iarraidh air IrisModel.predict gnè(), a chaidh ainmeachadh san earrann roimhe seo, leis a’ phuing crìochnachaidh seo gus an ro-innse a dhèanamh.
Is e an seòrsa iarrtas an atharrachadh mòr eile. Gus paramadairean a thar-chuir ann an JSON seach URL, thathas a’ moladh gun cleachd thu POST nuair a bhios tu a’ cleachdadh ionnsachadh innealan APIan.
Is dòcha gu robh an abairt gu h-àrd coltach ri gibberish ma tha thu a neach-saidheans dàta, ach tha sin ceart gu leòr. Gus modalan a dhealbhadh agus a chleachdadh, chan fheum duine a bhith na eòlaiche air iarrtasan HTTP agus APIan REST.
Tha na gnìomhan airson ml model.py beag agus sìmplidh:
- Feumaidh tu na leanas a thoirt a-steach bhon fhaidhle jaymlmodel.py a chaidh a chruthachadh roimhe seo: uvicorn, FastAPI, IrisModel, agus IrisSpecies.
- Cruthaich eisimpleirean de FastAPI agus IrisModel.
- Cuir an cèill gnìomh aig https://127.0.0.1:8000/predict gus ro-innse a dhèanamh.
- Bidh an dòigh IrisModel.predict species() a’ faighinn rud den t-seòrsa IrisSpecies, ga thionndadh gu faclair, agus an uairsin ga thilleadh. Is e toraidhean an clas ris a bheil dùil agus coltachd ris a bheil dùil.
- Cleachd uvicorn gus an API a chuir an gnìomh.
A-rithist, seo còd an fhaidhle gu lèir còmhla ris na beachdan aige:
Is e sin a h-uile càil a dh'fheumas tu a dhèanamh. Anns an ath cheum, leig dhuinn deuchainn a dhèanamh air an API.
A 'dèanamh deuchainn air an API
Cuir a-steach an loidhne a leanas a-steach don Terminal gus an API a chuir an gnìomh: uvicorn ml_model: app -reload
Seo mar a nochdas an duilleag sgrìobhainnean:
Mar sin sin e airson an-diugh. Anns a 'phàirt an dèidh seo, leig dhuinn a cho-dhùnadh.
Co-dhùnadh
An-diugh, dh’ ionnsaich thu dè a th’ ann am FastAPI agus mar a chleachdas tu e, a’ cleachdadh an dà chuid eisimpleir API sìmplidh agus eisimpleir ionnsachaidh inneal sìmplidh. Tha thu cuideachd air ionnsachadh mar a chruthaicheas agus a choimheadas tu sgrìobhainnean API, a bharrachd air mar a nì thu deuchainn air.
Tha sin tòrr airson aon phìos, mar sin na gabh iongnadh ma bheir e beagan leughaidhean airson a thuigsinn ceart.
Còdachadh sona.
Leave a Reply