mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Merge branch 'main' of github.com:Hestia-Homes/Model into mlmodel
This commit is contained in:
commit
7a1f9f94f7
3 changed files with 21 additions and 11 deletions
|
|
@ -56,7 +56,7 @@ jobs:
|
|||
|
||||
# Building and pushing Docker image with caching
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: ./model_data/simulation_system
|
||||
file: ./model_data/simulation_system/Dockerfiles/Dockerfile.prediction.lambda
|
||||
|
|
@ -65,12 +65,14 @@ jobs:
|
|||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
platform: linux/amd64
|
||||
provenance: false
|
||||
|
||||
- name: Deploy to AWS Lambda via Serverless
|
||||
env:
|
||||
RUNTIME_ENVIRONMENT: ${{ github.ref_name }}
|
||||
MODEL_DIRECTORY_BUCKET: 'retrofit-model-directory-${{ github.ref_name }}'
|
||||
PREDICTIONS_BUCKET: 'retrofit-sap-predictions-${{ github.ref_name }}'
|
||||
DATA_BUCKET: 'retrofit-data-${{ github.ref_name }}'
|
||||
DOMAIN_NAME: ${{ steps.set_domain.outputs.domain }}
|
||||
ECR_URI: ${{ steps.set_ecr_credentials.outputs.ecr_uri }}
|
||||
GITHUB_SHA: ${{ github.sha }}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
import os
|
||||
import urllib.parse
|
||||
import logging
|
||||
|
||||
from predictions import prediction
|
||||
|
||||
logger = logging.getLogger()
|
||||
logger.setLevel(logging.INFO)
|
||||
|
||||
RUNTIME_ENVIRONMENT = os.environ.get("RUNTIME_ENVIRONMENT", "dev")
|
||||
|
||||
|
||||
|
|
@ -10,14 +14,15 @@ def handler(event, context):
|
|||
Take in event and trigger the prediction pipeline
|
||||
"""
|
||||
|
||||
logger.info("received event: " + str(event))
|
||||
|
||||
# Assuming a file in a bucket landing for now?
|
||||
# Assuming we have a model to use
|
||||
|
||||
payload = event["body"]
|
||||
data_path = payload["file_location"]
|
||||
property_id = payload["property_id"]
|
||||
portfolio_id = payload["portfolio_id"]
|
||||
created_at = payload["created_at"]
|
||||
data_path = event["file_location"]
|
||||
property_id = event["property_id"]
|
||||
portfolio_id = event["portfolio_id"]
|
||||
created_at = event["created_at"]
|
||||
|
||||
try:
|
||||
# We could fix the model path but for the moment, we just take the best model path based on the registry
|
||||
|
|
@ -30,8 +35,8 @@ def handler(event, context):
|
|||
return storage_filepath
|
||||
|
||||
except (Exception, KeyError, ValueError) as e:
|
||||
print("Prediction failed")
|
||||
print(e)
|
||||
logger.info("Prediction failed")
|
||||
logger.info(e)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ provider:
|
|||
RUNTIME_ENVIRONMENT: ${env:RUNTIME_ENVIRONMENT}
|
||||
MODEL_DIRECTORY_BUCKET: ${env:MODEL_DIRECTORY_BUCKET}
|
||||
PREDICTIONS_BUCKET: ${env:PREDICTIONS_BUCKET}
|
||||
DATA_BUCKET: ${env:DATA_BUCKET}
|
||||
DOMAIN_NAME: ${env:DOMAIN_NAME}
|
||||
ECR_URI: ${env:ECR_URI}
|
||||
GITHUB_SHA: ${env:GITHUB_SHA}
|
||||
|
|
@ -52,7 +53,7 @@ resources:
|
|||
PolicyDocument:
|
||||
Version: '2012-10-17'
|
||||
Statement:
|
||||
# Allow reading from MODEL_DIRECTORY_BUCKET
|
||||
# Allow reading from MODEL_DIRECTORY_BUCKET and DATA_BUCKET
|
||||
- Effect: Allow
|
||||
Action:
|
||||
- s3:GetObject
|
||||
|
|
@ -60,6 +61,8 @@ resources:
|
|||
Resource:
|
||||
- arn:aws:s3:::${env:MODEL_DIRECTORY_BUCKET}
|
||||
- arn:aws:s3:::${env:MODEL_DIRECTORY_BUCKET}/*
|
||||
- arn:aws:s3:::${env:DATA_BUCKET}
|
||||
- arn:aws:s3:::${env:DATA_BUCKET}/*
|
||||
# Allow reading and writing to PREDICTIONS_BUCKET
|
||||
- Effect: Allow
|
||||
Action:
|
||||
|
|
@ -68,4 +71,4 @@ resources:
|
|||
- s3:ListBucket
|
||||
Resource:
|
||||
- arn:aws:s3:::${env:PREDICTIONS_BUCKET}
|
||||
- arn:aws:s3:::${env:PREDICTIONS_BUCKET}/*
|
||||
- arn:aws:s3:::${env:PREDICTIONS_BUCKET}/*
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue