Ръководство стъпка по стъпка за това как да настроите своя API с помощта на FastAPI Python за внедряване на модел за машинно обучение за корекция на правописа.

До края на този урок ще можете да разработите API, за да изложите вашия модел на машинно обучение чрез API, използвайки Python и добре познатата API библиотека на Python: „FastAPI“. Моделът за машинно обучение, който ще използваме, е предварително обучен модел за корекция на правописа, наречен TextBlob.

TextBlob е библиотека на Python (2 и 3) за обработка на текстови данни. Той предоставя прост API за гмуркане в общи задачи за обработка на естествен език (NLP), като маркиране на част от речта, извличане на съществителни фрази, анализ на настроението, класификация, превод и др. [https://textblob.readthedocs.io/en/dev/]

Имайте предвид, че няма да навлизам в подробности относно модела и как работи, но ще се съсредоточим върху техническите подробности за излагането на модел с API.

Предполагам, че знаете как работи API и как да настроите API с FastAPI и Python. ако не, моля, проверете следния ми урок:



Готов да тръгвам? тогава да започваме!

Преди да започнем, моля, натиснете бутона „следвай“, за да бъдете уведомявани всеки път, когато бъде публикуван нов урок!

Можете да подкрепите други автори и мен в Medium, като станете член:



Стъпки за разработване на вашия API за машинно обучение с Python FastAPI

Да предположим, че вече сте работили върху фантастичен модел за машинно обучение или имате предварително обучен модел и искате да го използвате като услуга, така че как да го внедрите като услуга, така че вие ​​и другите да имате достъп до вашия модел и да го използвате като „услуга“, без да се налага да изтегляте кода си и да го изпълнявате в бележник, как да дадете достъп на потребители по целия свят до вашия страхотен ML модел?

Отговорът: може да бъде чрез уеб API! Чакай малко, но аз не съм уеб разработчик (не знам nodeJs или javascript…), аз съм разработчик на Python!

Е, това е ОК, в този урок ще научите как да разработите своя ML API с Python с помощта на FastAPI.

Подгответе своя модел: Предполагам, че вече имате подготвен вашия модел (обучен, всички параметри са наред...). В този урок ще използваме предварително обучен модел от библиотеката TextBlob. Ние ще дадем на модела английска фраза или параграф, след което моделът ще открие правописни грешки, ще ги коригира и ще ни върне правилния текст. Готино, нали?!

Стъпки за настройка на вашия API за модел на машинно обучение:

  • Импортирайте всички необходими библиотеки
  • Заредете вашия модел във вашия Python код и го тествайте
  • Подгответе своя API и го изпробвайте.
  • Интегрирайте вашия модел за машинно обучение към вашия API.
  • Тествайте своя API

Искате ли да разработите своя API за коригиране на правописа на текст за машинно обучение с Python FastAPI? Време за кодиране!

1. Импортирайте всички необходими библиотеки

В този урок ще използваме:

  • “fastapi” пакет: от който ще импортираме модулите “Request” и “FastAPI”.
  • Пакет “textblob”: от който ще импортираме модула TextBlob

Сега, за да сте сигурни, че имате всички необходими пакети за стартиране на вашия модел, трябва да инсталирате TextBlob и всички негови изисквания, като изпълните следната команда:

install textBlob : pip install textblob

след това импортирайте всички пакети:

#Import section
from fastapi import Request,FastAPI
from textblob import TextBlob

2. Заредете вашия модел във вашия Python код

Сега ще се опитаме да използваме нашия TextBlob в нашия Python код:

text = "it is a gooood daye"
print("Initial text : ",text)
print("Correct text : ",TextBlob(text).correct())

Обърнете внимание, че създаваме TextBlob обект на текста, който искаме да коригираме, след което извикваме метода „correct()“, за да върнем обратно коригирания текст. Когато стартирате горния код, ще получите:

Initial text :  it is a gooood daye
Correct text :  it is a good day

Страхотно, нали?!

3. Настройте своя API с Python FastAPI

Първо, трябва да създадете своя API:

app = FastAPI()

Сега дефинирайте пътя, който вашите потребители ще използват, за да ви изпратят заявка (в този случай потребителят ще изпрати текст и сървърът ще върне коригирания текст). Засега просто ще върна текста, за да се уверя, че всичко работи добре:

@app.post("/textCorrector/")
async def get_body(request: Request):
  req = await request.json()
  result = {'correctedText' : req['text']}
  return result

Тук сме настроили метод POST, за да получим потребителската заявка през пътя „/textCorrector/“. След това получаваме текста от заявката и в резултат връщаме същия текст: {‘correctedText’ : req[‘text’]} (само за да проверим дали всичко е наред с нашия API)

Сега стартирайте своя API с:

uvicorn server:app --reload

Имайте предвид, че моят python файл се казва „server.py“, така или иначе, ако не знаете как да стартирате FastAPI, проверете този урок: link

Моят сървър работи в localhost (http://127.0.0.1:8000/) и пътят на моя API е „/textCorrector/“. Нека го тестваме:

Съвет: можем да видим документацията за API на Swagger, генерирана автоматично под пътя „docs/“:

http://127.0.0.1:8000/docs

ще получите това:

След това можем да използваме Postman, за да изпробваме API:

Страхотно! нашият API работи! нека интегрираме TextBlob.

4. Интегрирайте вашия модел за машинно обучение TextBlob на коректора на правописа към вашия Python FastAPI

Сега това е най-страхотната част от урока, тъй като ще интегрирате своя модел за машинно обучение за корекция на правописа, базиран на TextBlob, във вашия Python FastAPI.

Тъй като всичко вече е подготвено в първите стъпки, ще бъде наистина просто:

#Set up your API and integrate your ML model
@app.post("/textCorrector/")
async def get_body(request: Request):
   req = await request.json()
   result = {'correctedText' : TextBlob(req['text']).correct().raw}
   return result

За да го тестваме, трябва да изпратим текста за коригиране на API и ние ще получим правилния тест като отговор, нека го тестваме с Postman:

Страхотно! работи!

Пълният код

Заключение

В края на този урок вие научихте как да настроите API на модела за машинно обучение за коригиране на правописа, като използвате TextBlob и Python FastAPI, като следвате тези стъпки:

  • Импортирайте всички необходими библиотеки
  • Заредете вашия модел във вашия Python код и го тествайте
  • Подгответе своя API и го тествайте.
  • Интегрирайте вашия модел за машинно обучение към вашия API.
  • Тествайте своя API

Сега вие сте експертът :) опитайте да промените модела и погледнете документацията, за да можете да правите много прекрасни неща!

Уведомете ме, ако искате урок за това как да разположите своя API в истински облак (оставете ми коментар!).

Надяваме се, че е било полезно! Вижте всички мои уроци тук.

Моля, не забравяйте да натиснете бутона „последвайте“.

Можете да подкрепите мен и други автори, като се присъедините към общността Medium, последвайте връзката:



Повече съдържание в PlainEnglish.io. Регистрирайте се за нашия безплатен седмичен бюлетин. Следвайте ни в Twitter, LinkedIn, YouTube и Discord . Интересувате ли се от Growth Hacking? Вижте Circuit.