mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
add basic handler for now
This commit is contained in:
parent
bd53427c72
commit
5d1b81e54b
3 changed files with 55 additions and 0 deletions
|
|
@ -0,0 +1,14 @@
|
|||
FROM public.ecr.aws/lambda/python:3.10
|
||||
|
||||
# Install python packages
|
||||
COPY ../requirements/predictions/predictions.txt requirements.txt
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# Copy the project code to user home directory
|
||||
COPY ./core ${LAMBDA_TASK_ROOT}/simulation_system/core
|
||||
COPY ./MLModel ${LAMBDA_TASK_ROOT}/simulation_system/MLModel
|
||||
COPY ./predictions.py ${LAMBDA_TASK_ROOT}/simulation_system/predictions.py
|
||||
COPY ./handlers/predictions_app.py ${LAMBDA_TASK_ROOT}/simulation_system/predictions_app.py
|
||||
|
||||
# Run off a lambda trigger
|
||||
CMD [ "prediction_app.handler" ]
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
FROM public.ecr.aws/lambda/python:3.10
|
||||
|
||||
# Install python packages
|
||||
COPY ../requirements/training/training.txt requirements.txt
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# Copy the project code to user home directory
|
||||
COPY ./core ${LAMBDA_TASK_ROOT}/simulation_system/core
|
||||
COPY ./MLModel ${LAMBDA_TASK_ROOT}/simulation_system/MLModel
|
||||
COPY ./training.py ${LAMBDA_TASK_ROOT}/simulation_system/training.py
|
||||
COPY ./handlers/training_app.py ${LAMBDA_TASK_ROOT}/simulation_system/training_app.py
|
||||
|
||||
# Run off a lambda trigger
|
||||
CMD [ "training_app.handler" ]
|
||||
27
model_data/simulation_system/handlers/predictions_app.py
Normal file
27
model_data/simulation_system/handlers/predictions_app.py
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import os
|
||||
import urllib.parse
|
||||
from predictions import prediction
|
||||
|
||||
|
||||
def handler(event, context):
|
||||
"""
|
||||
Take in event and trigger the prediction pipeline
|
||||
"""
|
||||
|
||||
# Assuming a file in a bucket landing for now?
|
||||
# Assuming we have a model to use
|
||||
|
||||
bucket = event["Records"][0]["s3"]["bucket"]["name"]
|
||||
key = urllib.parse.unquote_plus(
|
||||
event["Records"][0]["s3"]["bucket"]["key"], encoding="utf-8"
|
||||
)
|
||||
|
||||
prediction_file = bucket + "/" + key
|
||||
|
||||
# TODO: put a model into s3, both locally and in aws
|
||||
model_path = os.environ.get("MODEL_PATH", "http://minio:9000/data/model_directory/")
|
||||
|
||||
try:
|
||||
prediction(model_path=model_path, data_path=prediction_file)
|
||||
except (Exception, KeyError, ValueError):
|
||||
print("Prediction failed")
|
||||
Loading…
Add table
Reference in a new issue