File size: 9,397 Bytes
6449826
2b7b5e0
6449826
2b7b5e0
6449826
078b37a
 
2b7b5e0
 
078b37a
2b7b5e0
078b37a
6449826
078b37a
 
6449826
2b7b5e0
 
 
 
 
 
 
7b5b991
2b7b5e0
078b37a
2b7b5e0
 
 
 
 
 
 
 
 
 
 
 
 
078b37a
 
2b7b5e0
 
 
 
078b37a
 
2b7b5e0
078b37a
2b7b5e0
 
 
 
 
078b37a
 
2b7b5e0
 
 
 
 
7b5b991
6449826
2b7b5e0
078b37a
2b7b5e0
 
 
 
 
 
 
 
 
 
 
7b5b991
6449826
2b7b5e0
078b37a
2b7b5e0
078b37a
2b7b5e0
 
078b37a
 
 
2b7b5e0
 
 
 
 
078b37a
 
2b7b5e0
078b37a
2b7b5e0
 
 
 
078b37a
 
 
2b7b5e0
 
 
 
 
 
078b37a
 
2b7b5e0
7b5b991
2b7b5e0
 
 
7b5b991
45788ce
7b5b991
2b7b5e0
078b37a
2b7b5e0
 
7b5b991
 
2b7b5e0
078b37a
2b7b5e0
 
 
7b5b991
45788ce
2b7b5e0
 
 
 
 
 
 
45788ce
 
 
2b7b5e0
 
45788ce
078b37a
 
 
 
2b7b5e0
 
45788ce
6449826
 
45788ce
 
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
import gradio as gr
import random

# KaydAI – Version 6 (Deep Knowledge – Macluumaad Badan, Jawaabo Dheer)

SYSTEM_PROMPT = """
You are KaydAI, a Somali AI assistant created by SomaliTechAI.
You always respond in clear, respectful, rich Somali.
You explain things simply but with depth, never insult, never argue, and never give harmful advice.
Your tone is friendly, knowledgeable, and professional.
Your goal is to help Somali users understand information easily and deeply.
"""

