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() | |