Kwa Nini Jibu la Kujiamini Linaweza Kuwa Mbaya Zaidi Kuliko Kutokuwa na Jibu
Unamaliza kujenga chatbot ya ndani. Unaiwekea kila sera ya HR, maelezo ya kihandisi, na hati ya kujiunga na kampuni (onboarding doc) ambayo kampuni yako inamiliki. Mfanyakazi mpya anauliza kuhusu kikomo cha gharama za safari kwa chakula cha jioni cha wateja. Bot inajibu papo hapo. Inaonekana ina uhakika. Kikomo kinachotaja ni $75 kwa kila mtu.
Sera halisi inasema $50. Bot ilibuni jibu hilo. Haikufungua kamwe faili zako. Ilikisia tu, ikitumia mifumo iliyofichwa katika data yake ya mafunzo ya miaka mingi iliyopita. Hii ndiyo ukweli mchungu wa kuendesha mifano mikubwa ya lugha (large language models) dhidi ya nyaraka za siri. Haina ufikiaji wa maarifa yako ya ndani. Wakati ukweli unaohitaji uko nje ya uzito wake wa mafunzo (training weights), inatunga badala ya kukiri kutojua. Katika matumizi ya kawaida, hili huacha kuwa jambo la kufurahisha na kuanza kuwa hatari.
Retrieval-Augmented Generation, au RAG, ilijengwa kutatua jambo hili hasa. Badala ya kuiomba modeli kukumbuka kila kitu, unairuhusu itafute mambo.
Kutoka Kukisia hadi Kusoma
Fikiria LLM ghafi kama mfanyakazi mwenza mwenye akili nyingi mwenye kumbukumbu ya picha, lakini ambaye aliondoka kwenye kampuni yako kabla hujajiunga. Anaweza kuandika maandishi yenye mvuto, kutatua mafumbo ya kimantiki, na kueleza dhana kwa maneno rahisi. Hata hivyo, mwulize kuhusu mabadiliko ya API ya robo mwaka iliyopita, na atatunga tu kitu kinachosikika kuwa cha kweli. Hana chaguo lingine.
RAG inampa mfanyakazi huyo ufikiaji wa kabati la mafaili. Mtumiaji anapouliza swali, mfumo haupandikii swali hilo kwenye modeli bila mpangilio. Kwanza, unatafuta nyaraka husika, unaziweka kwenye prompt kama muktadha (context), na kisha pekee ndipo unaiomba modeli isome na kujibu. Modelii inabadilika kutoka kukumbuka ukweli hadi kuelewa ukweli ambao upo mbele yake moja kwa moja.
Mtiririko huu unagawanyika wazi katika sehemu mbili: kazi ya awali (offline) na jibu la moja kwa moja (online).
Awamu ya 1: Awamu ya Maandalizi (Offline)
Muda mrefu kabla ya mtu yeyote kuandika swali, lazima ugeuze mkusanyiko wako wa nyaraka zilizochanganyikana kuwa msingi wa maarifa unaoweza kutafutika. Kazi hii ya awali huamua ikiwa mfumo wako wa RAG utafanikiwa au utafeli kimyakimya.
Document loaders ndio mahali pa kuanzia. Viunganishi hivi huvuta maandishi ghafi kutoka kwenye PDF, maeneo ya kazi ya Notion, folda za SharePoint, kurasa za wavuti, na wikia za ndani. Hapa ndipo uhalisia unapoanza kuleta changamoto. 'Loader' inaweza kutoa maandishi safi kutoka kwenye hati ya Word, lakini ikashindwa kwenye PDF iliyoskaniwa ambayo ni picha tu bila tabaka la maandishi lililojumuishwa. 'Loader' inarudisha maandishi tupu, hifadhidata yako haihifadhi kitu, na baadaye mtumiaji anapata jibu la "Sijui" bila onyo lolote. Kila wakati hakiki kile ambacho 'loaders' zako zimevuta kweli. Fanya ukaguzi wa haraka kwenye idadi ndogo ya nyaraka kutoka kila chanzo kabla ya kuamini mfumo huo.
Inafuata text splitting, inayojulikana pia kama chunking. Huwezi kuweka sera ya usalama ya kurasa themanini kwenye prompt kwa mkupuo mmoja; ungelipita mipaka ya muktadha na kuzika ujumbe muhimu kwenye kelele. Badala yake, unakata nyaraka katika vipande (chunks). Siri ni kuchagua ukubwa sahihi. Vipande vidogo sana, kama sentensi moja, mara nyingi hupoteza muktadha muhimu. Kipande kinachosema "Maombi yote lazima yakubaliwe na meneja" kinasahau kutaja kwamba sheria hii inahusu safari za kimataifa pekee. Vipande vikubwa sana, kama sura nzima, hupunguza nguvu ya embedding na kuchanganya utafutaji kwa sababu vinahusu mada kumi na tano tofauti kwa wakati mmoja. Katika utendaji, timu nyingi huanza na vipande kati ya token 300 na 500, kukiwa na overlap ya token 50 ili sentensi zinazovuka mpaka zisiharibike. Rekebisha hili kulingana na maudhui yako. Nyaraka za API zinahitaji vipande vidogo zaidi. Mikataba ya kisheria mara nyingi inahitaji vipande vikubwa ili kuhifadhi mantiki ya masharti.
Baada ya kukatwa, kila kipande kinabadilishwa kuwa embedding. Hii inamaanisha kupitisha maandishi kwenye modeli inayotoa orodha ya namba, vector, inayowakilisha maana ya kimaana (semantic meaning) ya kipande hicho. Mawazo yanayofanana huwekwa karibu karibu katika nafasi hii ya hisabati. "Sera ya uendeshaji wa 401k" na "sheria za mchango wa kustaafu" zitakuwa karibu zaidi kuliko "Sera ya uendeshaji wa 401k" na "mpangilio wa printa ya ofisi." Vector hizi huhifadhiwa kwenye vector database, kama vile Pinecone, Weaviate, au mbadala wa chanzo huru kama Chroma. Vector store si sehemu ya kutupa vitu tu. Ni kielelezo (index) kilichoboreshwa kwa ajili ya utafutaji wa jirani wa karibu (approximate nearest-neighbor search), kinachokuruhusu kupata vipande muhimu zaidi ndani ya milisekunde hata kati ya mamilioni ya nyaraka.
Awamu ya 2: Njia ya Moja kwa Moja (Online)
When a user finally asks, "What is our travel reimbursement policy for client dinners?", the live pipeline kicks in.
The