def kaydai_chat(message, history):
    text = message.lower().strip()

    intros = [
        "KaydAI: Waa ku mahadsan tahay su'aashaada. Aan ku siiyo sharaxaad qoto dheer oo Somali ah.",
        "KaydAI: Su'aashaada waa muhiim. Aan si tartiib ah oo faahfaahsan kuugu sharaxo.",
        "KaydAI: Aan ka jawaabo si faahfaahsan, adigoo heli doona macluumaad cad oo isku xirxiran.",
        "KaydAI: Waa su'aal xiiso leh. Aan kuu kala jabiyo si aad si fudud u fahanto.",
    ]
    intro = random.choice(intros)

    # 1. KaydAI naftiisa
    if any(k in text for k in ["yaa tahay", "magacaa", "maxaad tahay", "kaydai"]):
        bodies = [
            "Magacaygu waa KaydAI, waxaan ahay caawiye Somali ah oo loo sameeyay in uu dadka ka caawiyo fahamka macluumaadka, barashada, iyo helidda jawaabo cad. Waxaan isku dayaa in aan ku hadlo Somali nadiif ah, si kooban laakiin qoto dheer.",
            "Waxaan ahay KaydAI, AI Somali ah oo ka tirsan SomaliTechAI. Ujeeddadaydu waa in aan noqdo buug furan oo Somali ah oo aad wax walba weydiin karto: taariikh, cilmi, tiknoolaji, nolosha, iyo waxbarasho.",
        ]
        return intro + " " + random.choice(bodies)

    # 2. Af‑Soomaali & barasho
    if any(k in text for k in ["af somali", "af-soomaali", "luuqada somalida", "afsomali"]):
        bodies = [
            "Af‑Soomaaligu waa luuqad Cushitic ah oo ay ku hadlaan dadka Soomaaliyeed iyo qaybo ka mid ah dalalka deriska ah. Waxaa la qoray si rasmi ah 1972, iyadoo la adeegsaday alifbeetada Laatiinka. Luuqaddu waxay leedahay 32 xaraf, dhawaaqyo fudud, iyo naxwe cad. Haddii aad rabto in aad barato, waxaa fiican in aad ka bilowdo xuruufta, erayada aasaasiga ah (salaanta, isbarashada), kadibna weedho maalinle ah.",
            "Af‑Soomaaligu waa luuqad hodan ku ah gabayga, maahmaahyada, iyo suugaanta. Waxaa lagu cabbiraa fikrado qoto dheer oo ku saabsan geesinimada, jacaylka, diinta, iyo dhaqanka. Barashadeedu waxay kaa caawin kartaa in aad si fiican ula xiriiro bulshada Soomaaliyeed, gudaha iyo dibaddaba."
        ]
        return intro + " " + random.choice(bodies)

    if any(k in text for k in ["i bar", "i bari", "ma i bari kartaa", "bartaa"]):
        return intro + (
            "Haa, waan ku bari karaa. Aan ku bilaabo talo guud: marka aad rabto in aad luuqad barato, "
            "isku day in aad maalin kasta wax yar barato, ku celceliso, oo aad ku hadasho. "
            "Waxaan kuu diyaarin karaa casharro isdaba joog ah: xuruufta, erayada, weedhaha, iyo akhriska."
        )

    # 3. Somaliya & taariikh
    if "somaliya" in text or "somalia" in text:
        bodies = [
            "Somaliya waa dal ku yaal Geeska Afrika, oo leh xeebta ugu dheer ee qaaradda Afrika. Caasimaddu waa Muqdisho. Dadka Soomaaliyeed waxay ku caan yihiin xoolo-dhaqashada, ganacsiga, iyo suugaanta. Taariikh ahaan, Somaliya waxay ahayd xarun ganacsi oo muhiim ah oo isku xirta Carabta, Afrika, iyo Aasiya.",
            "Somaliya waxay leedahay dhul kala duwan: xeeb, bannaan, buuro, iyo dhul daaqsimeed. Dhaqanka Soomaalidu wuxuu xoog ku leeyahay martisoorka, gabayga, iyo wadaagga qoyska. Inkastoo ay soo martay dagaallo iyo dhibaatooyin, haddana dadka Soomaaliyeed waxay leeyihiin adkaysi iyo rajo weyn."
        ]
        return intro + " " + random.choice(bodies)

    if "taariikh" in text and "somali" in text:
        return intro + (
            "Taariikhda Soomaalidu waa mid dheer oo ka horreysa gumeysiga. Waxaa jiray boqortooyooyin iyo suldaanado "
            "xukumi jiray xeebaha iyo gudaha, kuwaas oo ganacsi la lahaa Carabta, Faaris, iyo Hindiya. Qarnigii 19aad, "
            "gumeysi ayaa galay, kadibna qarnigii 20aad ayaa xornimo la qaatay. Kadib xornimada, dalku wuxuu soo maray "
            "xilli dowladnimo, kadibna dagaallo sokeeye. Hadda, waxaa socda dadaallo dib u dhis iyo horumar ah."
        )

    # 4. Cilmiga guud
    if "cilmi" in text or "science" in text:
        return intro + (
            "Cilmigu waa barashada sida dunidu u shaqeyso. Waxaa ka mid ah physics (dhaqdhaqaaqa iyo tamarta), "
            "chemistry (isku-dhafka walxaha), biology (noolaha), iyo astronomy (xiddigaha iyo meerayaasha). "
            "Cilmigu wuxuu naga caawiyaa in aan fahanno jirkeena, deegaanka, iyo tiknoolajiga aan isticmaalno maalin kasta."
        )

    if "jirka" in text or "biology" in text:
        return intro + (
            "Biology waa cilmiga baranaya noolaha: dadka, xayawaanka, dhirta, iyo bakteeriyada. "
            "Jirka bini'aadamka wuxuu ka kooban yahay nidaamyo badan: wadnaha iyo dhiigga, neefsiga, dheefshiidka, "
            "maskaxda iyo neerfaha. Mid kasta wuxuu leeyahay shaqo gaar ah oo isku xiran si noloshu u socoto."
        )

    # 5. Tiknoolaji & AI
    if "technology" in text or "tiknoolaji" in text or "tech" in text:
        return intro + (
            "Tiknoolajigu waa isticmaalka aqoonta iyo qalabka si loo xalliyo dhibaatooyinka nolosha. "
            "Tusaale: taleefannada casriga ah, kombiyuutarada, internet‑ka, AI, iyo robots. "
            "Tiknoolajigu wuxuu beddelay sida aan u shaqeyno, u baranno, u isgaarsiino, iyo xitaa sida aan u ganacsanno."
        )

    if "ai" in text or "artificial intelligence" in text:
        return intro + (
            "AI (Artificial Intelligence) waa tiknoolaji awood u leh in ay wax barato, xog falanqeyso, "
            "oo go'aan ka gaarto, mararka qaarna ka jawaabto su'aalo sida bini'aadamka. "
            "Chatbots, tarjumaad otomaatig ah, ogaanshaha sawirrada, iyo codadka caqliga leh (voice assistants) "
            "dhammaantood waa tusaalooyin AI ah. KaydAI laftiisu waa chatbot Somali ah oo ku dhisan fikradda AI."
        )

    # 6. Nolosha, talo, waxbarasho
    if "talo" in text or "i talo sii" in text:
        return intro + (
            "Talo guud oo nolosha ah: isku day in aad yeelato yool cad (maxaad rabtaa 1 sano, 5 sano, 10 sano?), "
            "kadibna u kala jabiso tallaabooyin yaryar. Ka fogow isbarbardhigga dadka kale, diiradda saar naftaada. "
            "Baro wax cusub maalin kasta, xitaa haddii ay tahay hal fikrad oo yar. Haddii aad ii sheegto xaaladdaada, "
            "waxaan ku siin karaa talo gaar ah oo kugu habboon."
        )

    if "waxbarasho" in text or "school" in text or "dugsi" in text or "jaamacad" in text:
        return intro + (
            "Waxbarashadu waa furaha fursadaha. Si aad ugu guuleysato waxbarashada: "
            "samee jadwal aad ku barato, ku celi casharrada, weydii macallinka ama saaxiibada marka aadan fahmin, "
            "kana fogow mashquulka badan ee telefoonka iyo social media. Haddii aad ii sheegto heerkaaga, "
            "waxaan ku siin karaa talooyin gaar ah oo ku habboon."
        )

    # 7. "Waa maxay..." & "Sidee..."
    if "waa maxay" in text:
        return intro + (
            "Marka aad tiraahdo 'waa maxay', waxaad rabtaa sharaxaad. Fadlan ii sheeg waxa aad rabto in aan kuu sharaxo: "
            "tusaale ahaan, waa maxay internet, waa maxay AI, waa maxay blockchain, iwm."
        )

    if "sidee" in text:
        return intro + (
            "Marka aad tiraahdo 'sidee', waxaad rabtaa hab ama tallaabooyin. "
            "Ii sheeg waxa aad rabto in aan kuu sharaxo sida loo sameeyo: "
            "tusaale, sidee loo barta coding, sidee loo sameeyaa channel YouTube, iwm."
        )

    # 8. Caawinta guud
    if "i caawi" in text or "caawin" in text:
        return intro + (
            "Haa, waan ku caawin karaa. Fadlan ii sheeg: ma rabtaa caawimaad waxbarasho, shaqo, nolosha maalinlaha ah, "
            "tiknoolaji, mise wax kale? Markaad faahfaahiso, waxaan ku siin karaa jawaab ka qoto dheer."
        )

    # 9. Default – jawaab qoto dheer oo furan
    defaults = [
        f"Waxaan helay su'aashaada: “{message}”. Inkasta oo aanan ahayn bini'aadan, waxaan isku dayayaa in aan ku siiyo jawaab macquul ah. Fadlan ii sheeg si faahfaahsan waxa aad rabto: sharaxaad, tusaale, talo, ama xog taariikhi ah.",
        f"Su'aashaada waa muhiim. Haddii aad ii sheegto mowduuca si ka cad, waxaan ku siin karaa sharaxaad dheer oo Somali ah oo fudud.",
        f"Waxaan diyaar u ahay in aan ka jawaabo su'aashaada: “{message}”. Haddii aad rabto, ii sheeg dhinaca aad ka danayneyso (cilmi, taariikh, diin guud, tech, nolosha, waxbarasho)."
    ]
    return intro + " " + random.choice(defaults)

demo = gr.ChatInterface(
    fn=kaydai_chat,
    title="KaydAI – Somali AI Assistant (Version 6 – Deep Knowledge)",
    description="KaydAI casri ah oo bixiya jawaabo dhaadheer, macluumaad badan, iyo sharaxaad qoto dheer oo Somali ah.",
    examples=[
        "Yaa tahay KaydAI?",
        "Iiga warran taariikhda Soomaalida.",
        "Waa maxay AI?",
        "Waxbarashada maxaad iga talo siin kartaa?",
        "Tiknoolajiga casriga ah maxaad ka sheegi kartaa?",
        "Ma i bari kartaa Af‑Soomaaliga?"
    ],
)

if __name__ == "__main__":
    demo.launch()