from typing import List from fastapi import FastAPI, File, UploadFile from fastapi.responses import Response import common from fhe_utils import FHEServer FHE_SERVER = FHEServer(common.ROOT_DIR / "server.zip") print (FHE_SERVER.server.is_simulated) # Initialize an instance of FastAPI app = FastAPI() # Define the default route @app.get("/") def root(): return {"message": "Welcome to the Server!"} @app.post("/pace_estimation") def pace_estimation( files: List[UploadFile] = File(), ): encrypted_betas = files[0].file.read() encrypted_weights = files[1].file.read() encrypted_intercept = files[2].file.read() evaluation_key = files[3].file.read() encrypted_pace = FHE_SERVER.run(encrypted_betas, encrypted_weights, encrypted_intercept, evaluation_key) return Response(encrypted_pace)