𝗪𝗵𝘆 𝗬𝗼𝘂𝗿 𝗥𝗔𝗚 𝗦𝘆𝘀𝘁𝗲𝗺 𝗛𝗮𝗹𝗹𝘂𝗰𝗶𝗻𝗮𝘁𝗲𝘀

ನಿಮ್ಮ RAG ಸಿಸ್ಟಮ್ ಏಕೆ ಹ್ಯಾಲ್ಯುಸಿನೇಟ್ (hallucinate) ಆಗುತ್ತದೆ

ನಿಮ್ಮ RAG ಸಿಸ್ಟಮ್‌ನ ರಿಟ್ರಿವಲ್ ಅಕ್ಯುರಸಿ (retrieval accuracy) 34% ಇದೆ. ನೀವು ಪ್ರತಿಯೊಂದು ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ಅನುಸರಿಸಿದ್ದೀರಿ. ನೀವು ಸರಿಯಾದ ಲೈಬ್ರರಿಗಳನ್ನು ಬಳಸಿದ್ದೀರಿ. ನೀವು ಒಂದು ಬ್ಲಾಗ್ ಪೋಸ್ಟ್‌ನಿಂದ ಚಂಕ್ ಸೈಜ್ (chunk size) ಅನ್ನು ಆರಿಸಿದ್ದೀರಿ. ಆದರೂ, ಸಿಸ್ಟಮ್ ವಿಫಲವಾಗುತ್ತಿದೆ.

ಇದು ಟೂಲಿಂಗ್ (tooling) ಸಮಸ್ಯೆಯಲ್ಲ. ಇದು ಮೂಲಭೂತ ಅಂಶಗಳ (fundamentals) ಸಮಸ್ಯೆ.

ಅವುಗಳ ಕೆಳಗಿರುವ ಪದರಗಳನ್ನು (layers) ಅರ್ಥಮಾಡಿಕೊಳ್ಳದೆ ನೀವು ಲೈಬ್ರರಿಗಳನ್ನು ಒಂದರ ಮೇಲೊಂದು ಜೋಡಿಸಿದಾಗ, ನೀವು 'ಅಬ್‌ಸ್ಟ್ರಾಕ್ಷನ್ ಡೆಬ್ಟ್' (abstraction debt) ಅನ್ನು ಸೃಷ್ಟಿಸುತ್ತೀರಿ. ನೀವು ವೇಗವನ್ನು ಪಡೆಯುತ್ತೀರಿ ಆದರೆ ಡಿಬಗ್ (debug) ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ. ನೀವು ಒಂದು 'ಬ್ಲಾಕ್ ಬಾಕ್ಸ್' ಅನ್ನು ನಿರ್ಮಿಸುತ್ತೀರಿ.

