Module_2 / app.py
srbhavya01's picture
Update app.py
aa33200 verified
raw
history blame
1.52 kB
import streamlit as st
import sys
import os
# ---------- ADD EXTERNAL PATHS ----------
sys.path.append(os.path.abspath("../model"))
sys.path.append(os.path.abspath("../prompt"))
# ---------- IMPORT YOUR FILES ----------
from model_api import query_model
from prompt_builder import build_prompt, calculate_bmi, bmi_category
# ---------- STREAMLIT UI ----------
st.title("๐Ÿ‹๏ธ AI Personalized 5-Day Workout Planner")
name = st.text_input("Name")
gender = st.selectbox("Gender", ["Male", "Female", "Other"])
height = st.number_input("Height (cm)", min_value=0, max_value=250)
weight = st.number_input("Weight (kg)", min_value=0, max_value=200)
goal = st.selectbox("Fitness Goal",["Build Muscle", "Weight Loss", "Strength Gain", "Abs Building", "Flexible"])
fitness_level = st.selectbox("Fitness Level", [
"Beginner",
"Intermediate",
"Advanced"
])
equipment = st.multiselect(
"Available Equipment",
["Dumbbells", "Resistance Band", "Yoga Mat", "Skipping Rope",
"Weight Plates", "Cycling", "Inclined Bench", "Pullups Bar", "No Equipment"]
)
# ---------- GENERATE PLAN ----------
if st.button("Generate 5-Day Plan ๐Ÿ’ช"):
prompt, bmi, bmi_status = build_prompt(
name, gender, height, weight,
goal, fitness_level, equipment
)
st.subheader(f"Your BMI: {bmi:.2f} ({bmi_status})")
with st.spinner("Creating your personalized workout plan..."):
result = query_model(prompt)
st.markdown("## ๐Ÿ—“๏ธ Your 5-Day Workout Plan")
st.write(result)