Пошаговое руководство по настройке вашего 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 . Заинтересованы в хакинге роста? Ознакомьтесь с разделом Схема.