RAG (Retrieval‑Augmented Generation) පද්ධතියක් වැරදි හෝ අමුතු පිළිතුරු දෙයි කියලා ඔබට පෙනේද? බොහෝ විට අපි රීට්රයිවර් හෝ LLM එක විශාල කරලා බලන්න හිතනවා. නමුත් කොරියානු වගු බහුල PDF ලේඛන සමඟ පරීක්ෂා කළ විට, ගැටළුවේ මූලය තවත් එක පියවර පසුබැසීමේ PDF පාර්සර් එකේ තිබුණි.
පාර්සර් එක වගුවක් තට්ටු කරලා සරළ පෙළක් ලෙස පරිවර්තනය කරයි නම්, එම වගුවේ සම්බන්ධතා, ශීර්ෂක‑කොටස්, පේළි‑තීරු සම්බන්ධතා වැනි ව්යුහය අහිමි වෙනවා. එවිට කිසිදු ප්රෝම්ට් ඉංජිනේරුකම හෝ උසස් embeddings භාවිතා කරලා ඒ අහිමි ව්යුහය නැවත ලබා ගන්න බෑ.
පාර්සින් ගුණාත්මකභාවය රීට්රයිවල් කාර්ය සාධනයට සෘජුවම බලපානවා:
- සංදර්භ දූෂණය – වැරදි එන්කෝඩින්, අස්ථානගත whitespace, හෝ අර්ථහීන metadata ඇතුළත් වීමෙන් embedding මොඩලය නොවැලූ අඩංගුවක් ව vectorize කරයි. ඒ නිසා රීට්රයිවල් නිරවද්ධතාවය ඉක්මනින් පහළ යයි.
- වගු ව්යුහය කඩකැවිම – බහු‑තීරු, එකතු‑කොටස්, බහු‑පේළි ශීර්ෂක සහිත වගු සරල පෙළක් බවට පත් කරන විට, LLM එක අනිසි අංක හෝ අගයන් අතර සම්බන්ධතා හදයි. අපේ පරීක්ෂණවල, සියලු සංඛ්යාත්මක සීමා වැරදිවීම වගුවක් තට්ටු කරලා ඇත්තේ ප්රධාන හේතුවක් වුණා.
ඉදිරියට, මම විවිධ open‑source පාර්සර් මෘදුකාංගයන් (PyPDFLoader, pdfplumber) සහ වාණිජ API (LlamaParse) සමඟ කොරියානු PDF වගු අදාළව පරීක්ෂා කළා. ප්රතිඵල:
- PyPDFLoader – සම්පූර්ණයෙන්ම ස්ථානීය, වේගවත්, නමුත් වගු තොරතුරු සරල පෙළ ලෙස ග්රහණය කරයි. ව්යුහය නැතිවීම නිසා පසු‑ප්රොසෙසින් අඩුයි.
- pdfplumber – පූර්ණ Python, ස්ථානීය, වගු සම්භාව්යව coordinate‑based extraction ලබා දෙයි. නමුත් merged cells, අභ්යන්තර newline වැනි දේ සඳහා කෙටි post‑processing අවශ්යයි.
- LlamaParse – ඉතා නිරවද්ධ ප්රතිඵල, නමුත් API ලෙස බාහිර සේවා භාවිතා කරන නිසා දත්ත ආරක්ෂාව පිළිබඳ ගැටළු ඇති.
pdfplumber භාවිතා කරලා මම සරල Python කේතයක් ලියලා merged cells හි None අගයන් පුරවා, අභ්යන්තර newline වචනවලට space එක් කරලා markdown වගු ලෙස පරිවර්තනය කළා. ඒ අනුව, අලුත් pipeline එකෙන් numeric thresholds, formula definitions, schedule values වැනි ප්රශ්න සම්පුර්ණයෙන්ම නිවැරදිව ලබා ගන්න ලැබුණා.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණ ශිෂ්යයෝ, සංවර්ධකයන්, ව්යාපාරිකයන්ට මේ පර්යේෂණය විශාල වාසියක් ගෙනදෙනවා. PDF වගු වලින් තොරතුරු ගන්නා අවස්ථාවේ, නිවැරදි පාර්සින් භාවිතා කිරීමෙන් AI‑චලිත chatbots, knowledge‑base search, සහ RAG‑මූලික ව්යාපාරික ඇප්ලිකේෂන් වල නිවැරදිත්වය වැඩිවේ. එමඟින් දත්ත රහස්යතාවය රැකගෙන, බාහිර API භාවිතා නොකර ස්ථානීයව වැඩ කරගැනීමේ හැකියාව ලැබේ. එම නිසා පළපුරුදු සංවර්ධකයන්ට කාර්යබහුල pipeline එකක් ඉක්මනින් සකස් කරගැනීමට, ශිෂ්යයන්ට AI‑පදනම්ගත පර්යේෂණ ව්යාපෘති සකස් කරගැනීමට, සහ ව්යාපාරිකයන්ට නිවැරදි තීරණ ගැනීමට අවශ්ය විශ්වාසනීය දත්ත ලබා ගත හැකිය.
ඉදිරියට, මම දේශීය open‑source Vision‑Language Models (Qwen2‑VL, Florence‑2) භාවිතා කරලා රූප‑මූලික වගු පාර්සින් කිරීමට පරීක්ෂා කරනවා. එවිට දත්ත බාහිර සේවා වෙත යැවීමේ අවශ්යතාව නැතිව, සංකීර්ණ වගු තොරතුරුත් නිවැරදිව AI මොඩලයන්ට ලබා දිය හැකි වේ.
සාරාංශයක් ලෙස, PDF පාර්සින් ගුණාත්මකභාවය රීට්රයිවල්, LLM, සහ RAG pipeline සියල්ලේ මූලික තත්ත්වයකි. පාර්සින් ගැටලුව නිවැරදි කරලින්, ඔබේ AI පද්ධතියේ කාර්ය සාධනය සෘජුවම ඉහළ යයි.