Spaces:
Runtime error
Runtime error
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() | |