import gradio as gr import random # 可選餐點清單 FOOD_LIST = [ '牛肉麵', '滷肉飯', '便當', '火鍋', '壽司', '義大利麵', '燒烤', '水餃', '炒飯', '拉麵', '沙拉', '漢堡', '炸雞', '粥', '湯麵', '咖哩飯', '鍋貼', '燒臘', '三明治', '蛋包飯' ] def suggest_food(history): # 根據歷史紀錄排除已吃過的 available = [food for food in FOOD_LIST if food not in history] if not available: return '所有餐點都吃過了!請新增選項~' return random.choice(available) def gradio_interface(): with gr.Blocks() as demo: gr.Markdown("# 下一餐吃什麼?AI 幫你選!") history = gr.State([]) food_text = gr.Textbox(label="建議餐點", interactive=False) btn = gr.Button("抽餐點") def on_click(h): food = suggest_food(h) if food != '所有餐點都吃過了!請新增選項~': h.append(food) return food, h btn.click(on_click, inputs=[history], outputs=[food_text, history]) return demo if __name__ == '__main__': gradio_interface().launch()