د سناریو یو اړخ د ماشین زده کړې ماډل رامینځته کول دي. دا باید په ریښتینې نړۍ کې د کارولو وړ وي او د مصرف کونکو او پراختیا کونکو لپاره شتون ولري.
د ماشین زده کړې ماډلونو ځای په ځای کولو ترټولو ساده او خورا مشهوره لاره د REST API کې تړل دي.
د FastAPI په نوم د مشهور کتابتون سره، دا هغه څه دي چې موږ به یې نن ترسره کړو.
مګر، څه شی دی FastAPI?
د FastAPI Python ویب چوکاټ له ځمکې څخه رامینځته شوی ترڅو د معاصر Python وړتیاو څخه ګټه پورته کړي.
د پیرودونکو سره د غیر متمرکز اړیکو لپاره، دا د ASGI معیار سره سمون لري، پداسې حال کې چې دا د WSGI کارولو وړتیا هم لري.
پای ټکي او لارې دواړه کولی شي د async دندې ګماري. برسېره پردې، FastAPI د ویب ایپسونو تولیدي جوړونه د ډول - اشاره شوي، پاک، معاصر Python کوډ کې وړوي.
د FastAPI اصلي کارونې قضیه ده، لکه څنګه چې نوم وړاندیز کوي، د API پای ټکي رامینځته کوي.
د OpenAPI معیاري کارول، کوم چې یو متقابل سویګر UI لري، یا د JSON په توګه د Python لغت ډیټا چمتو کول دواړه د دې ترلاسه کولو لپاره ساده لارې دي. په هرصورت، FastAPI نه یوازې د APIs لپاره دی.
دا د Jinja2 ټیمپلیټ انجن په کارولو سره د معیاري ویب پا pagesو وړاندیز کولو لپاره کارول کیدی شي او د ویب ساکټ په کارولو ایپسونو ته خدمت کولو لپاره ، سربیره پردې هرڅه نور ویب چوکاټ کولی شي.
پدې مقاله کې، موږ به د مستقیم ماشین زده کړې ماډل رامینځته کړو او بیا به یې د ځای په ځای کولو لپاره FastAPI وکاروو. راځئ چې پیل وکړو.
د FastAPI نصب او د لومړي API رامینځته کول
د کتابتون نصبول او د ASGI سرور لومړی اړتیا ده؛ یا Uvuicorn یا Hypercorn به کار وکړي. دا ټرمینل ته د لاندې کمانډ دننه کولو سره کار کوي:
اوس چې API رامینځته شوی ، تاسو کولی شئ خپل غوره کوډ ایډیټر وکاروئ او د هغې له لارې لټون وکړئ. د پیل کولو لپاره د ml_model.py په نوم د Python سکریپټ جوړ کړئ. تاسو ته ښه راغلاست ویل کیږي چې خپل بل نوم ورکړئ، مګر د دې پوسټ لپاره، زه به دا فایل د ml_model.py په توګه راجع کړم.
د دوه پای نقطو سره د مستقیم API رامینځته کولو لپاره ، تاسو باید لاندې دندې بشپړ کړئ:
- د FastAPI او Uvicorn کتابتونونه وارد کړئ.
- د FastAPI ټولګي مثال تنظیم کړئ.
- لومړی لاره اعلان کړئ، کوم چې د شاخص په پاڼه کې، یو مستقیم JSON اعتراض تولیدوي.
- دوهمه لاره اعلان کړئ، کوم چې د دودیز پیغام سره مستقیم JSON څیز چمتو کوي. د نوم پیرامیټر مستقیم د URL څخه اخیستل شوی (د مثال په توګه، https://127.0.0.1:8000/Jay).
- د API چلولو لپاره Uvicorn وکاروئ.
د دې پنځو مرحلو پلي کول په لاندې بټ کوډ کې ښودل شوي لکه. یو ساده API رامینځته کول
ټول شوي! راځئ چې سمدلاسه زموږ API پیل کړو. د دې سرته رسولو لپاره د ml model.py فایل تر څنګ د ټرمینل کړکۍ خلاص کړئ. بیا، لاندې داخل کړئ:
د ننوتلو کیلي. مخکې له دې چې حرکت وکړو، راځئ چې دا ادعا رد کړو. لومړی اپلیکیشن یوازې د پایتون فایل نوم کاروي ، پرته له تمدید څخه. دوهم ایپ باید ستاسو د FastAPI مثال په څیر ورته نوم ولري.
د -reload په کارولو سره، تاسو API ته ووایاست چې تاسو غواړئ دا په اوتومات ډول بیا لوډ کړئ کله چې تاسو د سکریچ څخه پیل کولو پرځای فایل خوندي کړئ.
اوس یو براوزر پیل کړئ او https://127.0.0.1:8000 ته لاړ شئ؛ پایله باید په لاندې ډول ښکاره شي:
تاسو اوس پوهیږئ چې څنګه د FastAPI په کارولو سره ساده API رامینځته کړئ.
د ماشین زده کړې ماډل جوړول او روزنه
د هیڅ ډول معلوماتو راټولولو یا تحلیل کولو پرته، موږ به یوازې یو ساده ماډل وروزو. دا د ماډلونو له پلي کولو سره تړاو نلري او په لاس کې د موضوع لپاره اړین ندي.
د آیرس ډیټاسیټ پراساس ماډل د ورته کارولو سره نصب کیدی شي نوریال شبکه د نصبولو طریقه.
او موږ به یوازې دا وکړو: ډاونلوډ کړئ د ایرس ډیټاسیټ او ماډل روزل. دا به ساده نه وي. د پیل کولو لپاره، د jaysmlmodel.py په نوم فایل جوړ کړئ.
په دې کې، تاسو به لاندې کارونه وکړئ:
- واردات - تاسو به پانډا ته اړتیا ولرئ، سکیټ - رینډمفورکاسټ کلاسیفیر، د پیډانټیک بیس ماډل زده کړئ (تاسو به په لاندې مرحله کې ومومئ چې ولې)، او د ماډلونو ذخیره کولو او بارولو لپاره جاب لیب.
- د IrisSpecies ټولګي اعلان کړئ چې د بیس ماډل څخه میراث لري. دا ټولګي یوازې هغه ساحې لري چې د یو ګل ډولونو وړاندوینې لپاره اړین دي (په دې اړه نور په راتلونکي برخه کې)
- یو ټولګی جوړ کړئ. IrisModel د ماډل روزنې او وړاندوینې وسیله ده.
- د IrisModel دننه د _train ماډل په نوم میتود اعلان کړئ. دا د تصادفي ځنګلونو تخنیک په کارولو سره د ماډلونو روزنې لپاره کارول کیږي. روزل شوی ماډل د پروسیجر لخوا بیرته راستانه شوی.
- د IrisModel دننه د وړاندوینې شوي نوع فعالیت اعلان کړئ. دا د 4 ان پټ فکتورونو (د ګل اندازه کولو) پر بنسټ د وړاندوینې لپاره کارول کیږي. دواړه وړاندوینه (د ګل ډولونه) او د وړاندوینې احتمال د الګوریتم لخوا بیرته راستانه شوي.
- جوړونکی په IrisModel کې بدل کړئ ترڅو دا د Iris ډیټاسیټ بار کړي او ماډل روزي که چیرې دا له فولډر څخه ورک وي. دا په مکرر ډول د نوي ماډلونو روزنې ستونزه حل کوي. جابلیب کتابتون د ماډل بارولو او خوندي کولو لپاره کارول کیږي.
دلته ټول کوډ دی:
زه امید لرم چې پورتني لیست او نظرونه د دې پیژندل اسانه کړي که څه هم دا د رامینځته کولو لپاره د پام وړ کوډ و. اوس چې دا ماډل رامینځته شوی ، راځئ چې د دې وړاندوینې وړتیاوې په a باندې خپاره کړو REST API.
د بشپړ REST API جوړول
ml_model.py فایل ته ورشئ او ټول معلومات پاک کړئ. بویلر پلیټ به په اصل کې د هغه څه په څیر وي چې تاسو مخکې درلود، مګر موږ باید د خالي فایل سره پیل وکړو.
تاسو به دا ځل یوازې یو پای ټکی تعریف کړئ، کوم چې د ګل ډول ټاکلو لپاره کارول کیږي. IrisModel.predict species(، چې په مخکینۍ برخه کې اعلان شوی و، د دې پای ټکی لخوا د وړاندوینې ترسره کولو لپاره ویل کیږي.
د غوښتنې ډول بل لوی بدلون دی. د URL په ځای په JSON کې د پیرامیټونو لیږدولو لپاره، دا سپارښتنه کیږي چې تاسو د کارولو په وخت کې POST وکاروئ ماشین زده کړه APIs.
پورتنۍ جمله ممکن د ګیبربش په څیر غږ شوې وي که تاسو یو یاست د ډیټا ساینس پوهخو دا سمه ده. د ماډلونو ډیزاین او پلي کولو لپاره، یو څوک د HTTP غوښتنو او REST APIs کې متخصص ته اړتیا نلري.
د ml model.py دندې لږ او مستقیم دي:
- تاسو باید لاندې له مخکې جوړ شوي jaymlmodel.py فایل څخه وارد کړئ: uvicorn، FastAPI، IrisModel، او IrisSpecies.
- د FastAPI او IrisModel مثالونه جوړ کړئ.
- د وړاندوینې کولو لپاره په https://127.0.0.1:8000/predict کې یو فعالیت اعلان کړئ.
- د IrisModel.predict species() طریقه د IrisSpecies ډوله څیز ترلاسه کوي، په لغت کې یې بدلوي، او بیا یې بیرته راګرځوي. راستنیدنه د متوقع ټولګي او وړاندوینه شوي احتمال دي.
- د API اجرا کولو لپاره uvicorn وکاروئ.
بیا هم، دلته د ټول فایل کوډ د دې نظرونو سره یوځای دی:
دا ټول هغه څه دي چې تاسو یې کولو ته اړتیا لرئ. په بل ګام کې، راځئ چې د API ازموینه وکړو.
د API ازموینه
د API اجرا کولو لپاره لاندې کرښه ټرمینل ته بیا دننه کړئ: uvicorn ml_model:app –reload
دا څنګه د اسنادو پاڼه ښکاري:
نو دا د نن ورځې لپاره دی. د دې وروسته برخه کې، راځئ چې پایله وکړو.
پایله
نن ورځ، تاسو زده کړل چې FastAPI څه شی دی او دا څنګه کارول کیږي، د ساده API مثال او د ماشین زده کړې ساده مثال په کارولو سره. تاسو دا هم زده کړل چې څنګه د API اسنادو جوړول او لیدل، او همدارنګه دا څنګه ازموینه کول.
دا د یوې برخې لپاره خورا ډیر دی، نو حیرانتیا مه کوئ که دا په سمه توګه د پوهیدو لپاره یو څو لوستلو ته اړتیا ولري.
خوشحاله کوډینګ.
یو ځواب ورکړئ ووځي