faruqaziz commited on
Commit
114ed4f
·
verified ·
1 Parent(s): b7677a5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -9
app.py CHANGED
@@ -12,10 +12,10 @@ translator = pipeline("translation", model="Helsinki-NLP/opus-mt-id-en")
12
  terjemahkan = pipeline("translation", model="Helsinki-NLP/opus-mt-en-id")
13
 
14
  # Menggunakan pipa untuk klasifikasi diagnosis penyakit
15
- disease_classifier = pipeline("text-classification", model="BenK10/disease-diagnosis")
16
 
17
  # Pipeline generasi teks dengan format pesan
18
- text_generation = pipeline("text-generation", model="SumayyaAli/tiny-llama-1.1b-chat-medical")
19
 
20
  def preprocess_text(teks):
21
  # Pra-pemrosesan teks menggunakan NLTK
@@ -36,21 +36,25 @@ def predict_disease(gejala):
36
  terjemahan_inggris = terjemahan[0]["translation_text"]
37
 
38
  # Klasifikasi diagnosis penyakit dengan fitur tambahan
39
- klasifikasi = disease_classifier(terjemahan_inggris)
40
 
41
  # Mengembalikan diagnosis dan skor kepercayaan
42
- diagnosis = klasifikasi[0]["label"]
43
- kepercayaan = klasifikasi[0]["score"]
44
 
45
  # Menggunakan format pesan untuk definisi penyakit
46
- definisi = text_generation([{"role": "user", "content": f"What is {diagnosis}?"}])
 
 
 
47
  definisi_teks = definisi[0]['generated_text']
48
 
49
  # Melakukan terjemahan definisi kembali ke bahasa Indonesia
50
  terjemahan_definisi = terjemahkan(definisi_teks, max_length=100)
51
  definisi = terjemahan_definisi[0]["translation_text"]
52
 
53
- return diagnosis, kepercayaan, definisi
 
54
 
55
  except Exception as e:
56
  return "Tidak dapat mendiagnosis", 0.0, "Terjadi kesalahan saat mendiagnosis penyakit."
@@ -77,8 +81,8 @@ with st.form("diagnosis_form"):
77
  if gejala and usia and jenis_kelamin:
78
  diagnosis, kepercayaan, definisi = predict_disease(gejala)
79
  if diagnosis != "Tidak dapat mendiagnosis":
80
- st.success(f"Diagnosis: {diagnosis}")
81
- st.write(f"Dengan tingkat akurasi: {kepercayaan:.2f}")
82
  st.write(f"{definisi}")
83
  else:
84
  st.error(definisi)
 
12
  terjemahkan = pipeline("translation", model="Helsinki-NLP/opus-mt-en-id")
13
 
14
  # Menggunakan pipa untuk klasifikasi diagnosis penyakit
15
+ # disease_classifier = pipeline("text-classification", model="BenK10/disease-diagnosis")
16
 
17
  # Pipeline generasi teks dengan format pesan
18
+ text_generation = pipeline("text-generation", model="TinyLlama/TinyLlama-1.1B-Chat-v1.0")
19
 
20
  def preprocess_text(teks):
21
  # Pra-pemrosesan teks menggunakan NLTK
 
36
  terjemahan_inggris = terjemahan[0]["translation_text"]
37
 
38
  # Klasifikasi diagnosis penyakit dengan fitur tambahan
39
+ # klasifikasi = disease_classifier(terjemahan_inggris)
40
 
41
  # Mengembalikan diagnosis dan skor kepercayaan
42
+ # diagnosis = klasifikasi[0]["label"]
43
+ # kepercayaan = klasifikasi[0]["score"]
44
 
45
  # Menggunakan format pesan untuk definisi penyakit
46
+ definisi = text_generation([{
47
+ "role": "user",
48
+ "content": f"You are a doctor who needs to diagnose a patient's illness. In your opinion, if I a have a {terjemahan_inggris}, what illness could it be?"
49
+ }])
50
  definisi_teks = definisi[0]['generated_text']
51
 
52
  # Melakukan terjemahan definisi kembali ke bahasa Indonesia
53
  terjemahan_definisi = terjemahkan(definisi_teks, max_length=100)
54
  definisi = terjemahan_definisi[0]["translation_text"]
55
 
56
+ # return diagnosis, kepercayaan, definisi
57
+ return definisi
58
 
59
  except Exception as e:
60
  return "Tidak dapat mendiagnosis", 0.0, "Terjadi kesalahan saat mendiagnosis penyakit."
 
81
  if gejala and usia and jenis_kelamin:
82
  diagnosis, kepercayaan, definisi = predict_disease(gejala)
83
  if diagnosis != "Tidak dapat mendiagnosis":
84
+ # st.success(f"Diagnosis: {diagnosis}")
85
+ # st.write(f"Dengan tingkat akurasi: {kepercayaan:.2f}")
86
  st.write(f"{definisi}")
87
  else:
88
  st.error(definisi)