Skip to content

testdrivenio/fastapi-ml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

May 31, 2023
01e8ffb · May 31, 2023

History

7 Commits
Aug 13, 2021
Jul 2, 2020
May 31, 2023
May 31, 2023
May 31, 2023
Jul 2, 2020
May 31, 2023
May 31, 2023

Repository files navigation

Deploying and Hosting a Machine Learning Model with FastAPI and Heroku

Want to learn how to build this?

Check out the tutorial.

Want to use this project?

With Docker

  1. Build and tag the Docker image:

    $ docker build -t fastapi-prophet .
  2. Spin up the container:

    $ docker run --name fastapi-ml -e PORT=8008 -p 8008:8008 -d fastapi-prophet:latest
  3. Train the model:

    $ docker exec -it fastapi-ml python
    
    >>> from model import train, predict, convert
    >>> train()
  4. Test:

    $ curl \
      --header "Content-Type: application/json" \
      --request POST \
      --data '{"ticker":"MSFT"}' \
      http://localhost:8008/predict

Without Docker

  1. Create and activate a virtual environment:

    $ python3 -m venv venv && source venv/bin/activate
  2. Install the requirements:

    (venv)$ pip install -r requirements.txt
  3. Train the model:

    (venv)$ python
    
    >>> from model import train, predict, convert
    >>> train()
  4. Run the app:

    (venv)$ uvicorn main:app --reload --workers 1 --host 0.0.0.0 --port 8008
  5. Test:

    $ curl \
      --header "Content-Type: application/json" \
      --request POST \
      --data '{"ticker":"MSFT"}' \
      http://localhost:8008/predict