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

В этой статье я покажу, как использовать FastAPI для создания API, взаимодействующего с нашей моделью машинного обучения.

Создание виртуальной среды

Создайте новый каталог на своем компьютере с любым именем, которое вам нравится.
После этого откройте программу терминала в этом каталоге. Вы можете завершить весь процесс с помощью терминала.

mkdir ModelApi
cd ModeApi

В этом вновь созданном каталоге мы создадим виртуальную среду.

python3 -m venv fastml # to create a virtual env named fastml source fastml/bin/activate # to activate virtual env

Когда все команды будут обработаны, ваш терминал будет выглядеть следующим образом.

Установка FastAPI

FastAPI — это современная, быстрая (высокопроизводительная) веб-инфраструктура для создания API с Python 3.7+ на основе стандартных подсказок типа Python. Теперь мы выполним следующую команду для установки FastAPI.

pip install uvicorn gunicorn fastapi
or
pip install "fastapi[all]" # to install all packages

Строительный API

Теперь, когда все настроено, мы можем создать API FastAPI. Мы создадим новый файл Python. Откройте только что созданный файл Python в любой среде IDE.

touch demo.py #this will create a python file

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

pip install numpy pandas sklearn pickle

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

from typing import Union
import uvicorn
import numpy as np
import pandas as pd
import pickle as pk
from sklearn.linear_model import LogisticRegression
from fastapi import FastAPI
from pydantic import BaseModel

Мы создадим экземпляр FastAPI после импорта всех зависимостей. В этом случае я использую простую модель машинного обучения. Эта модель имеет восемь параметров, каждый из которых имеет целочисленное значение. Все параметры определяются классом ScoringItem как целочисленные значения.

Я загружаю модель машинного обучения с помощью Pickle, а затем создал асинхронную функцию, которая делает прогноз в зависимости от параметра, который мы передали в модель.

Следующая команда запустит нашу программу FastAPI.

uvicorn apiml:app --reload

Вы можете найти адрес, по которому запущено ваше приложение FastAPI, в вашем терминале после использования вышеуказанной команды.

Теперь необходимо проверить функциональность нашего API. Для этого я использую клиент Thunder в качестве клиента API. PostMan — еще один вариант, который вы можете использовать.

Таким образом, недавно сформированный API работает правильно и обеспечивает желаемый результат.

Я надеюсь, что эта статья поможет вам использовать FastAPI для создания API машинного обучения. Все необходимые файлы доступны на моем GitHub. Ниже ссылка на репозиторий.



Я ценю, что вы читаете эту статью, как обычно.

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