Serving machine learning models production-ready, fast, easy and secure powered by the great FastAPI by Sebastián Ramírez](https://github.com/tiangolo).
This repository contains a skeleton app which can be used to speed-up your next machine learning project. The code is fully tested and provides a preconfigured tox
to quickly expand this sample code.
To experiment and get a feeling on how to use this skeleton, a sample regression model for house price prediction is included in this project. Follow the installation and setup instructions to run the sample model and serve it aso RESTful API.
- Docker
- Docker Compose
- Start the stack with Docker Compose:
make build
-
Duplicate the
.env.example
file and rename it to.env
-
In the
.env
file configure theAPI_KEY
entry. The key is used for authenticating our API.
A sample API key can be generated using Python REPL:
import uuid
print(str(uuid.uuid4()))
- Start your app with:
make up
-
Go to http://localhost:8888/docs.
-
Click
Authorize
and enter the API key as created in the Setup step. -
You can use the sample payload from the
docs/sample_payload.json
file when trying out the house price prediction model using the API.
If you're not using tox
, please install with:
pip install tox
Run your tests with:
tox
This runs tests and coverage for Python 3.6 and Flake8, Autopep8, Bandit.