faruqaziz commited on
Commit
e249ab2
·
verified ·
1 Parent(s): 1ec950a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -25
app.py CHANGED
@@ -12,7 +12,7 @@ translator = pipeline("translation_id_to_en", 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
  text_generation = pipeline("text-generation", model="SumayyaAli/tiny-llama-1.1b-chat-medical")
18
 
@@ -26,28 +26,32 @@ def preprocess_text(teks):
26
  return preprocessed_text
27
 
28
  def predict_disease(gejala):
29
- # Pra-pemrosesan teks gejala
30
- gejala_diproses = preprocess_text(gejala)
31
-
32
- # Melakukan terjemahan
33
- terjemahan = translator(gejala_diproses, max_length=100)
34
- terjemahan_inggris = terjemahan[0]["translation_text"]
35
-
36
- # Klasifikasi diagnosis penyakit dengan fitur tambahan
37
- klasifikasi = disease_classifier(terjemahan_inggris)
38
-
39
- # Mengembalikan diagnosis dan skor kepercayaan
40
- diagnosis = klasifikasi[0]["label"]
41
- kepercayaan = klasifikasi[0]["score"]
42
- definisi = f"What is {diagnosis}?"
43
- definisi = text_generation(definisi, max_length=100, num_return_sequences=1)
44
- definisi = definisi[0]['generated_text']
45
- # Melakukan terjemahan
46
- terjemahan_definisi = terjemahkan(definisi, max_length=100)
47
- definisi = terjemahan_definisi[0]["translation_text"]
48
-
49
- return diagnosis, kepercayaan, definisi
 
50
 
 
 
 
51
  # Halaman Streamlit
52
  st.title("Diagnosis Penyakit")
53
 
@@ -69,8 +73,11 @@ with st.form("diagnosis_form"):
69
  if submitted:
70
  if gejala and usia and jenis_kelamin:
71
  diagnosis, kepercayaan, definisi = predict_disease(gejala)
72
- st.success(f"Diagnosis: {diagnosis}")
73
- st.write(f"Dengan tingkat akurasi: {kepercayaan:.2f}")
74
- st.write(f"{definisi}")
 
 
 
75
  else:
76
  st.error("Harap isi semua kolom sebelum menekan tombol Diagnosis.")
 
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="Zabihin/Symptom_to_Diagnosis")
16
 
17
  text_generation = pipeline("text-generation", model="SumayyaAli/tiny-llama-1.1b-chat-medical")
18
 
 
26
  return preprocessed_text
27
 
28
  def predict_disease(gejala):
29
+ try:
30
+ # Pra-pemrosesan teks gejala
31
+ gejala_diproses = preprocess_text(gejala)
32
+
33
+ # Melakukan terjemahan
34
+ terjemahan = translator(gejala_diproses, max_length=100)
35
+ terjemahan_inggris = terjemahan[0]["translation_text"]
36
+
37
+ # Klasifikasi diagnosis penyakit dengan fitur tambahan
38
+ klasifikasi = disease_classifier(terjemahan_inggris)
39
+
40
+ # Mengembalikan diagnosis dan skor kepercayaan
41
+ diagnosis = klasifikasi[0]["label"]
42
+ kepercayaan = klasifikasi[0]["score"]
43
+ definisi = f"What is {diagnosis}?"
44
+ definisi = text_generation(definisi, max_length=100, num_return_sequences=1)
45
+ definisi = definisi[0]['generated_text']
46
+ # Melakukan terjemahan
47
+ terjemahan_definisi = terjemahkan(definisi, max_length=100)
48
+ definisi = terjemahan_definisi[0]["translation_text"]
49
+
50
+ return diagnosis, kepercayaan, definisi
51
 
52
+ except Exception as e:
53
+ return "Tidak dapat mendiagnosis", 0.0, "Terjadi kesalahan saat mendiagnosis penyakit."
54
+
55
  # Halaman Streamlit
56
  st.title("Diagnosis Penyakit")
57
 
 
73
  if submitted:
74
  if gejala and usia and jenis_kelamin:
75
  diagnosis, kepercayaan, definisi = predict_disease(gejala)
76
+ if diagnosis != "Tidak dapat mendiagnosis":
77
+ st.success(f"Diagnosis: {diagnosis}")
78
+ st.write(f"Dengan tingkat akurasi: {kepercayaan:.2f}")
79
+ st.write(f"{definisi}")
80
+ else:
81
+ st.error(definisi)
82
  else:
83
  st.error("Harap isi semua kolom sebelum menekan tombol Diagnosis.")