ISHURI / app.py
VIATEUR-AI's picture
import gradio as gr # Dictionary y'indwara 50 hamwe na symptoms na treatments 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" }, # Hano hari izindi 40 zumvikana (ngwino ngerageze) "Bronchitis": { "symptoms": ["inkorora", "kubabara mu gituza", "guhumeka nabi"], "treatment": "Kuruhuka, imiti y’inkorora, antibiotics niba ari bacterial" }, "Pneumonia": { "symptoms": ["inkorora ikomeye", "umuriro", "guhumeka nabi"], "treatment": "Antibiotics, kuruhuka, gufata amazi menshi" }, "Migraine": { "symptoms": ["kubabara umutwe ukabije", "kumva urusaku cyane", "guhumeka nabi"], "treatment": "Iminsi y’ikiruhuko, imiti yo kugabanya ububabare nka ibuprofen" }, "Depression": { "symptoms": ["guhangayika", "kubura ubushake bwo gukora", "kwiheba"], "treatment": "Psychotherapy, imiti nka antidepressants" }, "Anxiety": { "symptoms": ["guhangayika cyane", "umutima guhagarara vuba", "kubura ibitotsi"], "treatment": "Psychotherapy, imiti yo kugabanya guhangayika" }, "Arthritis": { "symptoms": ["ububabare mu ngingo", "kubura umuvuduko mu ngingo", "kugabanya imbaraga"], "treatment": "Anti-inflammatory drugs, physiotherapy" }, "Allergy": { "symptoms": ["kuribwa umutwe", "kuribwa mu mazuru", "guhumeka nabi"], "treatment": "Antihistamines, avoiding allergens" }, "Appendicitis": { "symptoms": ["kubabara mu nda y'ibumoso", "umuriro", "gucika intege"], "treatment": "Kubagwa" }, "Gastritis": { "symptoms": ["kubabara mu nda", "kuribwa umutima", "kuribwa mu gatuza"], "treatment": "Imiti yo kugabanya aside mu nda" }, "Hepatitis": { "symptoms": ["kunyeganyega", "kubabara mu gatuza", "guhinduka ibara ry'uruhu"], "treatment": "Kuruhuka, imiti yihariye" }, "Kidney Stones": { "symptoms": ["ububabare mu nda", "kuruka", "kugira umuriro"], "treatment": "Amazi menshi, kubagwa niba bikomeye" }, "Chickenpox": { "symptoms": ["ibisebe ku ruhu", "umuriro", "gucika intege"], "treatment": "Kuruhuka, imiti yo kugabanya ububabare" }, "Eczema": { "symptoms": ["kubabara uruhu", "gusohoka imyanda", "gucika intege"], "treatment": "Creams za corticosteroids, moisturizing" }, "Food Poisoning": { "symptoms": ["kuruka", "impiswi", "umuriro"], "treatment": "Amazi menshi, imiti yo kugabanya impiswi" }, "Sinusitis": { "symptoms": ["kubabara umutwe", "kubabara mu mazuru", "gukorora"], "treatment": "Antibiotics, kuruhuka" }, "Conjunctivitis": { "symptoms": ["ijisho rirabura", "kubabara ijisho", "gusohora amavuta"], "treatment": "Antibiotic eye drops" }, "Gout": { "symptoms": ["ububabare mu ngingo", "kubura ubushobozi bwo kugenda", "kubyimba"], "treatment": "Anti-inflammatory drugs" }, "Obesity": { "symptoms": ["kugabanuka kw’imbaraga", "ibiro byinshi", "kunanirwa guhumeka neza"], "treatment": "Imirire iboneye, imyitozo ngororamubiri" }, "Osteoporosis": { "symptoms": ["ububabare mu ngingo", "gucika intege", "kugira amagufa yoroshye"], "treatment": "Calcium supplements, vitamin D" }, "Psoriasis": { "symptoms": ["uruhu rucyeye", "gukorora", "imyanda ku ruhu"], "treatment": "Creams za corticosteroids" }, "Sleep Apnea": { "symptoms": ["kubura umwuka mu gihe cyo kuryama", "kuryama nabi", "kuribwa umutwe"], "treatment": "CPAP machine, kugabanya ibiro" }, "Ulcers": { "symptoms": ["kubabara mu nda", "kuribwa umutima", "kunanirwa kurya"], "treatment": "Imiti yo kugabanya aside, kurya neza" }, "Varicose Veins": { "symptoms": ["kubyimba mu maguru", "kuribwa amaguru", "kumva uburemere"], "treatment": "Compression stockings, exercise" }, "Alzheimer's Disease": { "symptoms": ["kubura ubushobozi bwo kwibuka", "guhinduka imyitwarire", "kugabanuka kw’ubushobozi bwo gutekereza"], "treatment": "Imiti ifasha ubwonko, psychotherapy" }, "Parkinson's Disease": { "symptoms": ["gucika intege", "gukorora", "kunanirwa kugenda neza"], "treatment": "Levodopa, physiotherapy" }, "Epilepsy": { "symptoms": ["guterura", "kubura ubushobozi bwo kugenzura umubiri", "kurwara umutwe ukabije"], "treatment": "Antiepileptic drugs" }, "HIV/AIDS": { "symptoms": ["gucika intege", "kubura ibiro", "umuriro udakira"], "treatment": "Antiretroviral therapy (ART)" }, "Cholera": { "symptoms": ["impiswi nyinshi", "kunyeganyega", "gucika intege"], "treatment": "Amazi y’ibanze, imiti yo kongera amazi mu mubiri" }, "Dengue": { "symptoms": ["umuriro ukabije", "kubabara amagufa", "kunanirwa"], "treatment": "Kuruhuka, imiti yo kugabanya ububabare" }, "Meningitis": { "symptoms": ["kubabara umutwe ukabije", "umuriro", "kubura ubushobozi bwo kwibuka"], "treatment": "Antibiotics, kuruhuka" }, "Polio": { "symptoms": ["kunanirwa kugenda", "gucika intege", "kubabara amaguru"], "treatment": "Kugororwa, imiti yunganira" }, "Rabies": { "symptoms": ["gukorora", "kubabara umutwe", "gucika intege"], "treatment": "Vaccine, kurwanya ubwandu" }, "Scabies": { "symptoms": ["kubabara uruhu", "gukorora", "imyanda ku ruhu"], "treatment": "Creams za permethrin" }, "Tuberculosis (TB)": { "symptoms": ["inkorora ikomeye", "umuriro", "gucika intege"], "treatment": "Isoniazid, rifampicin, pyrazinamide, ethambutol" }, "Typhoid": { "symptoms": ["umuriro", "kubabara mu nda", "kunanirwa"], "treatment": "Antibiotics" }, "Urinary Tract Infection": { "symptoms": ["kubabara igihe uciye mu nkari", "umuriro", "gucika intege"], "treatment": "Antibiotics" }, "Whooping Cough": { "symptoms": ["inkorora ikabije", "kubabara umutwe", "umuriro"], "treatment": "Antibiotics, kuruhuka" }, "Zika Virus": { "symptoms": ["umuriro", "kubabara amagufa", "gucika intege"], "treatment": "Kuruhuka, gufata amazi menshi" }, } 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(css=""" body {background-color: #e0f7e9;} .gradio-container {border-radius: 15px; box-shadow: 0 8px 16px rgba(0, 128, 0, 0.3);} h2, h3 {color: #2e7d32; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;} .gr-button {background-color: #43a047; color: white; border-radius: 12px; font-weight: bold;} .gr-button:hover {background-color: #2e7d32;} """) as iface: gr.Markdown("## 🏥 VIATEUR AI Kwamuganga\n### Saba ubufasha bwo gusuzuma indwara ukurikije ibimenyetso byawe") gr.Image( value="https://media.giphy.com/media/xT0BKqhdlKCxCNsVTq/giphy.gif", 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=15) submit_btn = gr.Button("Ohereza") submit_btn.click(fn=susuzuma_indwara, inputs=textbox, outputs=output) iface.launch()
02c133e verified
import gradio as gr
# Dictionary y'indwara 50 hamwe na symptoms na treatments
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"
},
# Hano hari izindi 40 zumvikana (ngwino ngerageze)
"Bronchitis": {
"symptoms": ["inkorora", "kubabara mu gituza", "guhumeka nabi"],
"treatment": "Kuruhuka, imiti y’inkorora, antibiotics niba ari bacterial"
},
"Pneumonia": {
"symptoms": ["inkorora ikomeye", "umuriro", "guhumeka nabi"],
"treatment": "Antibiotics, kuruhuka, gufata amazi menshi"
},
"Migraine": {
"symptoms": ["kubabara umutwe ukabije", "kumva urusaku cyane", "guhumeka nabi"],
"treatment": "Iminsi y’ikiruhuko, imiti yo kugabanya ububabare nka ibuprofen"
},
"Depression": {
"symptoms": ["guhangayika", "kubura ubushake bwo gukora", "kwiheba"],
"treatment": "Psychotherapy, imiti nka antidepressants"
},
"Anxiety": {
"symptoms": ["guhangayika cyane", "umutima guhagarara vuba", "kubura ibitotsi"],
"treatment": "Psychotherapy, imiti yo kugabanya guhangayika"
},
"Arthritis": {
"symptoms": ["ububabare mu ngingo", "kubura umuvuduko mu ngingo", "kugabanya imbaraga"],
"treatment": "Anti-inflammatory drugs, physiotherapy"
},
"Allergy": {
"symptoms": ["kuribwa umutwe", "kuribwa mu mazuru", "guhumeka nabi"],
"treatment": "Antihistamines, avoiding allergens"
},
"Appendicitis": {
"symptoms": ["kubabara mu nda y'ibumoso", "umuriro", "gucika intege"],
"treatment": "Kubagwa"
},
"Gastritis": {
"symptoms": ["kubabara mu nda", "kuribwa umutima", "kuribwa mu gatuza"],
"treatment": "Imiti yo kugabanya aside mu nda"
},
"Hepatitis": {
"symptoms": ["kunyeganyega", "kubabara mu gatuza", "guhinduka ibara ry'uruhu"],
"treatment": "Kuruhuka, imiti yihariye"
},
"Kidney Stones": {
"symptoms": ["ububabare mu nda", "kuruka", "kugira umuriro"],
"treatment": "Amazi menshi, kubagwa niba bikomeye"
},
"Chickenpox": {
"symptoms": ["ibisebe ku ruhu", "umuriro", "gucika intege"],
"treatment": "Kuruhuka, imiti yo kugabanya ububabare"
},
"Eczema": {
"symptoms": ["kubabara uruhu", "gusohoka imyanda", "gucika intege"],
"treatment": "Creams za corticosteroids, moisturizing"
},
"Food Poisoning": {
"symptoms": ["kuruka", "impiswi", "umuriro"],
"treatment": "Amazi menshi, imiti yo kugabanya impiswi"
},
"Sinusitis": {
"symptoms": ["kubabara umutwe", "kubabara mu mazuru", "gukorora"],
"treatment": "Antibiotics, kuruhuka"
},
"Conjunctivitis": {
"symptoms": ["ijisho rirabura", "kubabara ijisho", "gusohora amavuta"],
"treatment": "Antibiotic eye drops"
},
"Gout": {
"symptoms": ["ububabare mu ngingo", "kubura ubushobozi bwo kugenda", "kubyimba"],
"treatment": "Anti-inflammatory drugs"
},
"Obesity": {
"symptoms": ["kugabanuka kw’imbaraga", "ibiro byinshi", "kunanirwa guhumeka neza"],
"treatment": "Imirire iboneye, imyitozo ngororamubiri"
},
"Osteoporosis": {
"symptoms": ["ububabare mu ngingo", "gucika intege", "kugira amagufa yoroshye"],
"treatment": "Calcium supplements, vitamin D"
},
"Psoriasis": {
"symptoms": ["uruhu rucyeye", "gukorora", "imyanda ku ruhu"],
"treatment": "Creams za corticosteroids"
},
"Sleep Apnea": {
"symptoms": ["kubura umwuka mu gihe cyo kuryama", "kuryama nabi", "kuribwa umutwe"],
"treatment": "CPAP machine, kugabanya ibiro"
},
"Ulcers": {
"symptoms": ["kubabara mu nda", "kuribwa umutima", "kunanirwa kurya"],
"treatment": "Imiti yo kugabanya aside, kurya neza"
},
"Varicose Veins": {
"symptoms": ["kubyimba mu maguru", "kuribwa amaguru", "kumva uburemere"],
"treatment": "Compression stockings, exercise"
},
"Alzheimer's Disease": {
"symptoms": ["kubura ubushobozi bwo kwibuka", "guhinduka imyitwarire", "kugabanuka kw’ubushobozi bwo gutekereza"],
"treatment": "Imiti ifasha ubwonko, psychotherapy"
},
"Parkinson's Disease": {
"symptoms": ["gucika intege", "gukorora", "kunanirwa kugenda neza"],
"treatment": "Levodopa, physiotherapy"
},
"Epilepsy": {
"symptoms": ["guterura", "kubura ubushobozi bwo kugenzura umubiri", "kurwara umutwe ukabije"],
"treatment": "Antiepileptic drugs"
},
"HIV/AIDS": {
"symptoms": ["gucika intege", "kubura ibiro", "umuriro udakira"],
"treatment": "Antiretroviral therapy (ART)"
},
"Cholera": {
"symptoms": ["impiswi nyinshi", "kunyeganyega", "gucika intege"],
"treatment": "Amazi y’ibanze, imiti yo kongera amazi mu mubiri"
},
"Dengue": {
"symptoms": ["umuriro ukabije", "kubabara amagufa", "kunanirwa"],
"treatment": "Kuruhuka, imiti yo kugabanya ububabare"
},
"Meningitis": {
"symptoms": ["kubabara umutwe ukabije", "umuriro", "kubura ubushobozi bwo kwibuka"],
"treatment": "Antibiotics, kuruhuka"
},
"Polio": {
"symptoms": ["kunanirwa kugenda", "gucika intege", "kubabara amaguru"],
"treatment": "Kugororwa, imiti yunganira"
},
"Rabies": {
"symptoms": ["gukorora", "kubabara umutwe", "gucika intege"],
"treatment": "Vaccine, kurwanya ubwandu"
},
"Scabies": {
"symptoms": ["kubabara uruhu", "gukorora", "imyanda ku ruhu"],
"treatment": "Creams za permethrin"
},
"Tuberculosis (TB)": {
"symptoms": ["inkorora ikomeye", "umuriro", "gucika intege"],
"treatment": "Isoniazid, rifampicin, pyrazinamide, ethambutol"
},
"Typhoid": {
"symptoms": ["umuriro", "kubabara mu nda", "kunanirwa"],
"treatment": "Antibiotics"
},
"Urinary Tract Infection": {
"symptoms": ["kubabara igihe uciye mu nkari", "umuriro", "gucika intege"],
"treatment": "Antibiotics"
},
"Whooping Cough": {
"symptoms": ["inkorora ikabije", "kubabara umutwe", "umuriro"],
"treatment": "Antibiotics, kuruhuka"
},
"Zika Virus": {
"symptoms": ["umuriro", "kubabara amagufa", "gucika intege"],
"treatment": "Kuruhuka, gufata amazi menshi"
},
}
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(css="""
body {background-color: #e0f7e9;}
.gradio-container {border-radius: 15px; box-shadow: 0 8px 16px rgba(0, 128, 0, 0.3);}
h2, h3 {color: #2e7d32; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;}
.gr-button {background-color: #43a047; color: white; border-radius: 12px; font-weight: bold;}
.gr-button:hover {background-color: #2e7d32;}
""") as iface:
gr.Markdown("## 🏥 VIATEUR AI Kwamuganga\n### Saba ubufasha bwo gusuzuma indwara ukurikije ibimenyetso byawe")
gr.Image(
value="https://media.giphy.com/media/xT0BKqhdlKCxCNsVTq/giphy.gif",
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=15)
submit_btn = gr.Button("Ohereza")
submit_btn.click(fn=susuzuma_indwara, inputs=textbox, outputs=output)
iface.launch()