ನಿಮ್ಮ RAG ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಸರಿಪಡಿಸಲು, ನೀವು ಮೂರು ಪದರಗಳಲ್ಲಿ ಪರಿಣತಿಯನ್ನು ಹೊಂದಿರಬೇಕು:

  1. ಚಂಕಿಂಗ್ ಸ್ಟ್ರಾಟಜಿ (Chunking Strategy) ಚಂಕ್ ಸೈಜ್ ಎಂಬುದು ಒಂದು ಸೆಮ್ಯಾಂಟಿಕ್ (semantic) ನಿರ್ಧಾರವಾಗಿದೆ. ನಿಮ್ಮ ಚಂಕ್‌ಗಳು 512 ಟೋಕನ್‌ಗಳಾಗಿದ್ದರೆ, ನೀವು ಪ್ಯಾರಾಗ್ರಾಫ್‌ಗಳನ್ನು ರಿಟ್ರೀವ್ ಮಾಡುತ್ತೀರಿ. ನಿಮ್ಮ ಪ್ರಶ್ನೆಗಳು ಅನೇಕ ಪ್ಯಾರಾಗ್ರಾಫ್‌ಗಳ ನಡುವೆ ವಿಚಾರಗಳನ್ನು ಜೋಡಿಸಬೇಕಾಗಿದ್ದರೆ, ನಿಮ್ಮ ಚಂಕ್‌ಗಳು ತುಂಬಾ ಚಿಕ್ಕದಾಗಿವೆ ಎಂದರ್ಥ. ಚಂಕ್‌ಗಳ ನಡುವೆ ಎಷ್ಟು ಸಂದರ್ಭ (context) ಹರಿಯಬೇಕು ಎಂಬುದನ್ನು ನೀವು ನಿರ್ಧರಿಸಬೇಕು.

  2. ಎಂಬೆಡ್ಡಿಂಗ್ ಮಾಡೆಲ್‌ಗಳು (Embedding Models) ಡೆನ್ಸ್ ಎಂಬೆಡ್ಡಿಂಗ್‌ಗಳು (Dense embeddings) ಅರ್ಥವನ್ನು ಸೆರೆಹಿಡಿಯುತ್ತವೆ ಆದರೆ ನಿಖರವಾದ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತವೆ. ಒಂದು ಮಾಡೆಲ್ "error 403" ಮತ್ತು "error 404" ಅನ್ನು ಬಹುತೇಕ ಒಂದೇ ಎಂದು ಪರಿಗಣಿಸಬಹುದು. ನಿಮ್ಮ ಮಾಡೆಲ್ ಏನನ್ನು ಸೆರೆಹಿಡಿಯುತ್ತದೆ ಎಂಬುದನ್ನು ನೀವು ತಿಳಿದಿರಬೇಕು. ಒಂದು ಕಾನೂನು ಒಪ್ಪಂದಕ್ಕೆ (legal contract) ಕೋಡ್ ರೆಪೊಸಿಟರಿಗಿಂತ (code repository) ವಿಭಿನ್ನವಾದ ಎಂಬೆಡ್ಡಿಂಗ್‌ಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ.

  3. ರಿಟ್ರಿವಲ್ ವರ್ಸಸ್ ರಿಕಾಲ್ (Retrieval vs. Recall) ವೆಕ್ಟರ್ ಸರ್ಚ್ (Vector search) ಸಂಭಾವ್ಯವಾಗಿ ಸಂಬಂಧಿತವಾಗಿರುವ ಎಲ್ಲವನ್ನೂ ಹುಡುಕುತ್ತದೆ. ಇದು ರಿಕಾಲ್ (recall). ಪ್ರೊಡಕ್ಷನ್ RAG ಗೆ ಪ್ರೆಸಿಷನ್ (precision) ಬೇಕು. ನಿಮಗೆ ಹತ್ತು ಹೋಲುವ ಪ್ಯಾರಾಗ್ರಾಫ್‌ಗಳಲ್ಲ, ನಿಖರವಾದ ಉತ್ತರ ಬೇಕು. ಇದೇ ಕಾರಣಕ್ಕೆ ನಿಮಗೆ ಹೈಬ್ರಿಡ್ ಸರ್ಚ್ (hybrid search) ಅಗತ್ಯವಿದೆ.

ಹೈಬ್ರಿಡ್ ಸರ್ಚ್, ಡೆನ್ಸ್ ವೆಕ್ಟರ್‌ಗಳನ್ನು ಕೀವರ್ಡ್ ಮ್ಯಾಚಿಂಗ್ (keyword matching - BM25) ಜೊತೆಗೆ ಸಂಯೋಜಿಸುತ್ತದೆ.

  • ಕೇವಲ ಸೆಮ್ಯಾಂಟಿಕ್ ಸರ್ಚ್ ನಿಖರವಾದ ಕೋಡ್‌ಗಳು ಅಥವಾ ಐಡಿಗಳನ್ನು (IDs) ತಪ್ಪಿಸಿಕೊಳ್ಳಬಹುದು.
  • ಕೇವಲ ಕೀವರ್ಡ್ ಸರ್ಚ್ ಪರಿಕಲ್ಪನಾತ್ಮಕ ಅರ್ಥವನ್ನು (conceptual meaning) ತಪ್ಪಿಸಿಕೊಳ್ಳಬಹುದು.
  • ಹೈಬ್ರಿಡ್ ಸರ್ಚ್ ಸತ್ಯವನ್ನು ಕಂಡುಕೊಳ್ಳಲು ಎರಡನ್ನೂ ಸಮತೋಲನಗೊಳಿಸುತ್ತದೆ.

