Pyefuri commited on
Commit
eddbdb5
·
verified ·
1 Parent(s): 719eef3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -9
app.py CHANGED
@@ -21,11 +21,15 @@ def prediksi_terjemahan(message, history):
21
  {"role": "system", "content": "Kamu adalah asisten AI penerjemah yang ahli. Tugasmu adalah menerjemahkan teks dari Bahasa Indonesia ke Bahasa Biak secara akurat, alami, ringkas, dan langsung tanpa pengulangan kata."}
22
  ]
23
 
24
- for pesan_lama in history:
25
- percakapan.append({
26
- "role": pesan_lama.get("role", "user"),
27
- "content": str(pesan_lama.get("content", ""))
28
- })
 
 
 
 
29
 
30
  prompt_penerjemahan = f"Terjemahkan kalimat berikut ke dalam Bahasa Biak: {message}"
31
  percakapan.append({"role": "user", "content": prompt_penerjemahan})
@@ -56,16 +60,17 @@ def prediksi_terjemahan(message, history):
56
 
57
  respons = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
58
 
 
59
  if respons and len(respons) > 0:
60
- return respons[0].strip()
61
 
62
  return "Maaf, terjadi kesalahan saat memproses terjemahan."
63
 
 
64
  demo = gr.ChatInterface(
65
  fn=prediksi_terjemahan,
66
- type="messages",
67
- title="🤖 Kamus & Penerjemah AI Bahasa Biak",
68
- description="Silakan masukkan kalimat dalam Bahasa Indonesia untuk diterjemahkan ke dalam Bahasa Biak oleh model hasil fine-tuning Qwen2.5-3B."
69
  )
70
 
71
  if __name__ == "__main__":
 
21
  {"role": "system", "content": "Kamu adalah asisten AI penerjemah yang ahli. Tugasmu adalah menerjemahkan teks dari Bahasa Indonesia ke Bahasa Biak secara akurat, alami, ringkas, dan langsung tanpa pengulangan kata."}
22
  ]
23
 
24
+ # Solusi Pengaman Gradio Lama: Membongkar history dengan validasi tipe data agar anti-unpack error
25
+ if history:
26
+ for interaksi in history:
27
+ if isinstance(interaksi, (list, tuple)) and len(interaksi) == 2:
28
+ human, assistant = interaksi
29
+ if human:
30
+ percakapan.append({"role": "user", "content": str(human)})
31
+ if assistant:
32
+ percakapan.append({"role": "assistant", "content": str(assistant)})
33
 
34
  prompt_penerjemahan = f"Terjemahkan kalimat berikut ke dalam Bahasa Biak: {message}"
35
  percakapan.append({"role": "user", "content": prompt_penerjemahan})
 
60
 
61
  respons = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
62
 
63
+ # Memastikan output berupa string bersih murni
64
  if respons and len(respons) > 0:
65
+ return str(respons[0]).strip()
66
 
67
  return "Maaf, terjadi kesalahan saat memproses terjemahan."
68
 
69
+ # Membuat Antarmuka Gradio (Menghapus parameter 'type' agar kompatibel dengan server lama)
70
  demo = gr.ChatInterface(
71
  fn=prediksi_terjemahan,
72
+ title="🤖 AI Bahasa Indonesia-Biak",
73
+ description="Silakan masukkan kalimat dalam Bahasa Indonesia untuk diterjemahkan ke dalam Bahasa Biak."
 
74
  )
75
 
76
  if __name__ == "__main__":