satite99 commited on
Commit
c27c126
·
verified ·
1 Parent(s): df282a8

Upload 4 files

Browse files
Files changed (4) hide show
  1. Dockerfile +4 -19
  2. app.py +16 -0
  3. requirements.txt +4 -2
  4. xgb_model_pipeline.pkl +3 -0
Dockerfile CHANGED
@@ -1,21 +1,6 @@
1
  FROM python:3.9-slim
2
-
3
  WORKDIR /app
4
-
5
- RUN apt-get update && apt-get install -y \
6
- build-essential \
7
- curl \
8
- software-properties-common \
9
- git \
10
- && rm -rf /var/lib/apt/lists/*
11
-
12
- COPY requirements.txt ./
13
- COPY src/ ./src/
14
-
15
- RUN pip3 install -r requirements.txt
16
-
17
- EXPOSE 8501
18
-
19
- HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
20
-
21
- ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
 
1
  FROM python:3.9-slim
 
2
  WORKDIR /app
3
+ COPY . /app
4
+ RUN pip install --no-cache-dir -r requirements.txt
5
+ EXPOSE 5000
6
+ CMD ["python", "app.py"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app.py ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, jsonify
2
+ import pandas as pd
3
+ import joblib
4
+
5
+ app = Flask(__name__)
6
+ model = joblib.load("xgb_model_pipeline.pkl")
7
+
8
+ @app.route('/predict', methods=['POST'])
9
+ def predict():
10
+ data = request.get_json(force=True)
11
+ input_df = pd.DataFrame([data])
12
+ prediction = model.predict(input_df)[0]
13
+ return jsonify({'conversion': int(prediction)})
14
+
15
+ if __name__ == '__main__':
16
+ app.run(debug=True, host='0.0.0.0')
requirements.txt CHANGED
@@ -1,3 +1,5 @@
1
- altair
2
  pandas
3
- streamlit
 
 
 
1
+ flask
2
  pandas
3
+ scikit-learn
4
+ xgboost
5
+ joblib
xgb_model_pipeline.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3e79234697756a682aca80cf0c26b6e911b7d5d410cf826643a52ce54c7bb1ef
3
+ size 67518