File size: 1,300 Bytes
09d1ec5
30f73f0
09d1ec5
ea6a5be
30f73f0
 
 
 
ea6a5be
30f73f0
09d1ec5
ea6a5be
30f73f0
 
 
 
 
 
ea6a5be
 
30f73f0
 
 
 
 
 
ea6a5be
 
 
 
 
 
 
09d1ec5
ea6a5be
 
 
 
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
import streamlit as st
from transformers import pipeline

# Cache model to avoid reloading
@st.cache_resource
def load_model():
    return pipeline(
        "text2text-generation",
        model="google/flan-t5-small"   # smaller & safer for HF Spaces
    )

generator = load_model()

st.set_page_config(page_title="Fitness Plan AI", layout="centered")

st.title("🏋️ Fitness Plan AI Generator")
st.write("Generate a personalized fitness plan using AI")

# User Inputs
age = st.number_input("Age", min_value=15, max_value=80, value=22)
gender = st.selectbox("Gender", ["Male", "Female"])
goal = st.selectbox("Fitness Goal", ["Weight Loss", "Muscle Gain", "General Fitness"])
level = st.selectbox("Fitness Level", ["Beginner", "Intermediate", "Advanced"])
days = st.slider("Workout Days per Week", 1, 7, 4)

if st.button("Generate Fitness Plan"):
    prompt = (
        f"Create a {days}-day fitness workout plan for a "
        f"{age}-year-old {gender}. "
        f"Goal: {goal}. "
        f"Fitness level: {level}. "
        f"Include warm-up, main workout, and cool-down."
    )

    with st.spinner("Generating your fitness plan..."):
        result = generator(prompt, max_length=300, do_sample=True)
        st.success("✅ Your Fitness Plan")
        st.write(result[0]["generated_text"])