| import os |
| from pathlib import Path |
| from dotenv import load_dotenv |
|
|
| |
| load_dotenv() |
|
|
| |
| BASE_DIR = Path(__file__).parent.parent |
|
|
| |
| _possible_paths = [ |
| BASE_DIR / "models" / "GradientBoosting_model.pkl", |
| BASE_DIR / "model" / "GradientBoosting_model.pkl", |
| Path("/app/models/GradientBoosting_model.pkl"), |
| Path.cwd() / "models" / "GradientBoosting_model.pkl", |
| ] |
|
|
| MODEL_PATH = None |
| for path in _possible_paths: |
| if path.exists(): |
| MODEL_PATH = path |
| break |
|
|
| |
| if MODEL_PATH is None: |
| MODEL_PATH = _possible_paths[0] |
|
|
| |
| GROQ_API_KEY = os.getenv("GROQ_API_KEY") |
| GROQ_MODEL = "llama-3.1-70b-versatile" |
| GROQ_TEMPERATURE = 0 |
| GROQ_TIMEOUT = 30 |
|
|
| |
| DEFAULT_MODEL_FEATURES = [ |
| "LengthOfStay", |
| "Smoking", |
| "Family History", |
| "HbA1c", |
| "Glucose", |
| "Age", |
| "Diet Score", |
| "Alcohol", |
| "Physical Activity", |
| "Blood Pressure", |
| "BMI", |
| "Cholesterol", |
| "Sleep Hours", |
| "Stress Level", |
| "Triglycerides", |
| "Oxygen Saturation" |
| ] |
|
|
| |
| FEATURE_RANGES = { |
| "Age": (0, 150, float), |
| "Glucose": (70, 400, float), |
| "HbA1c": (3, 15, float), |
| "BMI": (10, 60, float), |
| "Cholesterol": (100, 400, float), |
| "Triglycerides": (20, 500, float), |
| "Blood Pressure": (60, 200, float), |
| "Physical Activity": (0, 24, float), |
| "Sleep Hours": (0, 24, float), |
| "Stress Level": (1, 10, float), |
| "Diet Score": (1, 10, float), |
| "Smoking": (0, 1, int), |
| "Alcohol": (0, 1, int), |
| "Family History": (0, 1, int), |
| "LengthOfStay": (0, 365, int), |
| "Oxygen Saturation": (80, 100, float), |
| } |
|
|
| |
| MIN_FEATURES_FOR_PREDICTION = 16 |
| MAX_RETRIES = 3 |
|
|
| |
| CLASS_NAMES = [ |
| "Arthritis", |
| "Asthma", |
| "Cancer", |
| "Diabetes", |
| "Healthy", |
| "Hypertension", |
| "Obesity", |
| "Other/Unknown", |
| ] |
|
|
| |
| DEBUG_MODE = True |
| CONVERSATION_MAX_TURNS = 20 |
|
|