Spaces:
Running
Running
File size: 3,048 Bytes
a0c69c3 3b32444 871378f 3b32444 dc207d7 871378f 3b32444 871378f dc207d7 3b32444 871378f cdb2eb0 3b32444 a0c69c3 e5e542e 71d165d 2a6b818 e6a50e7 71d165d e6a50e7 cfeafdc dc207d7 871378f cfeafdc 871378f a0c69c3 e5e542e dc207d7 cfeafdc 2a6b818 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import gradio as gr
indwara_dict = {
"Cancer": {
"symptoms": ["umuriro", "kubabara umutwe", "gucika intege"],
"treatment": "Kubagwa, chemotherapy, radiotherapy"
},
"Diabetes": {
"symptoms": ["inyota nyinshi", "gucika intege", "kugabanuka k'ibiro"],
"treatment": "Insulin, imiti yo kugenzura isukari mu maraso"
},
"Flu": {
"symptoms": ["umuriro", "umutwe", "gukorora"],
"treatment": "Kuruhuka, imiti yo kugabanya umuriro nka paracetamol"
},
"COVID-19": {
"symptoms": ["umuriro", "guhumeka nabi", "kuruha", "kubura impumuro"],
"treatment": "Kuruhuka, gufata amazi menshi, imiti y’ibanze, kubonana na muganga"
},
"Malaria": {
"symptoms": ["umuriro", "gucika intege", "kubira ibyuya"],
"treatment": "Artemisinin-based combination therapy (ACT)"
},
"Tuberculosis": {
"symptoms": ["inkorora ikomeye", "umuriro", "gucika intege"],
"treatment": "Isoniazid, rifampicin, pyrazinamide, ethambutol"
},
"Asthma": {
"symptoms": ["guhumeka nabi", "kubura umwuka", "gukorora"],
"treatment": "Inhalers (bronchodilators, corticosteroids)"
},
"Hypertension": {
"symptoms": ["umutwe", "gukorora umutwe", "kuribwa mu mutima"],
"treatment": "Imiti igabanya umuvuduko w’amaraso nka ACE inhibitors, beta blockers"
},
"Stroke": {
"symptoms": ["kuribwa umutwe ukabije", "kubura ubushobozi bwo kugenda", "kudakora neza kw’uruhande rumwe rw’umubiri"],
"treatment": "Muganga hakenewe kwihutirwa, imiti ishinzwe kugabanya amaraso, kuboneza umuvuduko"
},
}
def susuzuma_indwara(ibimenyetso):
ibimenyetso = [i.strip().lower() for i in ibimenyetso.split(',')]
indwara_ishoboka = []
for indwara, data in indwara_dict.items():
symptoms = data["symptoms"]
treatment = data["treatment"]
count = sum(symptom in ibimenyetso for symptom in symptoms)
if count >= len(symptoms) / 2:
indwara_ishoboka.append(f"{indwara} (ibimenyetso bihuye: {count} / {len(symptoms)})\nImiti: {treatment}")
if indwara_ishoboka:
return "Indwara ishoboka hamwe n'imiti:\n\n" + "\n\n".join(indwara_ishoboka)
else:
return "Ntibishoboka kumenya indwara ishingiye ku bimenyetso watanze. Nyamuneka saba muganga."
with gr.Blocks(title="VIATEUR AI Kwamuganga") as iface:
gr.Markdown("## 🏥 VIATEUR AI Kwamuganga\n### Saba ubufasha bwo gusuzuma indwara ukurikije ibimenyetso byawe")
gr.Image(
value="https://media.giphy.com/media/L05HgB2h6qICDs5Sms/giphy.gif", # Animation nziza usabye
label="Uragana kwa Muganga",
)
textbox = gr.Textbox(
lines=3,
placeholder="Andika ibimenyetso byawe (urugero: umuriro, umutwe, gukorora)",
label="Ibimenyetso"
)
output = gr.Textbox(label="Indwara Ishoboka n'Imiti", lines=10)
submit_btn = gr.Button("Submit")
submit_btn.click(fn=susuzuma_indwara, inputs=textbox, outputs=output)
iface.launch()
|