Spaces:
Sleeping
Sleeping
import os | |
import gradio as gr | |
import spaces | |
from agent import generate_response | |
user_preferences = { | |
"diet": [], | |
"goal": "", | |
"weeks": 1 | |
} | |
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() | |