ಸರಿಯಾದ ತೂಕ (weight) ಯಾವುದೇ ಮ್ಯಾನುಯಲ್‌ನಲ್ಲಿ ಇರುವುದಿಲ್ಲ. ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಡೇಟಾವನ್ನು ಪರೀಕ್ಷಿಸುವ ಮೂಲಕ ನೀವು ಅದನ್ನು ಕಂಡುಕೊಳ್ಳಬಹುದು.

ಮ್ಯಾಜಿಕ್ ಮೇಲೆ ಅವಲಂಬಿತವಾಗುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ನೀವು ಮೊದಲಿನಿಂದ (from scratch) ಒಂದು ಮೂಲಭೂತ RAG ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ನೀವು Agentic RAG ಗಾಗಿ ಸಿದ್ಧರಾಗಿಲ್ಲ ಎಂದರ್ಥ. ಮೂಲಭೂತ ಅಂಶಗಳು ಅರ್ಥವಾಗದಿದ್ದಾಗ ಸಂಕೀರ್ಣತೆ ಹೆಚ್ಚಾಗುತ್ತದೆ.

ನಿಮ್ಮ ಮುಂದಿನ ಪ್ರಾಜೆಕ್ಟ್‌ಗಿಂತ ಮೊದಲು ಈ ನಾಲ್ಕು ಕೆಲಸಗಳನ್ನು ಮಾಡಿ:

  • ಚಂಕಿಂಗ್ ಅನ್ನು ಬೆಂಚ್‌ಮಾರ್ಕ್ (Benchmark) ಮಾಡಿ. ಮೂರು ವಿಭಿನ್ನ ಗಾತ್ರಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ. top-1 ಮತ್ತು top-5 ನಲ್ಲಿ ಪ್ರೆಸಿಷನ್ ಅನ್ನು ಅಳೆಯಿರಿ.
  • ನೈಜ ಡೇಟಾದೊಂದಿಗೆ ಎಂಬೆಡ್ಡಿಂಗ್‌ಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ. ಸಿಂಥೆಟಿಕ್ (synthetic) ಪರೀಕ್ಷೆಗಳನ್ನು ಬಳಸಬೇಡಿ. ನಿಮ್ಮ ನಿಜವಾದ ಬಳಕೆದಾರರ ಪ್ರಶ್ನೆಗಳನ್ನು ಬಳಸಿ.
  • ವೈಫಲ್ಯಗಳನ್ನು ಲಾಗ್ (Log) ಮಾಡಿ. ಎರಡು ವಾರಗಳ ಕಾಲ, ವಿಫಲವಾಗುವ ಪ್ರತಿಯೊಂದು ಕ್ವೇರಿಯನ್ನು ಲಾಗ್ ಮಾಡಿ. ನಿಮ್ಮ ಸರ್ಚ್ ಏನನ್ನು ತಪ್ಪಿಸಿಕೊಳ್ಳುತ್ತಿದೆ ಎಂಬುದರಲ್ಲಿನ ಮಾದರಿಗಳನ್ನು (patterns) ಗಮನಿಸಿ.
  • ಒಮ್ಮೆಯಾದರೂ BM25 ಅನ್ನು ಅಳವಡಿಸಿ (Implement). ನೀವು ನಂತರ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಿದರೂ ಸಹ, ಕೀವರ್ಡ್ ಬೇಸ್‌ಲೈನ್ (keyword baseline) ಅನ್ನು ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ.

ಲೈಬ್ರರಿಗಳು ನಿಮಗೆ ಸಮಯವನ್ನು ನೀಡುತ್ತವೆ. ತಿಳುವಳಿಕೆಯು ನಿಮಗೆ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು (reliability) ನೀಡುತ್ತದೆ.

ಮೂಲ: https://dev.to/xu_xu_b2179aa8fc958d531d1/why-your-rag-system-keeps-hallucinating-the-hidden-cost-of-skipping-fundamentals-1no8

ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi