File size: 1,156 Bytes
d14c0e3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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()