meal-planner / app.py
Avamalton
app.py
550ba8f
import gradio as gr
from transformers import pipeline
# Load model dari Hugging Face tanpa device_map untuk menghindari error di Spaces
generator = pipeline(
"text-generation",
model="tiiuae/Falcon-H1-1.5B-Instruct",
trust_remote_code=True # boleh dihapus jika pakai transformers terbaru
)
def generate_meal_plan(preferensi, durasi, kalori, hari):
prompt = f"""
Saya ingin membuat rencana makan selama {hari} hari.
Preferensi makanan saya adalah: {preferensi}.
Saya hanya punya waktu {durasi} menit untuk memasak per hari.
Jumlah kalori maksimal per hari: {kalori}.
Tolong buatkan rencana makan yang mencakup sarapan, makan siang, dan makan malam setiap hari.
Format output per hari:
- Hari ke-X:
- Sarapan:
- Makan Siang:
- Makan Malam:
"""
result = generator(prompt, max_new_tokens=700, do_sample=True, temperature=0.7)[0]['generated_text']
return result.split(prompt)[-1] # Hilangkan prompt dari output
# Gradio Interface
with gr.Blocks() as demo:
gr.Markdown("## πŸ₯— AI Meal Planner")
with gr.Row():
preferensi = gr.Textbox(label="Preferensi Makanan", placeholder="Contoh: vegetarian, halal, rendah karbo, dll")
durasi = gr.Number(label="Durasi Masak per Hari (menit)", value=30)
with gr.Row():
kalori = gr.Number(label="Batas Kalori per Hari", value=2000)
hari = gr.Number(label="Jumlah Hari", value=5)
tombol = gr.Button("Buat Rencana Makan")
output = gr.Textbox(label="Rencana Makan AI", lines=20)
tombol.click(fn=generate_meal_plan, inputs=[preferensi, durasi, kalori, hari], outputs=output)
demo.launch()