REST API to get movie recommendations
- Python3.11.0
- Pip
- Poetry (Python Package Manager)
MODEL_PATH=./ml/model/
MODEL_NAME=model.pkl
To update your machine learning model, add your load
and method
change here at predictor.py
python -m venv venv
source venv/bin/activate
make install
make run
make deploy
make test
Files related to application are in the app
or tests
directories.
Application parts are:
app
|
| # Fast-API stuff
├── api - web related stuff.
│ └── routes - web routes.
├── core - application configuration, startup events, logging.
├── models - pydantic models for this application.
├── services - logic that is not just crud related.
├── main-aws-lambda.py - [Optional] FastAPI application for AWS Lambda creation and configuration.
└── main.py - FastAPI application creation and configuration.
|
| # ML stuff
├── data - where you persist data locally
│ ├── interim - intermediate data that has been transformed.
│ ├── processed - the final, canonical data sets for modeling.
│ └── raw - the original, immutable data dump.
│
├── notebooks - Jupyter notebooks. Naming convention is a number (for ordering),
|
├── ml - modelling source code for use in this project.
│ ├── __init__.py - makes ml a Python module
│ ├── pipeline.py - scripts to orchestrate the whole pipeline
│ │
│ ├── data - scripts to download or generate data
│ │ └── make_dataset.py
│ │
│ ├── features - scripts to turn raw data into features for modeling
│ │ └── build_features.py
│ │
│ └── model - scripts to train models and make predictions
│ ├── predict_model.py
│ └── train_model.py
│
└── tests - pytest
Deploying inference service to Cloud Run
- Install
gcloud
cli gcloud auth login
gcloud config set project <PROJECT_ID>
- Cloud Run API
- Cloud Build API
- IAM API
- Run
gcp-deploy.sh
- Delete Cloud Run
- Delete Docker image in GCR
Deploying inference service to AWS Lambda
- Install
awscli
andsam-cli
aws configure
- Run
sam build
- Run `sam deploy --guiChange this portion for other types of models
aws cloudformation delete-stack --stack-name <STACK_NAME_ON_CREATION>
Made by https://github.com/arthurhenrique/cookiecutter-fastapi/graphs/contributors with ❤️