❌ Versi lama:
"Buat 3 caption sekaligus" → model bingung, hasil asal-asalan
Ga ada contoh → model tebak-tebak gayanya
max_new_tokens=800 → terlalu panjang, makin ngawur di akhir
✅ Versi baru:
"Buat 1 caption" → fokus, kualitas naik drastis
Few-shot: kasih 2 contoh nyata per gaya → model tiru polanya
max_new_tokens=300 → dipotong sebelum mulai ngawur
temperature=0.7 (dari 0.85) → lebih konsisten
repetition_penalty=1.2 (dari 1.1) → kurangi pengulangan
Klik berkali-kali → setiap klik hasil beda
Riwayat caption → caption sebelumnya ga hilang
Perubahan: ~5 baris
Kualitas: dari 😐 jadi 😊 (naik signifikan)
RAM: ~3-4GB (karena bfloat16 setengah ukuran)
Build: pertama kali lebih lama (download model 6GB)
Generate: sedikit lebih lambat (~10-20 detik)
❌ Versi lama: panggil API di internet → ERROR (Space gratis ga bisa akses internet)
✅ Versi baru: model di-load langsung di Space → jalan 100% offline
❌ Versi lama: butuh setup HF_TOKEN
✅ Versi baru: GA PERLU TOKEN, ga perlu setup apapun
❌ Versi lama: model 3B (ga bisa di-load di Space gratis)
✅ Versi baru: model 0.5B (muat di RAM Space gratis)
Satu-satunya trade-off:
- Model lebih kecil → kualitas caption sedikit lebih rendah
- Tapi tetap bisa bikin caption yang usable!
1. Model default diganti:
❌ Qwen/Qwen2.5-3B-Instruct (kemungkinan butuh PRO)
✅ Qwen/Qwen2.5-1.5B-Instruct (lebih kecil, pasti gratis)
2. Error sekarang menampilkan DETAIL asli:
❌ dulu: "Gagal menghubungi API. Coba lagi nanti."
✅ sekarang: "Error dari API: 401: Invalid token..."
atau "404: Model not found..."
atau error lainnya yang jelas
3. Di pesan error juga dikasih saran model alternatif
❌ Versi lama (error):
with gr.Row():
box = gr.Textbox(...)
copy_btn = gr.CopyButton(value=box) ← GA ADA DI GRADIO INI
✅ Versi sekarang (aman):
with gr.Group(visible=(i < 3)) as group:
box = gr.Textbox(...) ← cukup ini saja
Tiga perubahan saja:
1. theme dan css dipindah dari gr.Blocks() ke demo.launch()
2. show_copy_button=True dihapus dari Textbox
3. gr.CopyButton(value=box) ditambahkan di samping setiap Textbox