Agentic retrieval ਨੂੰ ਰਵਾਇਤੀ retrieval-augmented generation (RAG) ਪਾਈਪਲਾਈਨਾਂ ਤੋਂ ਅਗਲੇ ਕਦਮ ਵਜੋਂ ਪੇਸ਼ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, ਜੋ ਕਿ ਅਜਿਹੇ ਪ੍ਰੋਡਕਸ਼ਨ AI ਸਿਸਟਮਾਂ ਦਾ ਵਾਅਦਾ ਕਰਦਾ ਹੈ ਜੋ ਭਰਮ (hallucinate) ਕਰਨਾ ਬੰਦ ਕਰ ਦੇਣਗੇ ਅਤੇ ਜਾਣਕਾਰੀ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰਨੀ ਹੈ ਇਸ ਬਾਰੇ "ਸੋਚਣਾ" ਸ਼ੁਰੂ ਕਰ ਦੇਣਗੇ। ਸਮਰਥਕਾਂ ਦਾ ਕਹਿਣਾ ਹੈ ਕਿ ਇਹ ਪਹੁੰਚ ਪੂਰੇ ਕੋਰਪਸ (corpus) ਨੂੰ ਮਾਡਲ ਦੇ ਕੰਟੈਕਸਟ ਵਿੰਡੋ (context window) ਵਿੱਚ ਪਾਉਣ ਦੇ ਮੁਕਾਬਲੇ, ਵੱਡੇ ਦਸਤਾਵੇਜ਼ਾਂ ਦੇ ਸੰਗ੍ਰਹਿ 'ਤੇ ਇੱਕ ਕੁਐਰੀ ਦਾ ਜਵਾਬ ਦੇਣ ਦੀ ਲਾਗਤ ਨੂੰ 82 ਗੁਣਾ ਤੱਕ ਘਟਾ ਸਕਦੀ ਹੈ, ਜੋ ਕਿ generative AI ਨੂੰ ਵਧਾਉਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਕਾਰੋਬਾਰ ਲਈ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਬਚਤ ਹੈ।
ਪੁਰਾਣੀ RAG ਪਾਈਪਲਾਈਨ ਕਿਉਂ ਅਸਫਲ ਰਹਿੰਦੀ ਹੈ
ਕਲਾਸਿਕ RAG ਵਰਕਫਲੋ ਇੱਕ ਨਿਸ਼ਚਿਤ ਕ੍ਰਮ ਹੈ: ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਚੰਕਸ (chunks) ਵਿੱਚ ਵੰਡਣਾ, ਹਰੇਕ ਚੰਕ ਨੂੰ ਇੱਕ ਡੈਂਸ ਵੈਕਟਰ ਸਪੇਸ ਵਿੱਚ ਐਮਬੈਡ ਕਰਨਾ, ਅਤੇ ਫਿਰ ਯੂਜ਼ਰ ਕੁਐਰੀ ਲਈ ਉੱਚ ਸਕੋਰ ਵਾਲੇ ਵੈਕਟਰਾਂ ਨੂੰ ਕੱਢਣਾ। ਡੈਮੋ ਵਿੱਚ ਇਹ ਵਿਧੀ ਸਾਫ਼-ਸੁਥਰੀ ਲੱਗਦੀ ਹੈ—ਮਾਡਲ ਨੂੰ ਕੁਝ "ਪ੍ਰਸੰਗਿਕ" ਪੈਰੇ ਮਿਲਦੇ ਹਨ ਅਤੇ ਉਹ ਭਰੋਸੇ ਨਾਲ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ, ਇਹ ਭਰੋਸਾ ਅਕਸਰ ਗਲਤ ਹੁੰਦਾ ਹੈ।
ਤਿੰਨ ਪ੍ਰਣਾਲੀਗਤ ਖਾਮੀਆਂ ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਵਧਾਉਂਦੀਆਂ ਹਨ:
- ਵੈਕਟਰ ਸਮਾਨਤਾ (Vector similarity) ≠ ਪ੍ਰਸੰਗਿਕਤਾ (relevance)। ਦੋ ਪੈਰੇ ਗਣਿਤਕ ਤੌਰ 'ਤੇ ਨੇੜੇ ਹੋ ਸਕਦੇ ਹਨ ਪਰ ਵਿਰੋਧੀ ਤੱਥ ਪ੍ਰਗਟ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਮਾਡਲ ਗਲਤ ਦਾਅਵਾ ਦੱਸ ਸਕਦਾ ਹੈ।
- ਟੁਕੜੇ ਹੋਣਾ (Fragmentation) ਤੱਥਾਂ ਨੂੰ ਤੋੜ ਦਿੰਦਾ ਹੈ। ਫਿਕਸਡ ਚੰਕਿੰਗ ਅਕਸਰ ਇੱਕੋ ਬਿਆਨ ਨੂੰ ਦੋ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡ ਦਿੰਦੀ ਹੈ। ਜੇਕਰ ਮਾਡਲ ਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਅੱਧਾ ਹਿੱਸਾ ਮਿਲਦਾ ਹੈ, ਤਾਂ ਉਹ ਗੁੰਮ ਹੋਏ ਹਿੱਸੇ ਨੂੰ ਦੁਬਾਰਾ ਨਹੀਂ ਜੋੜ ਸਕਦਾ।
- ਗੁੰਝਲਦਾਰ ਕੁਐਰੀਆਂ (Messy queries)। ਅਸਲ ਦੁਨੀਆ ਦੇ ਸਵਾਲ ਜ਼ਿਆਦਾਤਰ ਐਮਬੈਡਿੰਗ ਮਾਡਲਾਂ ਦੇ ਟ੍ਰੇਨਿੰਗ ਡੇਟਾ ਤੋਂ ਵੱਖਰੇ ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ ਸਮਾਨਤਾ ਸਰਚ (similarity search) ਗੈਰ-ਸੰਬੰਧਿਤ ਚੰਕਸ ਵਾਪਸ ਕਰਦੀ ਹੈ।
ਜਦੋਂ ਪਾਈਪਲਾਈਨ ਗਲਤ ਕੰਟੈਕਸਟ ਵਾਪਸ ਕਰਦੀ ਹੈ, ਤਾਂ ਡਾਊਨਸਟ੍ਰੀਮ ਭਾਸ਼ਾ ਮਾਡਲ ਅਜੇ ਵੀ ਜਵਾਬ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਜੋ ਅਕਸਰ ਉੱਚ ਯਕੀਨ ਨਾਲ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਸਿਸਟਮ ਕੋਈ ਗਲਤੀ (error) ਨਹੀਂ ਦੱਸਦਾ। ਇਸਦਾ ਨਤੀਜਾ "ਸਾਈਲੈਂਟ ਹੈਲੂਸੀਨੇਸ਼ਨ" (silent hallucination) ਹੁੰਦਾ ਹੈ—ਇੱਕ ਅਜਿਹੀ ਚੁੱਪ ਚੁਪਚਾਪ ਅਸਫਲਤਾ ਜਿਸ ਨੂੰ ਲਾਈਵ ਸਰਵਿਸ ਵਿੱਚ ਪਛਾਣਨਾ ਮੁਸ਼ਕਲ ਹੁੰਦਾ ਹੈ।
ਹਾਈਬ੍ਰਿਡ ਰਿਟ੍ਰੀਵਲ: ਇੱਕ ਹੌਲੀ-ਹੌਲੀ ਸੁਧਾਰ
ਇੱਕ ਆਮ ਪ੍ਰਤੀਕਿਰਿਆ ਡੈਂਸ ਵੈਕਟਰਾਂ ਦੇ ਉੱਪਰ ਕੀਵਰਡ ਸਰਚ ਦੀ ਇੱਕ ਪਰਤ ਲਗਾਉਣਾ ਹੈ, ਜਿਸ ਨਾਲ ਇੱਕ ਹਾਈਬ੍ਰਿਡ ਰਿਟ੍ਰੀਵਰ ਬਣਦਾ ਹੈ ਜੋ ਐਮਬੈਡਿੰਗਜ਼ ਦੁਆਰਾ ਛੱਡ ਦਿੱਤੇ ਗਏ ਸਹੀ ਸ਼ਬਦਾਂ ਦੇ ਮੈਚ ਨੂੰ ਫੜ ਸਕਦਾ ਹੈ। ਇੱਕ ਰੀ-ਰੈਂਕਰ (reranker) ਜੋੜਨਾ—ਇੱਕ ਦੂਜਾ ਮਾਡਲ ਜੋ ਸਿੱਖੇ ਹੋਏ ਪ੍ਰਸੰਗਿਕ ਸਕੋਰ ਦੇ ਅਧਾਰ 'ਤੇ ਪ੍ਰਾਪਤ ਕੀਤੀ ਗਈ ਸੂਚੀ ਨੂੰ ਦੁਬਾਰਾ ਵਿਵਸਥਿਤ ਕਰਦਾ ਹੈ—ਸ਼ੁੱਧਤਾ ਨੂੰ ਹੋਰ ਸੁਧਾਰਦਾ ਹੈ।
ਹਾਈਬ੍ਰਿਡ ਰਿਟ੍ਰੀਵਲ ਅਜੇ ਵੀ ਇੱਕ ਸਟੈਟਿਕ ਸਕ੍ਰਿਪਟ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ: ਹਰ ਕੁਐਰੀ ਮੁਸ਼ਕਲ ਜਾਂ ਅਨਿਸ਼ਚਿਤਤਾ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਕਦਮਾਂ ਦੀ ਇੱਕੋ ਹੀ ਲੜੀ ਨੂੰ ਟ੍ਰਿਗਰ ਕਰਦੀ ਹੈ। ਪਾਈਪਲਾਈਨ ਇਹ ਫੈਸਲਾ ਨਹੀਂ ਕਰ ਸਕਦੀ ਕਿ ਕੀ ਇਸਨੂੰ ਹੋਰ ਡੇਟਾ ਦੀ ਲੋੜ ਹੈ, ਇੱਕ ਗੁੰਝਲਦਾਰ ਸਵਾਲ ਨੂੰ ਉਪ-ਸਵਾਲਾਂ ਵਿੱਚ ਕਿਵੇਂ ਵੰਡਣਾ ਹੈ, ਜਾਂ ਕਦੋਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਗਿਆ ਟੁਕੜਾ ਅਧੂਰਾ ਹੈ।
Agentic retrieval ਸਰਚ ਨੂੰ ਇੱਕ ਫੈਸਲੇ ਲੈਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਜੋਂ ਮੰਨਦਾ ਹੈ
Agentic retrieval ਸਮੱਸਿਆ ਨੂੰ ਇੱਕ ਖੁਦਮੁਖਤਿਆਰ "ਏਜੰਟ" ਦੁਆਰਾ ਲਏ ਗਏ ਫੈਸਲਿਆਂ ਦੀ ਇੱਕ ਲੜੀ ਵਜੋਂ ਮੁੜ-ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜੋ ਇੱਕ ਮਨੁੱਖੀ ਖੋਜਕਰਤਾ ਦੀ ਨਕਲ ਕਰਦਾ ਹੈ। ਏਜੰਟ ਇਹ ਕਰ ਸਕਦਾ ਹੈ:
- ਕੁਐਰੀ ਨੂੰ ਦੁਬਾਰਾ ਲਿਖਣਾ। ਇਹ ਸਰਚ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਰੋਜ਼ਾਨਾ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਜਾਂ ਅਸਪਸ਼ਟ ਸ਼ਬਦਾਵਲੀ ਨੂੰ ਸਹੀ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਰਿਟ੍ਰੀਵਲ ਮਾਡਲਾਂ ਦੁਆਰਾ ਇਰਾਦੇ ਨੂੰ ਸਮਝਣ ਦੀ ਸੰਭਾਵਨਾ ਵਧ ਜਾਂਦੀ ਹੈ।
- ਪੁੱਛਣਾ ਕਿ ਕੀ ਰਿਟ੍ਰੀਵਲ ਦੀ ਲੋੜ ਹੈ। ਸਿੱਧੇ ਸਵਾਲਾਂ ਲਈ ਏਜੰਟ ਸਿੱਧਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਟੋਕਨ ਬਚਦੇ ਹਨ ਅਤੇ ਬੇਲੋੜੀ ਸ਼ੋਰ (noise) ਤੋਂ ਬਚਿਆ ਜਾ ਸਕਦਾ ਹੈ।
- ਬਹੁ-ਪੜਾਅ ਵਾਲੀ ਸਰਚ ਦੀ ਯੋਜਨਾ ਬਣਾਉਣਾ। ਗੁੰਝਲਦਾਰ ਸਵਾਲਾਂ ਨੂੰ ਛੋਟੇ ਉਪ-ਸਵਾਲਾਂ ਵਿੱਚ ਵੰਡਿਆ ਜਾਂਦਾ ਹੈ, ਹਰੇਕ ਨੂੰ ਸੁਤੰਤਰ ਰੂਪ ਵਿੱਚ ਸਰਚ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਦੁਬਾਰਾ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ।
- ਆਪਣੀ ਗਲਤੀ ਸੁਧਾਰਨਾ (Self-correct)। ਜੇਕਰ ਸ਼ੁਰੂਆਤੀ ਨਤੀਜਾ ਕਮਜ਼ੋਰ ਲੱਗਦਾ ਹੈ—ਜਿਵੇਂ ਕਿ ਘੱਟ ਭਰੋਸੇਯੋਗਤਾ ਸਕੋਰ ਜਾਂ ਵਿਰੋਧੀ ਸਬੂਤ—ਤਾਂ ਏਜੰਟ ਵੱਖਰੇ ਫਾਰਮੂਲੇ ਨਾਲ ਕੁਐਰੀ ਦੁਬਾਰਾ ਜਾਰੀ ਕਰਦਾ ਹੈ ਜਾਂ ਸਰਚ ਦਾ ਦਾਇਰਾ ਵਧਾ ਦਿੰਦਾ
