Kwa Nini Programu Yangu ya RAG Ilitoa Majibu ya Uongo na Jinsi Nilivyorekebisha

Wakati mmoja nilimwonyesha mfano wa bot yangu ya msaada ya RAG kwa mfanyakazi mwenzangu.

Bot ilimwambia kuwa sera yetu ya kurejeshewa fedha ni siku 30.

Sera yetu halisi ni siku 14.

Bot haikusema kuwa haikuwa na uhakika. Ilitunga jibu kwa ujasiri mkubwa.

RAG inapaswa kuzuia hallucinations. Mpangilio wangu ulihamisha tu matatizo hayo mahali pengine.

Nilirekebisha hili kwa kufuata hatua tano.

  1. Rekebisha mkakati wako wa chunking

Nilikuwa nikigawanya hati kwa idadi ya herufi. Hili lilikuwa kosa.

Chunk moja mara nyingi ilichanganya mada tofauti kama usafirishaji na kurejesha bidhaa. Model ilichanganya hizi na kutoa majibu yasiyo sahihi.

Suluhisho: Nilibadilisha na kutumia semantic chunking. Sasa nagawanya maandishi kwa vichwa vya habari na aya.

  1. Acha kuamini alama za ufanani (similarity scores) pekee

Retriever yangu ilichagua chunk tatu za juu kulingana na cosine similarity.

Kufanana si sawa na kuhusika (relevance). Chunk inaweza kuonekana kufanana na swali lakini isiwe na jibu.

Suluhisho: Niliongeza hatua ya reranking kwa kutumia cross-encoder. Hii ilinisaidia kuona wakati mfumo hauna data halisi.

  1. Ipe model ruhusa ya kushindwa

Prompt yangu ya zamani ilisema tu: Tumia muktadha (context) kujibu swali.

Ikiwa muktadha haukuwa na jibu, model ilijaza mapengo kwa kubahatisha.

Suluhisho: Niliongeza maelekezo ya moja kwa moja. Ikiwa jibu halipo kwenye muktadha, sema kuwa hujui. Hili pekee liliacha hallucinations nyingi.

  1. Weka kiwango cha utafutaji (retrieval threshold)

Wakati mwingine model ilitumia maarifa ya jumla wakati utafutaji ulipofeli. Nilikuwa nikitumaini kuwa prompt ingefanya kazi, lakini tumaini si mkakati.

Suluhisho: Niliongeza kiwango cha chini cha alama (score cutoff). Ikiwa alama ya utafutaji ni ndogo sana, mfumo unatoa jibu la mbadala (fallback response). Hakuna muktadha inamaanisha hakuna jibu.

  1. Jaribu kwa ajili ya kushindwa, si kwa ajili ya mafanikio

Nilikuwa nikijaribu maswali rahisi pekee. Nilipuuza maswali yenye utata na habari zinazokosekana.

Suluhisho: Nilijenga seti ya tathmini ya maswali ya mtego (trap questions). Hizi ni hali ambapo jibu linakosekana. Kufanya majaribio haya mara kwa mara kunakuonyesha mahali ambapo mfumo wako unavunjika.

RAG haiondoi hallucinations. Inazifanya ziweze kudhibitiwa.

Bot yangu bado haijui kila undani. Lakini sasa, inakiri inapokuwa haina uhakika. Hilo inafanya iweze kutumika.

Chanzo: https://dev.to/pallavi_sharma_10c1a6f1da/why-my-rag-app-kept-hallucinating-and-how-i-fixed-it-3i10

Jumuiya ya hiari ya kujifunza: https://t.me/GyaanSetuAi