Spaces:
Running
Running
File size: 1,552 Bytes
848cecc 9a64799 aa33200 898f1c9 aa33200 0a60167 0d6ce1a 0a60167 9367aeb 0a60167 0d6ce1a 0a60167 0d6ce1a 27e5aad 0d6ce1a 27e5aad 0d6ce1a 0a60167 27e5aad 0a60167 0d6ce1a 0a60167 0d6ce1a 27e5aad 2aa213f 27e5aad 0d6ce1a 0a60167 0d6ce1a 0a60167 0d6ce1a 0a60167 aa33200 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | import streamlit as st
# ---------- 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")
age = st.number_input("Age", min_value=0, max_value=100)
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,
age,
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) |