RAG ni Nini? Retrieval-Augmented Generation Imeelezwa Kwa Urahisi
RAG (retrieval-augmented generation) ni njia ya kufanya modeli ya AI ijibu maswali kwa kutumia taarifa zako mwenyewe. Mtu anapouliza swali, app yako kwanza hutafuta nyaraka zako kwa vifungu vinavyofaa zaidi, kisha huvipeleka kwa modeli pamoja na swali. Modeli huandika jibu lake kutokana na maandishi hayo badala ya kutegemea tu kile kilichojifunza wakati wa mafunzo.
Kwa nini RAG ni muhimu unapojenga na AI
Modeli kubwa ya lugha inajua mengi kuhusu dunia kwa ujumla, lakini haijui chochote kuhusu biashara yako: bei zako, sera zako, mwongozo wa bidhaa yako, tiketi za msaada za wiki iliyopita. Pia ina tarehe ya mwisho wa mafunzo, kwa hiyo haijui chochote kipya. Ukiiuliza hata hivyo, inaweza kutoa jibu lenye kujiamini, linalosikika vizuri, lakini si sahihi.
Una njia tatu kuu za kutatua hilo:
| Njia | Inafanya nini | Inafaa kwa |
|---|---|---|
| Kubandika kila kitu kwenye prompt | Kutuma nyaraka zako zote kwa kila swali | Maandishi kidogo — kurasa chache |
| RAG | Kutafuta nyaraka na kutuma sehemu husika tu | Mkusanyiko mkubwa au unaobadilika: vituo vya msaada, miongozo, maelezo |
| Fine-tuning | Kumfunza modeli zaidi kwa mifano | Mtindo, muundo na kazi zinazojirudia — si ukweli unaobadilika |
Modeli za kisasa zinakubali prompt ndefu, kwa hiyo kwa FAQ fupi chaguo la kwanza mara nyingi linatosha. RAG hupata nafasi yake unapokuwa na maandishi mengi kuliko unavyotaka kutuma kila mara — kwa sababu kila neno unalotuma linagharimu pesa na muda (angalia jinsi API za LLM zinavyotozwa).
Ukijenga kipengele cha "zungumza na nyaraka zetu", msaidizi wa msaada au zana ya maarifa ya ndani, karibu hakika unajenga aina fulani ya RAG.
Mfano wa kila siku
Fikiria mtihani wa kitabu wazi. Mwanafunzi anayepaswa kujibu kwa kukumbuka anaweza kukosea au kubahatisha. Mwanafunzi anayeruhusiwa kugeuza kurasa sahihi kwanza, kusoma, kisha kujibu, ni wa kuaminika zaidi — mradi tu ayapate hayo mapana.
- Mwanafunzi ni modeli ya lugha.
- Kitabu ni nyaraka zako.
- Kugeuza kurasa sahihi ni utafutaji (retrieval).
- Kuandika jibu kutoka kwenye kurasa hizo ni uzalishaji (generation).
RAG ni toleo la kitabu wazi. Na, kama kwenye mtihani, ubora wa jibu unategemea sana kama kurasa sahihi zilipatikana.
Jinsi RAG inavyofanya kazi, hatua kwa hatua
Mfumo wa kawaida wa RAG una awamu mbili.
Kuandaa nyaraka zako (hufanyika mapema):
- Kukusanya nyenzo chanzo — makala za msaada, PDF, sera, data ya bidhaa.
- Kugawa vipande (chunk): gawanya nyaraka ndefu kuwa vipande vidogo, mara nyingi aya chache kila kimoja, ili utafutaji urudishe sehemu husika tu.
- Kutengeneza embedding ya kila kipande: tuma kwenye modeli ya embedding, ambayo hubadilisha maandishi kuwa embedding — orodha ndefu ya namba zinazonasa maana. Maandishi yanayohusu mambo yanayofanana huishia na namba zinazofanana.
- Kuhifadhi vipande na embeddings zao kwenye hifadhidata inayoweza kutafuta kwa ufanano (mara nyingi huitwa vector database au vector index).
Kujibu swali (hufanyika kila mara):
- Tengeneza embedding ya swali kwa modeli ile ile ya embedding.
- Pata vipande ambavyo embeddings zao ziko karibu zaidi na ya swali — kwa mfano, vitano bora.
- Jenga prompt: maelekezo, vipande vilivyopatikana na swali.
- Zalisha: modeli ya lugha huandika jibu kulingana na vipande hivyo, ikiwezekana ikitaja vilivyotumika.
Kutafuta kwa maana ndiko kunakofanya hili lifanye kazi: swali kuhusu "kurudishiwa pesa zangu" linaweza kupata kipande kilichoitwa "Sera ya kurejesha pesa" hata kama hakishiriki neno hata moja.
Mfano kamili: msaidizi wa msaada wa gym
Sema gym ina makala 40 za msaada na inataka msaidizi wa gumzo kwenye tovuti yake. Mwanachama anauliza: "Naweza kusimamisha uanachama wangu nikiwa safarini?"
App hutengeneza embedding ya swali na kupata vipande vitatu vilivyo karibu zaidi. Mmoja wao unasema:
Kusimamisha uanachama: Wanachama wa mpango wa kila mwezi wanaweza
kusimamisha uanachama wao hadi miezi 2 kwa mwaka. Waombe kwenye
dawati la mapokezi au kwenye app angalau siku 7 kabla ya
kusimamishwa kuanza.
Prompt inayotumwa kwa modeli basi inaonekana kama hivi:
Wewe ni msaidizi wa msaada wa Northside Gym.
Jibu kutoka kwenye vyanzo vilivyo hapa chini pekee. Ikiwa jibu
halipo ndani yake, sema hujui na pendekeza kuwasiliana na dawati
la mapokezi.
Taja chanzo ulichotumia.
[Chanzo 1: Kusimamisha uanachama] Wanachama wa mpango wa kila mwezi wanaweza kusimamisha...
[Chanzo 2: Kughairi uanachama] ...
[Chanzo 3: Pasi za wageni] ...
Swali: Naweza kusimamisha uanachama wangu nikiwa safarini?
Na modeli inajibu: "Ndiyo — kwenye mpango wa kila mwezi unaweza kusimamisha uanachama wako hadi miezi miwili kwa mwaka. Omba kwenye dawati la mapokezi au kwenye app angalau siku 7 kabla (chanzo: Kusimamisha uanachama)."
Gym haikumfunza chochote upya. Ikibadilisha sera ya kusimamisha, inasasisha makala, app huunda upya embedding ya kipande hicho, na jibu lijalo linaakisi mabadiliko.
Istilahi muhimu
| Neno | Maana yake |
|---|---|
| LLM | Large language model — AI inayoandika jibu. Angalia LLM ni nini. |
| Embedding | Orodha ya namba zinazowakilisha maana ya kipande cha maandishi. |
| Modeli ya embedding | Modeli inayotengeneza embeddings. Kwa kawaida ni tofauti na modeli ya gumzo, na ni nafuu zaidi. |
| Kipande (chunk) | Sehemu ya hati, iliyopimwa ili iweze kupatikana peke yake. |
| Vector database / vector search | Hifadhi inayopata vitu vyenye embeddings zinazofanana. Hifadhidata za kawaida nyingi pia zinatoa hili — Postgres, kwa mfano, kupitia kiongezo cha pgvector. |
| Top-k | Idadi ya vipande vinavyopatikana kwa kila swali. |
| Hybrid search | Kuchanganya utafutaji wa kimaana na utafutaji wa maneno ya kawaida, unaosaidia kwa maneno kamili kama namba za bidhaa. |
| Dirisha la muktadha (context window) | Kiasi cha juu cha maandishi modeli inaweza kupokea katika ombi moja. |
| Grounding / citations | Kufunga jibu kwenye vyanzo mahususi vilivyopatikana na kuvionyesha. |
Dhana potofu za kawaida
- "RAG inamfunza modeli kwa data yangu." Haifanyi hivyo. Hakuna kinachobadilika kwenye modeli; inasoma tu maandishi ya ziada wakati wa swali.
- "RAG inamaanisha hakuna hallucinations tena." Inamaanisha chache. Ikiwa utafutaji unakosa kipande sahihi, au jibu halipo kwenye nyaraka zako, modeli bado inaweza kukisia. Mwambie aseme "sijui" na uijaribu kwa maswali ambayo majibu yake unayajua.
- "Ninahitaji vector database maalum." Mara nyingi hauhitaji. Kwa data ya wastani, kiongezo cha vector kwenye hifadhidata uliyonayo, au hata utafutaji wa maneno wa kawaida, vinaweza kutosha.
- "Vipande vikubwa ni bora zaidi." Vikiwa vikubwa sana unatuma maandishi mengi yasiyohusika (gharama zaidi, mkanganyiko zaidi); vikiwa vidogo sana kipande hupoteza muktadha uliokifanya kiwe na maana. Tarajia kurekebisha.
- "Pakia kila kitu tu." Nyaraka zilizopitwa na wakati, zilizorudiwa au zinazopingana huzalisha majibu yanayopingana. Kusafisha nyenzo chanzo mara nyingi ndiyo uboreshaji mkubwa zaidi unaoweza kufanya.
- "Kila mtu anaweza kuona kila hati." Ni kweli tu ukiijenga hivyo. Ikiwa baadhi ya nyaraka ni za faragha kwa watumiaji fulani, utafutaji wenyewe lazima uchuje kwa anayeuliza — vinginevyo msaidizi anaweza kunukuu data ya mteja mmoja kwa mwingine.
Gharama
Kipengele cha RAG kwa kawaida kina gharama tatu zinazoendelea: kutengeneza embeddings za nyaraka zako (ndogo, na nyingi ni ya mara moja), embedding ya kila swali (ndogo sana), na wito wa modeli ya lugha (gharama kuu, inayokua kulingana na idadi ya vipande unavyotuma). Pia kuna hifadhi kwenye hifadhidata yako. Mtoa huduma wako wa AI hutoza gharama hizi kwenye akaunti yako mwenyewe, kwa hiyo weka kikomo cha matumizi huko.
Unachoweza kumwomba kijenzi chako cha AI
- "Kabla ya kujenga RAG, angalia: je, maudhui yetu ni madogo vya kutosha kuwekwa kwenye prompt moja kwa moja?"
- "Gawanya makala za msaada kuwa vipande vya aya chache, weka jina na kiungo cha chanzo cha kila kipande, na hifadhi embeddings kwenye hifadhidata yetu."
- "Tumia hybrid search — ya kimaana pamoja na ya maneno — ili namba za bidhaa bado zilingane."
- "Mwambie modeli ijibu kutoka vyanzo vilivyopatikana pekee, isemi inapojua, na ionyeshe vyanzo chini ya kila jibu."
- "Tafuta nyaraka ambazo mtumiaji aliyeingia anaruhusiwa kuziona pekee."
- "Tengeneza embedding upya kiotomatiki kila hati inapohaririwa."
- "Weka ufunguo wa mtoa huduma wa AI kwenye seva kama siri, kamwe kwenye kivinjari."
- "Rekodi kila swali, vipande vilivyopatikana na jibu, ili niweze kukagua majibu mabaya."
RAG katika Mythex
Mythex haijumuishi bidhaa iliyotengenezwa tayari ya knowledge-base au RAG. Kinachofanya ni kuandika msimbo wa mfumo huo ndani ya app yako: unaleta nyaraka zako na ufunguo wako wa mtoa huduma wa AI, uliohifadhiwa kama siri ya mradi, na wakala hujenga sehemu za utafutaji na gumzo, akitumia hifadhidata ya Postgres ya mradi kwa hifadhi. Matumizi ya mtoa huduma hutozwa kwenye akaunti yako ya mtoa huduma, si credits za Mythex. Nyaraka zinapendekeza kuanza na kipengele kimoja rahisi cha AI na kuongeza RAG mara hicho kikifanya kazi — angalia kujenga app ya AI, na miongozo yetu kuhusu kujenga app ya gumzo la AI na kuongeza vipengele vya AI.
Maswali
RAG kwa maneno rahisi ni nini?
RAG (retrieval-augmented generation) ni njia ya kumfanya modeli ya AI ajibu kutokana na taarifa zako mwenyewe. Kabla modeli haijajibu, app yako hutafuta nyaraka zako kwa vifungu vinavyofaa zaidi kwenye swali na kuvijumuisha kwenye prompt, hivyo jibu linatokana na maandishi hayo badala ya kile modeli ilichojifunza wakati wa mafunzo pekee.
Je, RAG inamfunza AI kwa data yangu?
Hapana. RAG haibadilishi modeli hata kidogo. Inatafuta maandishi husika wakati swali linapoulizwa na kuyapeleka kwa modeli pamoja na swali. Ukibadilisha hati, jibu lijalo linaweza kutumia toleo jipya mara moja.
Je, RAG ni sawa na fine-tuning?
Hapana. Fine-tuning hubadilisha tabia ya modeli kwa kuifunza zaidi kwa mifano, jambo ambalo ni polepole na linafaa zaidi kwa mtindo au muundo. RAG humpa modeli ukweli wa kusoma wakati wa swali, jambo bora kwa maarifa yanayobadilika au yanayopaswa kunukuliwa kwa usahihi.
Je, RAG inazuia hallucinations za AI?
Inazipunguza lakini haziziondoi kabisa. Ikiwa utafutaji unapata vifungu visivyo sahihi, au jibu halipo kwenye nyaraka zako, modeli bado inaweza kukisia. App nzuri za RAG zinamwambia modeli aseme pale asipojua na huonyesha vyanzo walivyotumia.