import os import gradio as gr from image_similarity import ImageSimilarity from services.aws_service import AwsService from dotenv import load_dotenv load_dotenv() def check_image_similarity(photo_shoot_id): folder = "PhotoShoots/" + str(photo_shoot_id) + "/Inputs" files = AwsService.get_files_from_s3(os.environ.get('AWS_S3_BUCKET'), folder) images = [] for file in files: params = file['Key'].split('/') if params[-1] != '' and params[-1] != ' ': images.append(AwsService.get_image_from_s3(os.environ.get('AWS_S3_BUCKET'), file['Key'])) return ImageSimilarity(1).check(images) iface = gr.Interface( fn=check_image_similarity, inputs=[gr.Textbox(lines=1, placeholder="Photo Shoot ID")], outputs="text" ) iface.launch()