𝗜 𝗦𝗽𝗲𝗻𝘁 $𝟱𝟬𝟬 𝗼𝗻 𝗥𝗔𝗚 𝗜𝗻𝗳𝗿𝗮𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲 𝗕𝗲𝗳𝗼𝗿𝗲 𝗠𝗮𝗸𝗶𝗻𝗴 𝟳 𝗠𝗶𝘀𝘁𝗮𝗸𝗲𝘀

Nilijenga mfumo wa RAG (RAG pipeline) kwa ajili ya utafutaji wa nyaraka za siri. Ilinigharimu $500 kwa gharama za kompyuta na wiki kadhaa za kutatua hitilafu (debugging). Matokeo yalikuwa mabaya. Watumiaji walipata majibu yasiyohusika na maswali yalichukua muda mrefu.

Nilifanya ukaguzi wa mfumo huo na nikagundua makosa 7 ya kawaida. Kuyafanyia marekebisho kubadilisha kila kitu.

  1. Mgawanyo wa Tokeni uliowekwa (Fixed Token Chunking) Niligawanya nyaraka kwa idadi maalum ya tokeni. Hii iliharibu muktadha. Sentensi ingekatwa katikati. LLM ilipokea data iliyovunjika-vunjika na kutoa majibu duni.
  • Suluhisho: Tumia mgawanyo wa kimaana (semantic chunking) pamoja na upatikanaji wa hati mama (parent-document retrieval).
  • Gawanya kwa mipaka ya asili kama aya au vichwa vya habari.
  • Tengeneza vipande vidogo (child chunks) kwa ajili ya utafutaji.
  • Rudisha hati mama nzima kwa LLM pale panapopatikana inayolingana.
  • Ongeza mwingiliano (overlap) wa 10-20% kati ya vipande.
  1. Uzito wa Utafutaji wa Kawaida (Default Search Weights) Nilitumia mgawanyo wa 50/50 kwa utafutaji wa vector na maneno muhimu (keyword search). Kwa nyaraka za kiufundi, maneno muhimu sahihi ni muhimu zaidi.
  • Suluhisho: Tumia uzito unaobadilika (dynamic weights).
  • Maswali ya ukweli: 35% vector, 65% keyword.
  • Maswali ya kimaana: 75% vector, 25% keyword.
  1. Kuongeza ufanisi kupita kiasi wa vigezo vya HNSW (Over-optimizing HNSW Parameters) Niliweka ef_construction kwenye thamani ya juu kabisa. Kwenye index kubwa, hii ilisababisha seva yangu kuzima na kutumia RAM yangu yote.
  • Suluhisho: Tumia mipangilio sahihi ya HNSW.
  • Weka M kati ya 8 na 32.
  • Weka ef_construction kuwa 200.
  • Weka ef_search kuwa 50.
  1. Mifano ya Embedding Isiyo Sahihi (Wrong Embedding Models) Nilitumia mfano wa jumla uliopata mafunzo kwenye maandishi ya mtandaoni. Haukuweza kuelewa nyaraka zangu za kiufundi za uhandisi.
  • Suluhisho: Badilisha na mfano uliorekebishwa (fine-tuned) kwa ajili ya maudhui ya kiufundi au kodi.
  1. Kutolingana kwa Lugha ya Kawaida (Natural Language Mismatch) Watumiaji huuliza maswali kama "kwa nini ujenzi (build) wangu ni wa polepole." Nyaraka hutumia istilahi kama "CI pipeline optimization." Hakukuwa na mwingiliano wowote.
  • Suluhisho: Ongeza hatua ya kuandika upya swali kwa kutumia LLM (LLM query rewrite step).
  • Andika upya swali la mtumiaji kuwa katika istilahi za kiufundi kabla ya kutafuta.
  1. Muktadha Unaojirudia (Redundant Context) Kupata vipande 10 vya juu mara nyingi kulimaanisha kupata aya ile ile mara tatu. Hii ilisababisha upotoshaji (hallucinations).
  • Suluhisho: Tumia Maximal Marginal Relevance (MMR) ili kuhakikisha utofauti katika matokeo.
  1. Tathmini ya Hatua Moja tu (End-to-End Evaluation Only) Nilikagua jibu la mwisho pekee. Sikujua kama tatizo lilikuwa kwenye upatikanaji (retrieval) au kwenye LLM.
  • Suluhisho: Tathmini upatikanaji (retrieval) kando.
  • Fuatilia hit rate na Mean Reciprocal Rank (MRR).
  • Tengeneza seti ya majaribio ya jozi 100 za swali-nyaraka.

Matokeo baada ya marekebisho: • Uhusiano wa jibu: 45% hadi 85% • Muda wa jibu (latency): 3.2s hadi 1.8s • Gharama ya kila mwezi: $180 hadi $95

Rekebisha chunking kwanza. Kisha weights. Kisha ubora wa embedding.

Ni changamoto gani kubwa zaidi ya RAG inayokusumbua? Niambie kwenye maoni.

Chanzo: https://dev.to/kollittle/i-spent-500-on-rag-infrastructure-before-realizing-these-7-mistakes-were-killing-my-results-iph

Jumuia ya kujifunzia ya hiari: https://t.me/GyaanSetuAi