RAG ਚੰਕਿੰਗ ਰਣਨੀਤੀਆਂ: ਬਿਹਤਰ ਰਿਟ੍ਰੀਵਲ ਲਈ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਵੰਡੋ
ਜ਼ਿਆਦਾਤਰ RAG ਅਸਫਲਤਾਵਾਂ ਇਸ ਲਈ ਹੁੰਦੀਆਂ ਹਨ ਕਿਉਂਕਿ ਤੁਸੀਂ ਆਪਣੇ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਕਿਵੇਂ ਵੰਡਦੇ ਹੋ।
ਜੇਕਰ ਤੁਹਾਡਾ ਰਿਟ੍ਰੀਵਲ (retrieval) ਮਾੜਾ ਹੈ, ਤਾਂ ਪਹਿਲਾਂ ਆਪਣਾ ਪ੍ਰੋਂਪਟ (prompt) ਜਾਂ ਆਪਣਾ LLM ਨਾ ਬਦਲੋ। ਆਪਣੇ ਚੰਕਸ (chunks) ਨੂੰ ਦੇਖੋ। ਜੇਕਰ ਸਹੀ ਜਾਣਕਾਰੀ ਤੁਹਾਡੇ ਡੇਟਾਬੇਸ ਵਿੱਚ ਹੈ ਪਰ ਸਿਸਟਮ ਇਸਨੂੰ ਲੱਭ ਨਹੀਂ ਸਕਦਾ, ਤਾਂ ਸੰਭਾਵਤ ਰੂਪ ਵਿੱਚ ਤੁਹਾਡੀ ਚੰਕਿੰਗ ਰਣਨੀਤੀ ਹੀ ਸਮੱਸਿਆ ਹੈ।
ਮਾੜੀ ਚੰਕਿੰਗ ਤਿੰਨ ਮੁੱਖ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰਦੀ ਹੈ:
• ਸੀਮਾ ਕਟੌਤੀ (Boundary truncation): ਜਵਾਬ ਵਾਲਾ ਇੱਕ ਵਾਕ ਦੋ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡਿਆ ਜਾਂਦਾ ਹੈ। ਕਿਸੇ ਵੀ ਹਿੱਸੇ ਵਿੱਚ ਕੁਐਰੀ (query) ਨਾਲ ਮੇਲ ਖਾਣ ਲਈ ਲੋੜੀਂਦੀ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੁੰਦੀ। • ਸੰਦਰਭ ਦੀ ਕਮੀ (Context dilution): ਇੱਕ ਵੱਡੇ ਚੰਕ ਵਿੱਚ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਵਾਕ ਅਤੇ ਦਸ ਬੇਕਾਰ ਵਾਕ ਹੁੰਦੇ ਹਨ। ਵਾਧੂ ਟੈਕਸਟ ਸਿਮੈਂਟਿਕ ਸਿਗਨਲ (semantic signal) ਨੂੰ ਕਮਜ਼ੋਰ ਕਰ ਦਿੰਦਾ ਹੈ। • ਮੈਟਾਡਾਟਾ ਦੀ ਘਾਟ (Missing metadata): ਚੰਕਸ ਵਿੱਚ ਉਹਨਾਂ ਦੇ ਸਰੋਤ ਜਾਂ ਮਿਤੀ ਬਾਰੇ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੁੰਦੀ, ਜਿਸ ਨਾਲ ਫਿਲਟਰਡ ਸਰਚ ਕਰਨਾ ਅਸੰਭਵ ਹੋ ਜਾਂਦਾ ਹੈ।
ਆਪਣੇ ਪਾਈਪਲਾਈਨ (pipeline) ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਇਹਨਾਂ ਚਾਰ ਰਣਨੀਤੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰੋ:
ਫਿਕਸਡ-ਸਾਈਜ਼ ਚੰਕਿੰਗ (Fixed-size chunking) ਰਿਪੋਰਟਾਂ ਜਾਂ ਲੇਖਾਂ ਵਰਗੇ ਲੰਬੇ, ਲਗਾਤਾਰ ਲਿਖਤ (prose) ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ। • 256 ਤੋਂ 512 ਟੋਕਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ। • ਵਾਕਾਂ ਦੇ ਟੁੱਟਣ ਤੋਂ ਬਚਣ ਲਈ 10% ਤੋਂ 15% ਓਵਰਲੈਪ (overlap) ਸੈੱਟ ਕਰੋ।
ਸਿਮੈਂਟਿਕ ਚੰਕਿੰਗ (Semantic chunking) FAQs ਜਾਂ ਸਪੋਰਟ ਦਸਤਾਵੇਜ਼ਾਂ ਵਰਗੇ ਉੱਚ-ਘਣਤਾ ਵਾਲੇ ਟੈਕਸਟ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ। • ਇਹ ਟੋਕਨਾਂ ਦੀ ਗਿਣਤੀ ਦੀ ਬਜਾਏ ਵਿਸ਼ੇ ਦੇ ਬਦਲਾਅ ਦੇ ਅਧਾਰ 'ਤੇ ਟੈਕਸਟ ਨੂੰ ਵੰਡਦਾ ਹੈ। • ਇਹ ਪੂਰੇ ਵਿਚਾਰਾਂ ਨੂੰ ਇਕੱਠੇ ਰੱਖਦਾ ਹੈ।
ਸਟ੍ਰਕਚਰਲ ਚੰਕਿੰਗ (Structural chunking) ਤਕਨੀਕੀ ਦਸਤਾਵੇਜ਼ਾਂ, Markdown, ਜਾਂ HTML ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ। • ਇਹ ਹੈਡਰਾਂ (H1, H2, H3) ਦੇ ਅਧਾਰ 'ਤੇ ਟੈਕਸਟ ਨੂੰ ਵੰਡਦਾ ਹੈ। • ਇਹ ਮੈਟਾਡਾਟਾ ਜੋੜਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਸੈਕਸ਼ਨ ਅਨੁਸਾਰ ਰਿਟ੍ਰੀਵਲ ਨੂੰ ਫਿਲਟਰ ਕਰ ਸਕੋ।
ਹਾਇਰਾਰਕੀਕਲ (ਪੇਰੈਂਟ-ਚਾਈਲਡ) ਚੰਕਿੰਗ (Hierarchical (Parent-Child) chunking) ਉਤਪਾਦਨ ਪ੍ਰਣਾਲੀਆਂ (production systems) ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਜਿਨ੍ਹਾਂ ਨੂੰ ਸਟੀਕਤਾ ਅਤੇ ਸੰਦਰਭ ਦੋਵਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। • ਸਟੀਕ ਵੈਕਟਰ ਸਰਚ (vector search) ਲਈ ਛੋਟੇ ਚਾਈਲਡ ਚੰਕਸ (64-128 ਟੋਕਨ) ਬਣਾਓ। • LLM ਦੁਆਰਾ ਪੜ੍ਹਨ ਲਈ ਉਹਨਾਂ ਨੂੰ ਵੱਡੇ ਪੇਰੈਂਟ ਚੰਕਸ (512-1024 ਟੋਕਨ) ਨਾਲ ਜੋੜੋ। • ਇਹ ਤੁਹਾਨੂੰ ਦੋਵਾਂ ਦਾ ਵਧੀਆ ਸੁਮੇਲ ਦਿੰਦਾ ਹੈ।
ਆਪਣਾ ਸਾਈਜ਼ ਕਿਵੇਂ ਚੁਣਨਾ ਹੈ:
• 128–256 ਟੋਕਨ: ਤੱਥਾਂ ਦੀ ਭਾਲ (fact-lookup) ਅਤੇ ਤਕਨੀਕੀ ਦਸਤਾਵੇਜ਼ਾਂ ਲਈ ਵਧੀਆ। • 256–512 ਟੋਕਨ: ਆਮ ਵਰਤੋਂ ਲਈ ਇੱਕ ਮਜ਼ਬੂਤ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ। • 512–1024 ਟੋਕਨ: ਲੰਬੇ ਰੂਪ ਵਾਲੇ ਵਿਸ਼ਲੇਸ਼ਣਾਤਮਕ ਪ੍ਰਸ਼ਨਾਂ ਲਈ ਵਰਤੋ।
ਸੁਨਹਿਰੀ ਨਿਯਮ: ਲਾਂਚ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹਮੇਸ਼ਾ ਆਪਣੀ ਰਣਨੀਤੀ ਦਾ ਟੈਸਟ ਕਰੋ।
30 ਤੋਂ 50 ਅਸਲ ਕੁਐਰੀਆਂ ਦਾ ਇੱਕ ਸੈੱਟ ਬਣਾਓ। ਸਹੀ ਜਵਾਬਾਂ ਨੂੰ ਅਨੋਟੇਟ (annotate) ਕਰੋ। ਆਪਣੇ recall@3 ਨੂੰ ਮਾਪੋ। ਜਦੋਂ ਤੱਕ ਤੁਹਾਡਾ recall 80% ਤੋਂ ਉੱਪਰ ਨਹੀਂ ਹੋ ਜਾਂਦਾ, ਉਦੋਂ ਤੱਕ ਆਪਣਾ ਐਮਬੈਡਿੰਗ ਮਾਡਲ (embedding model) ਨਾ ਬਦਲੋ।
Optional learning community: https://t.me/GyaanSetuAi
