Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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="
|
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([{
|
|
|
|
|
|
|
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)
|