Kutoka Kutoelewa Lolote hadi Kujenga App ya RAG
Nilitumia jana kusoma kurasa 31 za maelezo yangu binafsi ya NLP.
Sikuuelewa kitu.
Nilidhani tatizo lilikuwa mimi. Halikuwa hivyo. Tatizo lilikuwa mbinu yangu. Kusoma maelezo siyo kujifunza. Nilikuwa na maelezo yaliyokusudiwa kwa mtaalamu, si kwa mwanzo.
Nilibadilisha mbinu yangu. Niliacha kusoma. Badala yake, niliuliza maswali. Nilitumia mifano rahisi. Nilikataa kutumia istilahi za kiufundi hadi nilipoelewa dhana husika.
Kufikia mwisho wa siku, nilijenga app ya RAG. Hivi ndivyo nilivyojifunza nguzo nne za NLP.
- Bag of Words Kompyuta zinaelewa hisabati pekee. Ili kuchakata maandishi, lazima ugeuze maneno kuwa namba.
Wazia unataka kupanga barua pepe katika kundi la spam au siyo spam. Unaorodhesha kila neno katika barua pepe zako. Unahisabu ni mara ngapi kila neno linatokea. Hii inageuza barua pepe kuwa safu ya namba.
Kasoro yake? Inapuuza mpangilio wa maneno. "Dog bites man" na "man bites dog" zinaonekana kuwa sawa kwa mbinu hii.
- TF-IDF Bag of Words inachukulia kila neno kwa namna sawa. Lakini "the" si muhimu kama "viagra."
TF-IDF inatumia sheria mbili:
- Term Frequency (TF): Jinsi neno linavyotokea mara kwa mara katika barua pepe moja.
- Inverse Document Frequency (IDF): Jinsi neno lilivyo adimu katika barua pepe zote.
Hisabati hii inafuta uzito wa maneno ya kujaza nafasi kama "the" na kuangazia maneno muhimu na adimu.
- Embeddings Bag of Words inadhani "money" na "cash" hazihusiani. Embeddings zinarekebisha hili.
Wazia ramani kubwa. Kila neno ni nukta kwenye ramani hiyo. Maneno yenye maana zinazofanana yanakaa karibu. "Money" na "cash" ni majirani. "Banana" iko mbali sana.
Kompyuta hujifunza maeneo haya kwa kuangalia maneno yanayozunguka neno husika. Ikiwa "money" na "cash" zote zinatokea karibu na "bank" na "pay," kompyuta huviweka karibu mmoja na mwingine.
- RAG (Retrieval-Augmented Generation) Hapa ndipo mambo yote yanapoungana.
Ikiwa kila maelezo katika faili zako ni nukta kwenye ramani, unaweza kupata majibu kwa kutafuta nukta zilizo karibu zaidi.
Mchakato wa RAG:
- Geuza swali kuwa nukta.
- Tafuta nukta za maelezo zilizo karibu zaidi kwenye ramani.
- Toa maelezo hayo kwa AI.
- Iambie AI ijibu kwa kutumia maelezo hayo pekee.
Hii inazuia AI kukisia au kudanganya. Inailazimu AI kutumia data zako halisi.
Nilijenga app yangu, Synapse, nikitumia hatua hizi. Nilianza sifuri hadi kuwa na mfumo unaofanya kazi ndani ya siku moja.
Funzo: Acha kusoma. Anza kuuliza. Ikiwa huwezi kuelezea dhana kwa kutumia mfano rahisi wa ulinganishi, basi bado huijui. Jenga kitu ili kuthibitisha kuwa unaelewa.
Chanzo: https://dev.to/sabimantock/from-i-understood-nothing-to-building-a-rag-app-4033
Jumuia ya kujifunza ya hiari: https://t.me/GyaanSetuAi