ਜਦੋਂ ਟੀਮਾਂ Retrieval-Augmented Generation (RAG) ਨੂੰ ਇੱਕ ਡੈਮੋ ਤੋਂ ਪ੍ਰੋਡਕਸ਼ਨ ਸਰਵਿਸ ਵਿੱਚ ਬਦਲਦੀਆਂ ਹਨ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਕੁਝ ਅਜਿਹੇ ਫੈਸਲੇ ਲੈਣੇ ਪੈਂਦੇ ਹਨ ਜੋ ਇੱਕ ਲਾਭਦਾਇਕ ਸਹਾਇਕ (assistant) ਅਤੇ ਇੱਕ ਸ਼ੋਰ ਵਾਲੇ (noisy) ਸਹਾਇਕ ਵਿਚਕਾਰ ਅੰਤਰ ਕਰਦੇ ਹਨ। ਪੰਜ ਡਿਜ਼ਾਈਨ ਚੋਣਾਂ—chunking, embedding model, vector store, hybrid search, ਅਤੇ evaluation—ਉਹਨਾਂ precision, recall, ਅਤੇ latency ਨੂੰ ਕੰਟਰੋਲ ਕਰਦੀਆਂ ਹਨ ਜੋ ਅਸਲ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਕਰਦੇ ਹਨ।
ਪ੍ਰੋਟੋਟਾਈਪ ਤੋਂ ਪ੍ਰੋਡਕਸ਼ਨ ਤੱਕ ਦਾ ਪੜਾਅ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ
ਜ਼ਿਆਦਾਤਰ ਟਿਊਟੋਰਿਅਲ ਕੁਝ ਦਰਜਨ ਲਾਈਨਾਂ ਦੇ ਕੋਡ ਵਿੱਚ RAG ਪਾਈਪਲਾਈਨ ਚਲਾ ਦਿੰਦੇ ਹਨ, ਪਰ ਫਿਰ ਲਾਈਵ ਟ੍ਰੈਫਿਕ ਲਈ ਲੋੜੀਂਦੀ ਇੰਜੀਨੀਅਰਿੰਗ ਸਖ਼ਤੀ (rigor) ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਦੇ।
1. Chunking strategy – ਪਹਿਲਾ ਕੁਆਲਿਟੀ ਗੇਟ
Chunk ਦਾ ਆਕਾਰ ਸਭ ਤੋਂ ਵੱਧ ਮਹੱਤਵ ਰੱਖਦਾ ਹੈ। ਵੱਡੇ chunks ਬੇਲੋੜੇ ਟੈਕਸਟ ਨਾਲ ਸਹੀ ਜਾਣਕਾਰੀ (signal) ਨੂੰ ਦਬਾ ਦਿੰਦੇ ਹਨ; ਬਹੁਤ ਛੋਟੇ chunks ਉਸ ਆਲੇ-ਦੁਆਲੇ ਦੇ ਸੰਦਰਭ (context) ਨੂੰ ਖਤਮ ਕਰ ਦਿੰਦੇ ਹਨ ਜਿਸਦੀ ਲੋੜ ਮਾਡਲ ਨੂੰ ਇਕਸਾਰ ਜਵਾਬ ਤਿਆਰ ਕਰਨ ਲਈ ਹੁੰਦੀ ਹੈ। ਫਿਕਸਡ-ਸਾਈਜ਼ ਸਪਲਿਟਿੰਗ ਸਰੋਤ ਸਮੱਗਰੀ ਦੀ ਕੁਦਰਤੀ ਬਣਤਰ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦੀ ਹੈ।
ਵਿਹਾਰਕ ਨਿਯਮ (Practical rule-of-thumb)
- ਤਰਕਸ਼ੀਲ ਸੀਮਾਵਾਂ (logical boundaries) 'ਤੇ ਵੰਡੋ: ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਹੈਡਰ, ਲੇਖਾਂ ਵਿੱਚ ਪੈਰਾਗ੍ਰਾਫ ਬ੍ਰੇਕ, ਅਤੇ ਕੋਡ ਵਿੱਚ ਫੰਕਸ਼ਨ ਡੈਫੀਨੇਸ਼ਨ।
- Chunks ਨੂੰ ਸਹੀ ਰਿਟ੍ਰੀਵਲ (retrieval) ਲਈ ਕਾਫ਼ੀ ਛੋਟਾ ਰੱਖੋ ਪਰ LLM ਦੇ ਜਨਰੇਸ਼ਨ ਸਟੈਪ ਲਈ ਵੱਡੇ ਪੇਰੈਂਟ ਸੈਕਸ਼ਨ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖੋ। ਇਹ “parent-child” ਪੈਟਰਨ ਰਿਟ੍ਰੀਵਰ ਨੂੰ ਇੱਕ ਸਹੀ ਟੁਕੜਾ (snippet) ਦਿਖਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਜਨਰੇਟਰ ਕੋਲ ਤੱਥਾਂ 'ਤੇ ਟਿਕੇ ਰਹਿਣ ਲਈ ਲੋੜੀਂਦਾ ਸੰਦਰਭ ਹੁੰਦਾ ਹੈ।
2. Embedding models – ਸਮਾਨਤਾ (similarity) ਦਾ ਫੈਸਲਾ ਕਿਵੇਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ
Embedding ਮਾਡਲ ਟੈਕਸਟ ਨੂੰ ਵੈਕਟਰਾਂ (vectors) ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀ ਤੁਲਨਾ similarity search engine ਕਰਦਾ ਹੈ। OpenAI ਦਾ text-embedding-3-large ਵਰਗਾ ਇੱਕ ਮਜ਼ਬੂਤ ਜਨਰਲ-ਪਰਪਜ਼ ਮਾਡਲ ਜ਼ਿਆਦਾਤਰ ਖੇਤਰਾਂ ਲਈ ਇੱਕ ਮਜ਼ਬੂਤ ਬੇਸਲਾਈਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਕੋਰਪਸ (corpus) ਕਿਸੇ ਬਹੁਤ ਹੀ ਵਿਸ਼ੇਸ਼ ਖੇਤਰ ਵਿੱਚ ਹੈ—ਜਿਵੇਂ ਕਿ ਕਾਨੂੰਨੀ ਰਾਏ, ਮੈਡੀਕਲ ਰਿਕਾਰਡ, ਜਾਂ ਤਕਨੀਕੀ ਵੇਰਵੇ—ਤਾਂ ਇੱਕ ਡੋਮੇਨ-ਵਿਸ਼ੇਸ਼ ਮਾਡਲ ਦੀ ਜਾਂਚ ਕਰੋ, ਪਰ ਇਹ ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਕਰੋ ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਡੇਟਾ 'ਤੇ ਮਹੱਤਵਪੂਰਨ ਸੁਧਾਰ ਦੇਖ ਲਿਆ ਹੋਵੇ।
ਕਦੋਂ ਬਦਲਣਾ ਹੈ
- ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਬਦਲੋ ਜੇਕਰ ਤੁਸੀਂ ਉਹਨਾਂ relevance scores ਵਿੱਚ ਮਾਪਣਯੋਗ ਵਾਧਾ ਦੇਖਦੇ ਹੋ ਜੋ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹਨ (ਉਦਾਹਰਨ ਲਈ, ਉੱਚ context precision)।
3. Vector database – ਸਟੋਰ ਨੂੰ ਸਕੇਲ ਕਰਨਾ
ਇੱਕ ਅਜਿਹਾ vector store ਚੁਣੋ ਜੋ ਤੁਹਾਡੇ ਮੌਜੂਦਾ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਅਤੇ ਵੈਕਟਰਾਂ ਦੀ ਸੰਭਾਵਿਤ ਗਿਣਤੀ ਦੇ ਅਨੁਕੂਲ ਹੋਵੇ।
- pgvector PostgreSQL ਦੇ ਅੰਦਰ ਚੱਲਦਾ ਹੈ ਅਤੇ ਲਗਭਗ ਇੱਕ ਮਿਲੀਅਨ ਵੈਕਟਰਾਂ ਨੂੰ ਆਰਾਮ ਨਾਲ ਸੰਭਾਲ ਸਕਦਾ ਹੈ। ਇਹ ਉਹਨਾਂ ਟੀਮਾਂ ਲਈ ਆਦਰਸ਼ ਹੈ ਜੋ ਪਹਿਲਾਂ ਹੀ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੀਆਂ ਹਨ ਅਤੇ ਇੱਕ ਘੱਟ ਰੱਖ-ਰਖਾਅ ਵਾਲੇ ਹੱਲ ਦੀ ਲੋੜ ਹੈ।
- Qdrant 1M–100M ਦੀ ਰੇਂਜ ਵਿੱਚ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ, ਜੋ ਵੱਡੇ ਕੋਰਪਸ ਲਈ ਉੱਚ ਥਰੂਪੁੱਟ (throughput) ਅਤੇ ਘੱਟ ਲੇਟੈਂਸੀ (latency) ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
- Pinecone ਇੱਕ ਪੂਰੀ ਤਰ੍ਹਾਂ ਮੈਨੇਜਡ ਕਲਾਉਡ ਸਰਵਿਸ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜੋ ਸੈਲਫ-ਹੋਸਟਿੰਗ ਦੇ ਕੰਮ ਦਾ ਬੋਝ ਹਟਾ ਦਿੰਦਾ ਹੈ।
4. Hybrid search ਅਤੇ reranking – ਅਰਥ ਅਤੇ ਸਹੀਪਣ ਦੇ ਵਿਚਕਾਰ ਸੰਤੁਲਨ ਬਣਾਉਣਾ
ਸ਼ੁੱਧ (Pure) vector search ਅਰਥਾਤਕ ਸਮਾਨਤਾ (semantic similarity) ਵਿੱਚ ਵਧੀਆ ਹੁੰਦੀ ਹੈ ਪਰ ਇਹ ਉਹਨਾਂ ਸਹੀ ਕੀਵਰਡ ਮੈਚਾਂ ਨੂੰ ਗੁਆ ਸਕਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀ ਉਮੀਦ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਹੁੰਦੀ ਹੈ। Hybrid search ਵੈਕਟਰ ਇੰਡੈਕਸ ਦੇ ਉੱਪਰ ਇੱਕ ਰਵਾਇਤੀ BM25 ਕੀਵਰਡ ਇੰਡੈਕਸ ਲਗਾਉਂਦੀ ਹੈ, ਅਤੇ ਫਿਰ ਦੋਵਾਂ ਨਤੀਜਿਆਂ ਦੀਆਂ ਸੂਚੀਆਂ ਨੂੰ ਜੋੜ ਦਿੰਦੀ ਹੈ। Reciprocal Rank Fusion (RRF) ਦੋਵਾਂ ਸੂਚੀਆਂ ਵਿੱਚ ਰੈਂਕ ਦੇ ਅਧਾਰ 'ਤੇ ਹਰੇਕ ਉਮੀਦਵਾਰ ਨੂੰ ਇੱਕ ਸਕੋਰ ਦਿੰਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਮਿਲਾਉਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਉਹ ਚੀਜ਼ਾਂ ਵਧ ਜਾਂਦੀਆਂ ਹਨ ਜੋ ਕਿਸੇ ਵੀ ਸੂਚੀ ਵਿੱਚ ਉੱਚੇ ਰੈਂਕ 'ਤੇ ਹੁੰਦੀਆਂ ਹਨ।
Reranking ਇੱਕ ਆਖਰੀ precision ਫਿਲਟਰ ਜੋੜਦਾ ਹੈ। Hybrid retrieval ਤੋਂ ਬਾਅਦ, top-N (ਆਮ ਤੌਰ 'ਤੇ 50) ਉਮੀਦਵਾਰਾਂ ਨੂੰ ਇੱਕ cross-encoder ਨੂੰ ਭੇਜੋ—ਇੱਕ ਅਜਿਹਾ ਮਾਡਲ ਜੋ query-document ਜੋੜ ਨੂੰ ਇਕੱਠੇ ਸਕੋਰ ਕਰਦਾ ਹੈ। Cross-encoder ਦੇ ਸਕੋਰ ਅਸਲ similarity ਨੰਬਰਾਂ ਦੀ ਜਗ੍ਹਾ ਲੈ ਲੈਂਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ LLM ਨੂੰ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਸਭ ਤੋਂ ਢੁਕਵਾਂ chunk ਚੁਣ ਸਕਦੇ ਹੋ। ਇਹ ਵਾਧੂ ਕਦਮ ਅਕਸਰ ਜਵਾਬ ਦੀ ਗੁਣਵੱਤਾ ਵਿੱਚ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਸੁਧਾਰ ਲਿਆਉਂਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਲੰਬੇ ਜਾਂ ਸ਼ੋਰ ਵਾਲੇ ਕੋਰਪਸ ਲਈ।
5. Evaluation ਅਤੇ abstention – ਜੋ ਮਹੱਤਵਪੂਰਨ ਹੈ ਉਸਨੂੰ ਮਾਪਣਾ
ਤੁਸੀਂ ਉਸ ਸਿਸਟਮ ਨੂੰ ਸੁਧਾਰ ਨਹੀਂ ਸਕਦੇ ਜਿਸਨੂੰ ਤੁਸੀਂ ਮਾਪਦੇ ਨਹੀਂ ਹੋ। RAGAS ਫਰੇਮਵਰਕ ਚਾਰ ਮੈਟ੍ਰਿਕਸ (metrics) ਦਾ ਸੁਝਾਅ ਦਿੰਦਾ ਹੈ ਜੋ ਮਿਲ ਕੇ ਇੱਕ RAG ਪਾਈਪਲਾਈਨ ਦੀ ਸਿਹਤ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ:
- Context Precision – ਰਿਟ੍ਰੀਵ ਕੀਤੇ ਗਏ chunks ਦਾ ਉਹ ਹਿੱਸਾ ਜਿਸ ਵਿੱਚ ਅਸਲ ਵਿੱਚ ਜਵਾਬ ਹੁੰਦਾ ਹੈ।
- Context Recall – ਸਾਰੇ ਢੁਕਵੇਂ chunks ਦਾ ਉਹ ਹਿੱਸਾ ਜੋ ਰਿਟ੍ਰੀਵ ਕੀਤਾ ਗਿਆ ਸੀ।
- Faithfulness
