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