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