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()