File size: 660 Bytes
a309487
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class DeploymentGenerator:
    def generate_fastapi_app(self, model_path):
        template = f'''

from fastapi import FastAPI

import joblib

import pandas as pd



app = FastAPI()

model = joblib.load("{model_path}")



@app.post("/predict")

async def predict(data: dict):

    df = pd.DataFrame([data])

    preds = model.predict(df)

    return {{"prediction": preds.tolist()}}

'''
        return template

    def generate_dockerfile(self):
        return '''

FROM python:3.9

WORKDIR /app

COPY . /app

RUN pip install fastapi uvicorn pandas scikit-learn joblib

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

'''