Ny lafiny iray amin'ny scenario dia ny famoronana modely fianarana milina. Tsy maintsy azo ampiasaina amin'ny tontolo tena izy ary azon'ny mpanjifa sy ny mpamorona.
Ny fomba tsotra sy malaza indrindra amin'ny fametrahana maodely fianarana milina dia ny mampiditra azy ireo ao anaty REST API.
Miaraka amin'ny tranomboky malaza antsoina hoe FastAPI, izany indrindra no ho vitantsika anio.
Fa, inona FastAPI?
Ny rafitra tranokala FastAPI Python dia noforonina hatrany am-boalohany mba hanararaotra ny fahaiza-manao Python ankehitriny.
Ho an'ny fifandraisana asynchronous, miaraka amin'ny mpanjifa, dia manaraka ny fenitra ASGI izy io, ary afaka mampiasa WSGI ihany koa.
Ny teboka farany sy ny lalana dia samy afaka mampiasa asa async. Fanampin'izany, ny FastAPI dia mamela ny famoronana mamokatra fampiharana amin'ny tranonkala amin'ny kaody Python voamarika, madio ary ankehitriny.
Ny tranga fampiasa lehibe an'ny FastAPI dia, araka ny soso-kevitry ny anarana, ny famoronana teboka API.
Ny fampiasana ny fenitra OpenAPI, izay misy ny Swagger UI interactive, na ny fanomezana angon-drakitra rakibolana Python toy ny JSON dia fomba tsotra hanatrarana izany. Na izany aza, ny FastAPI dia tsy natao ho an'ny API ihany.
Azo ampiasaina hanolorana pejin-tranonkala mahazatra amin'ny alàlan'ny motera môdely Jinja2 izy io ary hanompoany fampiharana mampiasa WebSockets, ankoatra ny zavatra hafa rehetra azon'ny rafi-tranonkala iray atao.
Ato amin'ity lahatsoratra ity, dia hamolavola maodely fianarana milina mahitsy isika ary avy eo dia hampiasa ny FastAPI hametrahana azy. Andeha isika hanomboka.
Fametrahana ny FastAPI sy famoronana ny API voalohany
Ilaina aloha ny fametrahana ny tranomboky sy ny mpizara ASGI; na Uvuicorn na Hypercorn dia hiasa. Izy io dia miasa amin'ny fampidirana ity baiko manaraka ity ao amin'ny Terminal:
Ankehitriny rehefa noforonina ny API dia azonao atao ny mampiasa ny tonian-dahatsoratra tianao indrindra ary mijery azy. Mamorona script Python antsoina hoe ml_model.py hanombohana. Azoko atao ny manome anarana hafa ny anaranao, fa noho ity lahatsoratra ity dia hiantso ity rakitra ity ho ml_model.py aho.
Mba hamoronana API mahitsy misy teboka roa dia tsy maintsy mamita ireto asa manaraka ireto ianao:
- Ampidiro ny tranomboky FastAPI sy Uvicorn.
- Manangana ohatra kilasy FastAPI.
- Ambarao ny lalana voalohany, izay, eo amin'ny pejy fanondroana, dia mamokatra zavatra JSON mahitsy.
- Ambarao ny lalana faharoa, izay manome zavatra JSON mahitsy miaraka amin'ny hafatra namboarina. Ny mari-pamantarana anarana dia nalaina mivantana avy amin'ny URL (ohatra, https://127.0.0.1:8000/Jay).
- Ampiasao ny Uvicorn hampandehanana ny API.
Ny fampiharana ireo dingana dimy ireo dia aseho amin'ity fehezan-dalàna manaraka ity. mamorona API tsotra
Vita daholo! Andao hanomboka avy hatrany ny API. Sokafy ny varavarankely Terminal eo akaikin'ny fisie ml model.py hanatanterahana izany. Manaraka, ampidiro ireto manaraka ireto:
ny Enter key. Alohan'ny handrosoana, andeha hojerentsika ity fanambarana ity. Ny fampiharana voalohany dia mampiasa ny anaran'ny rakitra Python irery, tsy misy ny fanitarana. Ny fampiharana faharoa dia tsy maintsy manana anarana mitovy amin'ny ohatra FastAPI anao.
Amin'ny alàlan'ny fampiasana -reload dia milaza amin'ny API ianao fa tianao hamerenana azy ho azy rehefa mitahiry ilay rakitra ianao fa tsy manomboka amin'ny scratch.
Manomboha navigateur izao ary mandehana mankany amin'ny https://127.0.0.1:8000; ny vokatra dia tokony hiseho toy izao manaraka izao:
Azonao izao ny fomba hamoronana API tsotra amin'ny fampiasana FastAPI.
Manorina sy manofana ny maodely Machine Learning
Raha tsy misy fanangonana na famakafakana angon-drakitra, dia hampiofana modely tsotra fotsiny izahay. Tsy misy ifandraisany amin'ny fametrahana modely ireo ary tsy ilaina amin'ny lohahevitra resahina.
Modely mifototra amin'ny angon-drakitra Iris dia azo apetraka amin'ny fampiasana mitovy ny tambazotran'ny fahasalamana fomba fametrahana.
Ary hanao izany izahay: misintona ny Takelaka data Iris ary mampiofana ny modely. Tsy ho tsotra izany. Hanombohana, manaova rakitra antsoina hoe jaysmlmodel.py.
Ao anatin'izany dia hanao izao manaraka izao ianao:
- Fanafarana - Mila pandas ianao, scikit-RandomForecastClassifier, mianatra ny BaseModel an'ny pydantic (ho hitanao ny antony amin'ity dingana manaraka ity), ary joblib amin'ny fitahirizana sy fametahana modely.
- Manambara kilasy IrisSpecies izay mandova amin'ny maodely fototra. Ity kilasy ity dia tsy misy afa-tsy saha ilaina haminavina karazana voninkazo iray (mihoatra ny amin'izany amin'ny fizarana manaraka)
- Mamorona kilasy. IrisModel dia fitaovana fanofanana modely sy faminaniana.
- Manambara fomba iray antsoina hoe _train model ao anatin'ny IrisModel. Izy io dia ampiasaina hanofana modely amin'ny alàlan'ny teknika Random Forests. Ny modely voaofana dia averina amin'ny alàlan'ny fomba fiasa.
- Ambarao ny fiasan'ny karazana vinavinaina ao anatin'ny IrisModel. Ampiasaina amin'ny vinavina mifototra amin'ny anton-javatra fampidirana 4 (fandrefesana voninkazo). Na ny vinavina (karazana voninkazo) na ny mety ho vinavina dia averin'ny algorithm.
- Ovay ny mpanamboatra ao amin'ny IrisModel mba hampiditra ny angona Iris ary hampiofana ny modely raha tsy ao amin'ny lahatahiry. Izany dia mamaha ny olan'ny fanofanana imbetsaka ireo modely vaovao. Ny tranomboky joblib dia ampiasaina amin'ny fametahana sy fitahirizana modely.
Ity ny code iray manontolo:
Manantena aho fa ny lisitra etsy ambony sy ny fanehoan-kevitra dia nanamora ny fahazoana azy na dia betsaka aza ny kaody noforonina. Ankehitriny rehefa novolavolaina ity modely ity, andao hamoaka ny fahaizany maminany amin'ny a HAFA API.
Manangana API REST feno
Miverena amin'ny rakitra ml_model.py ary diovy ny angona rehetra. Ny boilerplate dia hitovy amin'ny nanananao teo aloha, saingy tokony hanomboka amin'ny rakitra tsy misy dikany isika.
Faritra iray ihany no hofaritanao amin'ity indray mitoraka ity, izay ampiasaina hamantarana ny karazana voninkazo. IrisModel.predict species(), izay nambara tao amin'ny fizarana teo aloha, dia antsoina amin'ity teboka farany ity mba hanatanterahana ny faminaniana.
Ny karazana fangatahana dia ny fiovana lehibe hafa. Mba handefasana masontsivana ao amin'ny JSON fa tsy URL, dia asaina mampiasa POST ianao rehefa mampiasa fianarana milina API.
Ny fehezanteny etsy ambony dia mety ho toy ny fitenenan-dratsy raha toa ianao ka a mpahay siansa data, fa tsy maninona. Mba hamolavolana sy hametrahana modely, tsy voatery ho manam-pahaizana manokana amin'ny fangatahana HTTP sy REST API ny olona iray.
Vitsy sy tsotra ny asa ho an'ny ml model.py:
- Tsy maintsy manafatra ireto manaraka ireto avy amin'ny fisie jaymlmodel.py noforonina teo aloha ianao: uvicorn, FastAPI, IrisModel, ary IrisSpecies.
- Mamorona ohatra amin'ny FastAPI sy IrisModel.
- Manambara asa ao amin'ny https://127.0.0.1:8000/predict hanaovana faminaniana.
- Ny fomba IrisModel.predict species() dia mandray karazana IrisSpecies, manova azy ho rakibolana, ary mamerina azy avy eo. Ny fiverenana dia ny kilasy andrasana sy ny mety hitranga.
- Ampiasao ny uvicorn hanatanteraka ny API.
Averina indray, ity ny kaody iray manontolo miaraka amin'ny fanehoan-keviny:
Izay ihany no tokony hataonao. Amin'ny dingana manaraka, andao hizaha toetra ny API.
Fitsapana ny API
Ampidiro indray ao amin'ny Terminal ity andalana manaraka ity mba hanatanterahana ny API: uvicorn ml_model: app –reload
Toy izao ny fisehoan'ny pejin'ny antontan-taratasy:
Dia izay ihany ny anio. Amin'ny ampahany aorian'ity dia andao hamarana.
Famaranana
Androany, nianatra ny atao hoe FastAPI sy ny fomba fampiasana azy ianao, amin'ny fampiasana ohatra API tsotra sy ohatra fianarana milina tsotra. Nianatra ny fomba hamoronana sy hijerena ny antontan-taratasy API ianao, ary koa ny fomba fitsapana azy.
Be dia be izany ho an'ny ampahany tokana, koa aza gaga ianao raha mila vakiteny vitsivitsy vao mahazo tsara.
Faly coding.
Leave a Reply