Spaces:
Runtime error
Runtime error
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| import uvicorn | |
| app = FastAPI() | |
| # Define the request body structure | |
| class VendorLog(BaseModel): | |
| work_logs: int | |
| delay_logs: int | |
| quality_logs: int | |
| incident_logs: int | |
| # Scoring logic | |
| async def calculate_score(logs: VendorLog): | |
| # Simple scoring logic (you can customize this) | |
| quality_score = (logs.quality_logs / (logs.work_logs + 1)) * 100 | |
| timeliness_score = (1 - logs.delay_logs / (logs.work_logs + 1)) * 100 | |
| safety_score = (1 - logs.incident_logs / (logs.work_logs + 1)) * 100 | |
| communication_score = 50 # Placeholder, adjust based on your logic | |
| # Final score (average of individual scores) | |
| final_score = (quality_score + timeliness_score + safety_score + communication_score) / 4 | |
| # Alert flag logic (example: flag if final score < 50) | |
| alert_flag = final_score < 50 | |
| return { | |
| "final_score": round(final_score, 2), | |
| "alert_flag": alert_flag, | |
| "quality_score": round(quality_score, 2), | |
| "timeliness_score": round(timeliness_score, 2), | |
| "safety_score": round(safety_score, 2), | |
| "communication_score": round(communication_score, 2) | |
| } | |
| # Run the server | |
| if __name__ == "__main__": | |
| uvicorn.run(app, host="0.0.0.0", port=8080) |