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

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

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

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



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

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

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



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

Предположим, что вы инженер по машинному обучению или специалист по данным, вы долгое время работали над моделью машинного обучения (вероятно, вы использовали ноутбук для запуска кода Python и настройки…), и теперь ваша модель готова!

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

Ответ: можно через веб-API! Подождите секунду, но я не веб-разработчик (я не знаю nodeJs, javascript…), я разработчик Python!

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

Подготовьте свою модель: я предполагаю, что вы уже подготовили свою модель (обучили, все параметры в порядке…). В этом уроке я буду использовать предварительно обученную модель, размещенную на платформе Hugging Face. Это наша модель машинного обучения: ссылка. Это анализ тональности текста: вы дадите ему текст, он проанализирует его и вернет обратно, независимо от того, является ли он положительным или отрицательным. Например, если вы дадите ему этот текст: Я счастлив => результат будет положительным.

Шаги по настройке API модели машинного обучения:

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

Не терпится разработать свой текст по машинному обучению Анализировать Python FastAPI? Время кодирования!

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

В этом уроке мы будем использовать:

  • Пакет «fastapi»: из которого мы будем импортировать модули «Request» и «FastAPI».
  • пакет «трансформеры»: из которого мы будем импортировать «конвейер», который мы будем использовать для загрузки нашей предварительно обученной модели необходимым конвейером.
from fastapi import Request,FastAPI
from transformers import pipeline

Вам может понадобиться установить пакет «transformers», если он еще не установлен на вашем компьютере:

pip install -q transformers

2. Загрузите свою модель в свой код Python

Теперь мы загрузим нашу предварительно обученную модель анализа настроений в наш python:

sentiment_analysis_pipeline = pipeline("sentiment-analysis",model="siebert/sentiment-roberta-large-english")

С помощью этой строки кода вы сможете загрузить модель с платформы Hugging Face и загрузить ее в sentment_analysis_pipeline.

Давайте протестируем нашу модель, чтобы проверить, все ли в порядке:

print(sentiment_analysis_pipeline("I'm so happy"))
print(sentiment_analysis_pipeline("I'm so sad"))

Он напечатает анализ тональности для двух текстов и даст вам:

[{‘label’: ‘POSITIVE’, ‘score’: 0.9986096620559692}]
[{‘label’: ‘NEGATIVE’, ‘score’: 0.9977645874023438}]

первый текст «Положительный» с точностью 99%, а второй «Отрицательный» с точностью 99%. Круто, работает!

3. Настройте свой API с помощью Python FastAPI

Сначала вам нужно создать свой API:

app = FastAPI()

Теперь определите путь, который ваши пользователи будут использовать для отправки вам запроса (в этом случае пользователь отправит вам текст, и вы отправите его обратно, будет ли его текст положительным или отрицательным)

@app.get("/sentimentAnalysis/")
async def get_body(request: Request):
      req = await request.json()
      return req

Здесь я настроил метод GET для получения запроса пользователя через «/sentimentAnalysis/». Затем я получаю запрос в переменной «запрос» и возвращаю его как результат (просто чтобы проверить, все ли в порядке)

теперь запустите свой API с помощью:

uvicorn server:app --reload

Обратите внимание, что мой файл Python называется server.py, в любом случае, если вы не знаете, как запустить FastAPI, посмотрите это руководство: ссылка

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

Хороший ! все работает. Давайте интегрируем нашу модель машинного обучения в API!

4. Интегрируйте свою модель машинного обучения в свой Python FastAPI.

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

Поскольку на первых шагах все уже было подготовлено, все будет очень просто:

@app.get("/sentimentAnalysis/")
async def get_body(request: Request):
    req = await request.json()
    result = sentiment_analysis_pipeline(req['text'])
    return result

теперь мы получаем текст, отправленный пользователем через API, анализируем его с помощью нашей модели и передаем результат нашему пользователю!

Проверим, работает ли:

Потрясающий! оно работает!

Полный код

Это полный код:

Заключение

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

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

Теперь вы эксперт :) попробуйте изменить модель и взглянуть на документацию, чтобы иметь возможность делать много замечательных вещей!

Дайте мне знать, если вам нужен учебник о том, как развернуть ваш API в реальном облаке (оставьте мне комментарий!).

Надеюсь, это было полезно! Смотрите все мои уроки здесь.

Не забудьте нажать кнопку Подписаться.

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



Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.