eat2fit / app.py
DurgaDeepak's picture
Update app.py
6eae2d9 verified
raw
history blame
1.22 kB
import os
import gradio as gr
import spaces
from agent import generate_response
user_preferences = {
"diet": [],
"goal": "",
"weeks": 1
}
@spaces.GPU
def process_input(message, history):
return generate_response(message, history, user_preferences)
def update_preferences(diet, goal, weeks):
user_preferences["diet"] = diet
user_preferences["goal"] = goal
user_preferences["weeks"] = weeks
return gr.update(visible=True)
with gr.Blocks() as demo:
gr.Markdown("## 🥗 Smart Meal Plan Assistant")
with gr.Row():
diet = gr.CheckboxGroup(["Low-carb", "High-protein", "Vegetarian", "Vegan", "Keto"], label="Diet Preferences")
goal = gr.Radio(["Weight Loss", "Muscle Gain", "Maintenance"], label="Health Goal")
weeks = gr.Slider(1, 12, value=1, step=1, label="Plan Duration (weeks)")
confirm_btn = gr.Button("Start Chat")
chatbot = gr.Chatbot(visible=False)
msg = gr.Textbox(visible=False)
clear = gr.Button("Clear", visible=False)
confirm_btn.click(update_preferences, inputs=[diet, goal, weeks], outputs=[chatbot])
msg.submit(process_input, [msg, chatbot], chatbot)
clear.click(lambda: None, None, chatbot)
demo.launch()