Пошаговое руководство по настройке вашего API с помощью FastAPI Python для развертывания модели машинного обучения для исправления правописания.

К концу этого руководства вы сможете разработать API для предоставления вашей модели машинного обучения через API с использованием Python и известной библиотеки Python API: «FastAPI». Модель машинного обучения, которую мы будем использовать, представляет собой предварительно обученную модель для исправления орфографии под названием TextBlob.

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

Обратите внимание, что я не буду подробно рассказывать о модели и о том, как она работает, однако мы сосредоточимся на технических деталях представления модели с помощью API.

Я предполагаю, что вы знаете, как работает API и как настроить API с помощью FastAPI и Python. если нет, пожалуйста, проверьте мой следующий учебник:



Готов идти? тогда приступим!

Прежде чем мы начнем, пожалуйста, нажмите кнопку «Подписаться», чтобы получать уведомления каждый раз, когда публикуется новый учебник!

Вы можете поддержать других авторов и меня на Medium, став участником:



Шаги по разработке вашего API машинного обучения с помощью Python FastAPI

Предположим, вы уже работали над фантастической моделью машинного обучения или у вас есть предварительно обученная модель, и вы хотите использовать ее как услугу, так как же развернуть ее как услугу, чтобы вы и другие могли получить доступ к вашей модели и использовать ее как «сервис» без необходимости загружать свой код и запускать его в ноутбуке, как предоставить доступ пользователям со всего мира к вашей потрясающей модели машинного обучения?

Ответ: можно через веб-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, посмотрите это руководство: ссылка

Мой сервер работает на локальном хосте (http://127.0.0.1:8000/), а путь к моему API — «/textCorrector/». Давайте проверим это:

Совет: мы можем увидеть документацию Swagger API, сгенерированную автоматически по пути «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 . Заинтересованы в хакинге роста? Ознакомьтесь с разделом Схема.