MCP + RAG: ਮੈਂ ਗੁੰਝਲਦਾਰ RAG ਸਿਸਟਮ ਬਣਾਉਣਾ ਕਿਉਂ ਬੰਦ ਕਰ ਦਿੱਤਾ
ਮੈਂ ਚਾਰ ਸਾਲ ਗੁੰਝਲਦਾਰ RAG ਸਿਸਟਮ ਬਣਾਉਣ ਵਿੱਚ ਬਿਤਾਏ।
ਮੈਂ chunking strategies, embedding models, vector databases, ਅਤੇ rerankers ਦੀ ਵਰਤੋਂ ਕੀਤੀ। ਮੈਂ ਆਪਣੇ 1,800-ਘੰਟੇ ਦੇ knowledge base ਲਈ ਇੱਕ ਸਿਸਟਮ ਬਣਾਇਆ। ਹਰ ਵਾਰ, ਮੈਨੂੰ ਲੱਗਦਾ ਸੀ ਕਿ ਮੈਂ ਇਸਨੂੰ ਸੰਪੂਰਨ ਬਣਾ ਰਿਹਾ ਹਾਂ।
ਇਹ ਕਦੇ ਵੀ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਨਹੀਂ ਕਰਿਆ।
ਫਿਰ ਮੈਂ Model Context Protocol (MCP) support ਜੋੜਿਆ। ਇਸਨੇ ਸਭ ਕੁਝ ਬਦਲ ਦਿੱਤਾ। MCP ਜ਼ਿਆਦਾਤਰ ਲੋਕਾਂ ਲਈ ਰਵਾਇਤੀ ਗੁੰਝਲਦਾਰ RAG ਨੂੰ ਬੇਕਾਰ ਬਣਾ ਦਿੰਦਾ ਹੈ।
ਮੈਂ ਇਹਨਾਂ ਸਮੱਸਿਆਵਾਂ ਨਾਲ ਲੜਦਾ ਸੀ:
- semantic ਜਾਂ recursive chunking ਵਿੱਚੋਂ ਚੋਣ ਕਰਨਾ।
- OpenAI, Cohere, ਜਾਂ Nomic embeddings ਵਿੱਚੋਂ ਚੋਣ ਕਰਨਾ।
- Pinecone, Weaviate, ਜਾਂ Chroma ਵਿੱਚੋਂ ਫੈਸਲਾ ਕਰਨਾ।
- top-k retrieval ਅਤੇ reranking ਨੂੰ ਸੰਭਾਲਣਾ।
ਮੇਰਾ RAG ਸਿਸਟਮ 2,000 ਲਾਈਨਾਂ ਦੇ ਕੋਡ ਤੱਕ ਪਹੁੰਚ ਗਿਆ ਸੀ। ਇਹ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਸੀ ਪਰ ਇਹ ਅਸਫਲ ਰਿਹਾ। ਮੈਂ ਆਪਣੇ ਡੇਟਾ ਨੂੰ ਸਮਾਰਟ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਸੀ ਜਦੋਂ ਕਿ AI ਪਹਿਲਾਂ ਹੀ ਸਮਾਰਟ ਸੀ।
ਮੈਂ MCP approach ਵੱਲ ਵਧ ਗਿਆ। ਮੈਂ ਸਿਰਫ਼ 150 ਲਾਈਨਾਂ ਦੇ ਕੋਡ ਨਾਲ ਇੱਕ ਸਰਵਰ ਬਣਾਇਆ।
ਮੈਂ AI ਨੂੰ ਸਿਰਫ਼ ਦੋ ਟੂਲ ਦਿੱਤੇ:
search_notes: ਨੋਟਸ ਲੱਭਣ ਲਈ ਸਧਾਰਨ text matching ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।get_note_content: ਇੱਕ ਨੋਟ ਦਾ ਪੂਰਾ ਟੈਕਸਟ ਵਾਪਸ ਕਰਦਾ ਹੈ।
ਕੋਈ chunks ਨਹੀਂ। ਕੋਈ ਗੁੰਝਲਦਾਰ embeddings ਨਹੀਂ। ਕੋਈ vector databases ਨਹੀਂ।
ਇਹ ਸਧਾਰਨ ਤਰੀਕਾ ਮੇਰੇ ਸ਼ਾਨਦਾਰ RAG ਸਿਸਟਮ ਨੂੰ 10 ਵਿੱਚੋਂ 9 ਵਾਰ ਹਰਾ ਦਿੰਦਾ ਹੈ। ਇਸਦਾ ਕਾਰਨ ਇਹ ਹੈ:
- AI ਲੌਜਿਕ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ। ਇੱਕ ਪਹਿਲਾਂ ਤੋਂ ਸੈੱਟ ਕੀਤੇ ਗਏ chunker ਨਾਲੋਂ AI ਇਹ ਫੈਸਲਾ ਕਰਨ ਵਿੱਚ ਬਿਹਤਰ ਹੈ ਕਿ ਕੀ ਮਹੱਤਵਪੂਰਨ ਹੈ।
- ਪੂਰਾ context। ਰਵਾਇਤੀ RAG ਨੋਟਸ ਨੂੰ ਛੋਟੇ ਟੁਕੜਿਆਂ ਵਿੱਚ ਕੱਟ ਦਿੰਦਾ ਹੈ। ਇਸ ਨਾਲ ਅਕਸਰ ਜਵਾਬ ਗੁੰਮ ਹੋ ਜਾਂਦਾ ਹੈ। MCP ਦੇ ਨਾਲ, AI ਪੂਰਾ ਨੋਟ ਪੜ੍ਹਦਾ ਹੈ। ਇਹ ਪੂਰਾ ਵਿਚਾਰ ਦੇਖਦਾ ਹੈ।
- ਭਵਿੱਖਬਾਣੀਯੋਗਤਾ (Predictability)। ਟੈਕਸਟ ਸਰਚ ਸਧਾਰਨ ਹੈ। ਜੇਕਰ ਕੀਵਰਡ ਮੌਜੂਦ ਹੈ, ਤਾਂ ਇਹ ਕੰਮ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ embedding drift ਅਤੇ dimension errors ਤੋਂ ਬਚਦੇ ਹੋ।
ਤੁਹਾਨੂੰ ਅਜੇ ਵੀ ਰਵਾਇਤੀ RAG ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਜੇਕਰ:
- ਤੁਹਾਡੇ ਕੋਲ 100,000 ਤੋਂ ਵੱਧ ਵੱਡੇ ਦਸਤਾਵੇਜ਼ ਹਨ।
- ਤੁਹਾਨੂੰ ਘੱਟ latency ਦੇ ਨਾਲ ਉੱਚ-ਪੱਧਰੀ production ਦੀ ਲੋੜ ਹੈ।
ਪਰ ਨਿੱਜੀ knowledge bases, side projects, ਜਾਂ ਅੰਦਰੂਨੀ ਟੂਲਸ ਲਈ, ਤੁਹਾਨੂੰ ਇਸਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।
MCP ਦੇ ਫਾਇਦੇ:
- ਰੱਖ-ਰਖਾਅ ਵਿੱਚ ਆਸਾਨ: 2,000 ਦੀ ਬਜਾਏ 150 ਲਾਈਨਾਂ।
- ਕੋਈ embedding ਲਾਗਤ ਨਹੀਂ: ਜਦੋਂ ਮਾਡਲ ਬਦਲਦੇ ਹਨ ਤਾਂ ਤੁਹਾਨੂੰ ਡੇਟਾ ਨੂੰ ਦੁਬਾਰਾ re-embed ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ।
- ਬਿਹਤਰ ਸ਼ੁੱਧਤਾ: AI ਨੂੰ ਪੂਰਾ context ਮਿਲਦਾ ਹੈ।
- ਡੀਬੱਗ ਕਰਨਾ ਆਸਾਨ: ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਸਰਚ ਕਿਉਂ ਅਸਫਲ ਰਹੀ।
Over-engineering ਬੰਦ ਕਰੋ। AI ਨੂੰ ਮੁੱਖ ਕੰਮ ਕਰਨ ਦਿਓ। ਇਸਨੂੰ ਆਪਣੇ ਡੇਟਾ ਤੱਕ ਪਹੁੰਚ ਦਿਓ ਅਤੇ ਇਸਨੂੰ ਪੜ੍ਹਨ ਦਿਓ।
ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi
