RAG ಗಾಗಿ ವಿವಿಧ ಚಂಕಿಂಗ್ ವಿಧಾನಗಳು
Large Language Models ಗಳು ಟೋಕನ್ ಮಿತಿಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಇದನ್ನು ಸರಿಪಡಿಸಲು, ನೀವು ಚಂಕಿಂಗ್ (chunking) ಅನ್ನು ಬಳಸುತ್ತೀರಿ. ಚಂಕಿಂಗ್ ಎಂದರೆ ದೀರ್ಘವಾದ ಪಠ್ಯವನ್ನು ಸಣ್ಣ ತುಣುಕುಗಳಾಗಿ ವಿಭಜಿಸುವುದು. ಇದು ನಿಮ್ಮ ಮಾಡೆಲ್ ಮೆಮೊರಿ ಮುಗಿಯುವಿಕೆಯನ್ನು ತಪ್ಪಿಸಿ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ನೀವು Retrieval-Augmented Generation (RAG) ಅನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, ಚಂಕಿಂಗ್ ಅತ್ಯಗತ್ಯ. RAG ಮಾಡೆಲ್ಗಳಿಗೆ ತಪ್ಪು ಮಾಹಿತಿ (hallucinations) ನೀಡದಂತೆ ತಡೆಯಲು ಒಂದು ಮೂಲ ಸತ್ಯವನ್ನು (source of truth) ಒದಗಿಸುತ್ತದೆ. ನೀವು ಪಠ್ಯವನ್ನು ಎಂಬೆಡ್ಡಿಂಗ್ಸ್ (embeddings) ಎಂದು ಕರೆಯಲಾಗುವ ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತಿಸಿ ಮತ್ತು ಅವುಗಳನ್ನು ವೆಕ್ಟರ್ ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತೀರಿ.
ನಿಮ್ಮ ಹುಡುಕಾಟದ ಗುಣಮಟ್ಟವು ನಿಮ್ಮ ಚಂಕ್ಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ. ಚಂಕ್ಗಳು ತುಂಬಾ ದೊಡ್ಡದಾಗಿದ್ದರೆ ಅಥವಾ ತುಂಬಾ ಚಿಕ್ಕದಾಗಿದ್ದರೆ, AI ಸರಿಯಾದ ಉತ್ತರವನ್ನು ಕಂಡುಹಿಡಿಯಲು ವಿಫಲವಾಗುತ್ತದೆ.
ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಚಂಕ್ ಮಾಡಲು ಇಲ್ಲಿ ಐದು ವಿಧಾನಗಳಿವೆ:
Fixed-Size Chunking ಈ ವಿಧಾನವು ಪಠ್ಯವನ್ನು ನಿಗದಿತ ಸಂಖ್ಯೆಯ ಅಕ್ಷರಗಳ ಬಳಿ ವಿಭಜಿಸುತ್ತದೆ. ಇದು ವೇಗ ಮತ್ತು ಅಗ್ಗವಾಗಿದೆ. ಆದಾಗ್ಯೂ, ಇದು ಸಂದರ್ಭಕ್ಕೆ (context) ಅನುಗುಣವಾಗಿರುವುದಿಲ್ಲ. ಇದು ಹೆಚ್ಚಾಗಿ ವಾಕ್ಯಗಳನ್ನು ಅರ್ಧಕ್ಕೆ ಕತ್ತರಿಸುತ್ತದೆ.
Recursive Character Splitting ಇದು ಉದ್ಯಮದ ಪ್ರಮಾಣಿತ ವಿಧಾನವಾಗಿದೆ (industry standard). ಇದು ನ್ಯೂಲೈನ್ ಮತ್ತು ಸ್ಪೇಸ್ಗಳಂತಹ ವಿಭಜಕಗಳ ಶ್ರೇಣಿಯನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ಸಂಬಂಧಿತ ವಾಕ್ಯಗಳನ್ನು ಒಂದೇ ಬ್ಲಾಕ್ನಲ್ಲಿ ಇಡಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ಲೇಖನಗಳಿಗಾಗಿ ಇದನ್ನು ಬಳಸಿ.
Document-Specific Chunking ಈ ವಿಧಾನವು ನಿಮ್ಮ ಫೈಲ್ನ ರಚನೆಯನ್ನು ಗಮನಿಸುತ್ತದೆ. ಇದು ಗಡಿಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು HTML ನಲ್ಲಿನ ಟ್ಯಾಗ್ಗಳು ಅಥವಾ Markdown ನಲ್ಲಿನ ಹೆಡರ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ಕೋಡ್ ಅಥವಾ ನಿರ್ದಿಷ್ಟ ವಿಭಾಗಗಳನ್ನು ಅಚ್ಚುಕಟ್ಟಾಗಿ ಇರಿಸುತ್ತದೆ.
Semantic Chunking ಈ ವಿಧಾನವು ಅಕ್ಷರಗಳ ಬದಲಿಗೆ ಅರ್ಥವನ್ನು ಗಮನಿಸುತ್ತದೆ. ಇದು ಒಂದೇ ವಿಷಯದ ಬಗ್ಗೆ ಚರ್ಚಿಸುವ ವಾಕ್ಯಗಳನ್ನು ಗುಂಪು ಮಾಡುತ್ತದೆ. ಇದು ಒಂದೇ ವಿಷಯದ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುವ ಚಂಕ್ಗಳನ್ನು ರಚಿಸುತ್ತದೆ. ಇದು ಕೆಲಸ ಮಾಡಲು ಎಂಬೆಡ್ಡಿಂಗ್ ಮಾಡೆಲ್ ಅಗತ್ಯವಿದೆ.
