ਜ਼ਿਆਦਾਤਰ RAG ਟਿਊਟੋਰਿਅਲ ਡੈਮੋ (demo) 'ਤੇ ਹੀ ਖਤਮ ਹੋ ਜਾਂਦੇ ਹਨ। ਤੁਸੀਂ ਟੋਕਨ ਕਾਊਂਟ (token count) ਦੇ ਆਧਾਰ 'ਤੇ ਚੰਕਿੰਗ (chunking) ਕਰਦੇ ਹੋ, ਸਭ ਕੁਝ ਇੱਕ ਵੈਕਟਰ ਡੇਟਾਬੇਸ (vector database) ਵਿੱਚ ਭਰ ਦਿੰਦੇ ਹੋ, ਅਤੇ ਕੰਮ ਖਤਮ ਸਮਝ ਲੈਂਦੇ ਹੋ। ਇਹ ਉਦੋਂ ਕੰਮ ਕਰਦਾ ਹੈ ਜਦੋਂ ਕੋਈ ਯੂਜ਼ਰ ਕਿਸੇ ਸਾਫ਼ FAQ ਵਿੱਚ "What is the return policy?" ਵਰਗਾ ਸਵਾਲ ਪੁੱਛਦਾ ਹੈ। ਪਰ ਇਹ ਉਦੋਂ ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਕੋਈ ਅੱਧਾ ਕੰਟਰੈਕਟ ਪੇਸਟ ਕਰਕੇ ਤੀਜੀ ਧਾਰਾ (clause three) ਬਾਰੇ ਪੁੱਛਦਾ ਹੈ, ਜਾਂ ਜਦੋਂ ਕੋਈ ਡਿਵੈਲਪਰ ਤੁਹਾਡੇ ਡਾਕੂਮੈਂਟੇਸ਼ਨ ਸਰਚ ਵਿੱਚ ਕੋਈ ਅਜੀਬ ਐਰਰ ਕੋਡ (error code) ਟਾਈਪ ਕਰਦਾ ਹੈ।
ਫਿਕਸਡ ਟੋਕਨ ਵਿੰਡੋਜ਼ (Fixed token windows) ਕਾਨੂੰਨੀ ਸਮਝੌਤਿਆਂ ਨੂੰ ਅੱਧੇ ਵਾਕ 'ਤੇ ਹੀ ਕੱਟ ਦਿੰਦੀਆਂ ਹਨ। ਵੱਡੇ ਚੰਕਸ (chunks) API ਰੈਫਰੈਂਸਾਂ ਨੂੰ ਪੈਰਾਗ੍ਰਾਫਾਂ ਦੇ ਸ਼ੋਰ ਦੇ ਹੇਠਾਂ ਦਬਾ ਦਿੰਦੇ ਹਨ। ਸਭ ਤੋਂ ਮਾੜੀ ਗੱਲ ਇਹ ਹੈ ਕਿ ਹੌਲੀ ਰਿਟ੍ਰੀਵਲ (slow retrieval) ਯੂਜ਼ਰਾਂ ਨੂੰ ਮਾਡਲ ਦੁਆਰਾ ਜਨਰੇਟ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਕੁਐਰੀ (query) ਛੱਡਣ ਲਈ ਮਜਬੂਰ ਕਰ ਦਿੰਦੀ ਹੈ। ਅਸੀਂ ਇਹ ਸਭ ਬਹੁਤ ਮੁਸ਼ਕਲ ਤਰੀਕੇ ਨਾਲ ਸਿੱਖਿਆ। ਜਦੋਂ ਅਸੀਂ ਆਪਣੇ ਰਿਟ੍ਰੀਵਲ ਲੇਅਰ ਨੂੰ ਸਿਰਫ਼ ਉਮੀਦ ਤੋਂ ਹਟਾ ਕੇ ਮਾਪ (measurement) ਵੱਲ ਮੋੜਿਆ, ਤਾਂ ਅਸੀਂ ਲੇਟੈਂਸੀ (latency) ਨੂੰ ਚਾਲੀ ਪ੍ਰਤੀਸ਼ਤ ਘਟਾ ਦਿੱਤਾ ਅਤੇ ਰੀਕਾਲ (recall) ਨੂੰ ਪੰਚਾਨਵੇਂ ਪ੍ਰਤੀ
ਅੰਕੜੇ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਗੱਲ ਕਰਦੇ ਹਨ। ਸਾਡਾ Recall@10 ਸੱਤਰ-ਅੱਠ ਪ੍ਰਤੀਸ਼ਤ ਤੋਂ ਵਧ ਕੇ ਪਚਾਨਵੇਂ ਪ੍ਰਤੀਸ਼ਤ ਹੋ ਗਿਆ। p95 latency 850 ਮਿਲੀਸੈਕਿੰਡ ਤੋਂ ਘਟ ਕੇ 320 ਮਿਲੀਸੈਕਿੰਡ ਰਹਿ ਗਈ। ਅਤੇ ਕਿਉਂਕਿ ਮਾਡਲ ਨੂੰ ਅੰਤ ਵਿੱਚ ਸ਼ੋਰ (noise) ਦੀ ਬਜਾਏ ਸਾਰਥਕ ਸੰਦਰਭ (relevant context) ਮਿਲ ਰਿਹਾ ਸੀ, ਇਸ ਲਈ hallucination ਦਰ ਬਾਰਾਂ ਪ੍ਰਤੀਸ਼ਤ ਤੋਂ ਘਟ ਕੇ ਤਿੰਨ ਪ੍ਰਤੀਸ਼ਤ ਰਹਿ ਗਈ। ਬਿਹਤਰ retrieval ਸਿਰਫ਼ ਜਵਾਬਾਂ ਨੂੰ ਤੇਜ਼ ਹੀ ਨਹੀਂ ਬਣਾਉਂਦਾ, ਸਗੋਂ ਉਹਨਾਂ ਨੂੰ ਸਹੀ ਵੀ ਬਣਾਉਂਦਾ ਹੈ।
ਅੱਗੇ ਕੀ ਕਰਨਾ ਹੈ
ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੇ retrieval layer ਨੂੰ ਮੁੜ ਬਣਾ ਰਹੇ ਹੋ, ਤਾਂ ਇੱਥੋਂ ਸ਼ੁਰੂਆਤ ਕਰੋ:
- ਟੋਕਨ ਦੀ ਗਿਣਤੀ ਦੀ ਬਜਾਏ ਦਸਤਾਵੇਜ਼ ਦੀ ਬਣਤਰ ਅਨੁਸਾਰ ਚੰਕ (chunk) ਕਰੋ। ਆਪਣੀ splitting strategy ਨੂੰ ਆਪਣੇ ਡੇਟਾ ਦੇ ਰੂਪ ਦੇ ਅਨੁਸਾਰ ਅਨੁਕੂਲ ਬਣਾਓ।
- Hybrid retrieval ਦੀ ਵਰਤੋਂ ਕਰੋ। Vector search ਅਤੇ BM25 ਨੂੰ ਜੋੜੋ, Reciprocal Rank Fusion ਨਾਲ ਮਿਲਾਓ, ਅਤੇ ਜਨਰੇਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ rerank ਕਰੋ।
- ਬਿਹਤਰ ਕਵਰੇਜ ਲਈ ਕੁਏਰੀਆਂ (queries) ਦਾ ਵਿਸਤਾਰ ਕਰੋ। ਸਰਚ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਨੂੰ rephrase ਅਤੇ decompose ਕਰੋ।
- ਟੈਸਟਿੰਗ ਲਈ ਇੱਕ golden dataset ਬਣਾਓ। ਤੁਸੀਂ ਉਸ ਚੀਜ਼ ਨੂੰ ਆਪਟੀਮਾਈਜ਼ ਨਹੀਂ ਕਰ ਸਕਦੇ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਮਾਪਦੇ ਨਹੀਂ ਹੋ।
- ਆਟੋਮੇਟਡ ਟੂਲਸ ਨਾਲ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਆਪਟੀਮਾਈਜ਼ ਕਰੋ। Bayesian search ਤੁਹਾਡੇ ਅੰਦਾਜ਼ੇ ਨਾਲੋਂ ਬਿਹਤਰ ਸੈਟਿੰਗਾਂ ਲੱਭ ਲਵੇਗਾ।
Retrieval ਕੋਈ ਅਜਿਹੀ configuration file ਨਹੀਂ ਹੈ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਇੱਕ ਵਾਰ ਸੈੱਟ ਕਰਕੇ ਭੁੱਲ ਜਾਓ। ਇਹ ਇੱਕ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਹੈ, ਅਤੇ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਉਹੀ ਸਖ਼ਤੀ ਚਾਹੁੰਦਾ ਹੈ ਜੋ ਪ੍ਰੋਡਕਸ਼ਨ ਕੋਡ ਦੀ ਹੁੰਦੀ ਹੈ: ਟੈਸਟ, ਮਾਪ, ਅਤੇ ਲਗਾਤਾਰ ਆਪਟੀਮਾਈਜ਼ੇਸ਼ਨ। ਇਸ ਨਾਲ ਇਸੇ ਤਰ੍ਹਾਂ ਨਜਿੱਠੋ, ਅਤੇ ਤੁਹਾਡਾ RAG ਸਿਸਟਮ ਇੱਕ ਡੈਮੋ ਹੋਣ ਦੀ ਬਜਾਏ ਇੱਕ ਪ੍ਰੋਡਕਟ ਬਣ ਜਾਵੇਗਾ।
ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: GyaanSetu AI
