Springboardmen commited on
Commit
7ba7c55
·
verified ·
1 Parent(s): 16d2649

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -15
app.py CHANGED
@@ -1,26 +1,57 @@
1
  import streamlit as st
2
- from prompt_builder import build_prompt
3
  from model_api import query_model
 
4
 
5
  st.set_page_config(page_title="FitPlan AI", layout="centered")
6
 
7
- st.title("🏋️ FitPlan AI - Personalized Workout Generator")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
- # User Inputs
10
- goal = st.selectbox("Select Your Goal",
11
- ["Build Muscle", "Lose Weight", "Improve Endurance"])
12
 
13
- fitness_level = st.selectbox("Fitness Level",
14
- ["Beginner", "Intermediate", "Advanced"])
 
 
15
 
16
- equipment = st.selectbox("Available Equipment",
17
- ["No Equipment", "Dumbbells", "Full Gym"])
18
 
19
- if st.button("Generate Plan"):
 
20
 
21
- with st.spinner("Generating your personalized workout plan..."):
22
- prompt = build_prompt(goal, fitness_level, equipment)
23
- response = query_model(prompt)
24
 
25
- st.subheader("Your Personalized Workout Plan")
26
- st.write(response)
 
1
  import streamlit as st
 
2
  from model_api import query_model
3
+ from prompt_builder import build_prompt
4
 
5
  st.set_page_config(page_title="FitPlan AI", layout="centered")
6
 
7
+ st.title("🏋️ FitPlan AI Personalized Workout Generator")
8
+
9
+ # ---------------- INPUT ---------------- #
10
+
11
+ name = st.text_input("Enter Your Name")
12
+
13
+ gender = st.radio("Gender", ["Male", "Female"])
14
+
15
+ height = st.number_input("Height (cm)", min_value=100.0, max_value=250.0)
16
+ weight = st.number_input("Weight (kg)", min_value=30.0, max_value=200.0)
17
+
18
+ goal = st.selectbox(
19
+ "Fitness Goal",
20
+ ["Build Muscle", "Lose Weight", "Improve Endurance", "General Fitness"]
21
+ )
22
+
23
+ fitness_level = st.radio(
24
+ "Fitness Level",
25
+ ["Beginner", "Intermediate", "Advanced"]
26
+ )
27
+
28
+ equipment = st.multiselect(
29
+ "Available Equipment",
30
+ [
31
+ "No Equipment", "Dumbbells", "Barbell",
32
+ "Pull-up Bar", "Resistance Bands",
33
+ "Treadmill", "Kettlebells", "Full Gym"
34
+ ]
35
+ )
36
+
37
+ # ---------------- GENERATE ---------------- #
38
+
39
+ if st.button("Generate Workout Plan"):
40
 
41
+ if height > 0 and weight > 0:
 
 
42
 
43
+ prompt, bmi, bmi_status = build_prompt(
44
+ name, gender, height, weight,
45
+ goal, fitness_level, equipment
46
+ )
47
 
48
+ with st.spinner("Generating your personalized plan..."):
49
+ response = query_model(prompt)
50
 
51
+ st.subheader("📋 Your Personalized Workout Plan")
52
+ st.write(response)
53
 
54
+ st.info(f"Calculated BMI: {bmi:.2f} ({bmi_status})")
 
 
55
 
56
+ else:
57
+ st.warning("Please enter valid height and weight.")