Spaces:
Sleeping
Sleeping
File size: 1,217 Bytes
6eae2d9 901777e 05f1709 4d89c61 789f39d 6eae2d9 05f1709 6eae2d9 |
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 40 |
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()
|