MCP + RAG: ನಾನು ಸಂಕೀರ್ಣವಾದ RAG ವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿರ್ಮಿಸುವುದನ್ನು ಏಕೆ ನಿಲ್ಲಿಸಿದೆ
ಸಂಕೀರ್ಣವಾದ RAG ವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿರ್ಮಿಸಲು ನಾನು ನಾಲ್ಕು ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ.
ನಾನು chunking strategies, embedding models, vector databases ಮತ್ತು rerankersಗಳನ್ನು ಬಳಸಿದೆ. ನನ್ನ 1,800-ಗಂಟೆಗಳ ಜ್ಞಾನ ಕೋಶಕ್ಕಾಗಿ (knowledge base) ನಾನು ಒಂದು ವ್ಯವಸ್ಥೆಯನ್ನು ನಿರ್ಮಿಸಿದೆ. ಪ್ರತಿ ಬಾರಿಯೂ, ನಾನು ಅದನ್ನು ಪರಿಪೂರ್ಣವಾಗಿಸುತ್ತಿದ್ದೇನೆ ಎಂದು ಭಾವಿಸುತ್ತಿದ್ದೆ.
ಅದು ಎಂದಿಗೂ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲಿಲ್ಲ.
ನಂತರ ನಾನು Model Context Protocol (MCP) ಬೆಂಬಲವನ್ನು ಸೇರಿಸಿದೆ. ಅದು ಎಲ್ಲವನ್ನೂ ಬದಲಾಯಿಸಿತು. MCP ಹೆಚ್ಚಿನ ಜನರಿಗೆ ಸಾಂಪ್ರದಾಯಿಕ ಸಂಕೀರ್ಣ RAG ಅನ್ನು ಅಪ್ರಸ್ತುತವಾಗಿಸುತ್ತದೆ.
ನಾನು ಈ ಸಮಸ್ಯೆಗಳೊಂದಿಗೆ ಹೋರಾಡುತ್ತಿದ್ದೆ:
- semantic ಅಥವಾ recursive chunking ನಡುವೆ ಆಯ್ಕೆ ಮಾಡುವುದು.
- OpenAI, Cohere, ಅಥವಾ Nomic embeddings ನಡುವೆ ಆಯ್ಕೆ ಮಾಡುವುದು.
- Pinecone, Weaviate, ಅಥವಾ Chroma ನಡುವೆ ನಿರ್ಧರಿಸುವುದು.
- top-k retrieval ಮತ್ತು reranking ಅನ್ನು ನಿರ್ವಹಿಸುವುದು.
ನನ್ನ RAG ವ್ಯವಸ್ಥೆಯು 2,000 ಸಾಲುಗಳ ಕೋಡ್ಗೆ ತಲುಪಿತು. ಅದು ಪ್ರಭಾವಶಾಲಿಯಾಗಿತ್ತು ಆದರೆ ವಿಫಲವಾಯಿತು. AI ಈಗಾಗಲೇ ಬುದ್ಧಿವಂತವಾಗಿದ್ದಾಗ, ನಾನು ನನ್ನ ಡೇಟಾವನ್ನು ಬುದ್ಧಿವಂತವಾಗಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದೆ.
ನಾನು MCP ವಿಧಾನಕ್ಕೆ ಬದಲಾದೆ. ನಾನು ಕೇವಲ 150 ಸಾಲುಗಳ ಕೋಡ್ನೊಂದಿಗೆ ಒಂದು ಸರ್ವರ್ ಅನ್ನು ನಿರ್ಮಿಸಿದೆ.
ನಾನು AI ಗೆ ಕೇವಲ ಎರಡು ಪರಿಕರಗಳನ್ನು (tools) ನೀಡಿದೆ:
search_notes: ನೋಟ್ಸ್ಗಳನ್ನು ಹುಡುಕಲು ಸರಳವಾದ text matching ಅನ್ನು ಬಳಸುತ್ತದೆ.get_note_content: ನೋಟ್ನ ಪೂರ್ಣ ಪಠ್ಯವನ್ನು ನೀಡುತ್ತದೆ.
ಯಾವುದೇ chunks ಇಲ್ಲ. ಯಾವುದೇ ಸಂಕೀರ್ಣ embeddings ಇಲ್ಲ. ಯಾವುದೇ vector databases ಇಲ್ಲ.
ಈ ಸರಳ ವಿಧಾನವು ನನ್ನ ಅದ್ದೂರಿ RAG ವ್ಯವಸ್ಥೆಗಿಂತ 10 ರಲ್ಲಿ 9 ಬಾರಿ ಉತ್ತಮವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಅದಕ್ಕೆ ಕಾರಣಗಳು ಇಲ್ಲಿವೆ:
- AI ತರ್ಕವನ್ನು (logic) ನಿರ್ವಹಿಸುತ್ತದೆ. ಮೊದಲೇ ನಿಗದಿಪಡಿಸಿದ chunker ಗಿಂತ ಯಾವುದು ಪ್ರಸ್ತುತವಾಗಿದೆ ಎಂದು ನಿರ್ಧರಿಸುವಲ್ಲಿ AI ಉತ್ತಮವಾಗಿದೆ.
- ಪೂರ್ಣ ಸಂದರ್ಭ (Full context). ಸಾಂಪ್ರದಾಯಿಕ RAG ನೋಟ್ಸ್ಗಳನ್ನು ಸಣ್ಣ ತುಣುಕುಗಳಾಗಿ ಕತ್ತರಿಸುತ್ತದೆ. ಇದರಿಂದಾಗಿ ಹೆಚ್ಚಾಗಿ ಉತ್ತರವು ತಪ್ಪಿಹೋಗುತ್ತದೆ. MCP ನೊಂದಿಗೆ, AI ಇಡೀ ನೋಟ್ ಅನ್ನು ಓದುತ್ತದೆ. ಅದು ಸಂಪೂರ್ಣ ವಿಚಾರವನ್ನು ಗ್ರಹಿಸುತ್ತದೆ.
- ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶ (Predictability). ಪಠ್ಯ ಹುಡುಕಾಟವು (Text search) ಸರಳವಾಗಿದೆ. ಕೀವರ್ಡ್ ಇದ್ದರೆ, ಅದು ಕೆಲಸ ಮಾಡುತ್ತದೆ. ನೀವು embedding drift ಮತ್ತು dimension ದೋಷಗಳನ್ನು ತಪ್ಪಿಸಬಹುದು.
ನೀವು ಈ ಕೆಳಗಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ಸಾಂಪ್ರದಾಯಿಕ RAG ಅನ್ನು ಬಳಸಲೇಬೇಕು:
- ನಿಮ್ಮ ಬಳಿ 100,000 ಕ್ಕೂ ಹೆಚ್ಚು ದೊಡ್ಡ ದಾಖಲೆಗಳಿದ್ದರೆ.
- ನಿಮಗೆ ಕಡಿಮೆ ವಿಳಂಬದೊಂದಿಗೆ (low latency) ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಉತ್ಪಾದನೆ (high-scale production) ಬೇಕಿದ್ದರೆ.
ಆದರೆ ವೈಯಕ್ತಿಕ ಜ್ಞಾನ ಕೋಶಗಳು, ಸೈಡ್ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಅಥವಾ ಆಂತರಿಕ ಪರಿಕರಗಳಿಗಾಗಿ (internal tools), ನಿಮಗೆ ಇದರ ಅಗತ್ಯವಿಲ್ಲ.
MCP ನ ಪ್ರಯೋಜನಗಳು:
- ನಿರ್ವಹಿಸಲು ಸುಲಭ: 2,000 ರ ಬದಲಿಗೆ ಕೇವಲ 150 ಸಾಲುಗಳು.
- ಯಾವುದೇ embedding ವೆಚ್ಚಗಳಿಲ್ಲ: ಮಾಡೆಲ್ಗಳು ಬದಲಾದಾಗ ನೀವು ಡೇಟಾವನ್ನು ಮತ್ತೆ re-embed ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ.
- ಉತ್ತಮ ನಿಖರತೆ: AI ಪೂರ್ಣ ಸಂದರ್ಭವನ್ನು ಪಡೆಯುತ್ತದೆ.
- ಡಿಬಗ್ ಮಾಡಲು ಸುಲಭ: ಹುಡುಕಾಟವು ಏಕೆ ವಿಫಲವಾಯಿತು ಎಂಬುದನ್ನು ನೀವು ನಿಖರವಾಗಿ ನೋಡಬಹುದು.
ಅತಿಯಾದ ಇಂಜಿನಿಯರಿಂಗ್ (over-engineering) ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಕಠಿಣ ಕೆಲಸವನ್ನು AI ಗೆ ಮಾಡಲು ಬಿಡಿ. ಅದಕ್ಕೆ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಬಳಸಲು ಅವಕಾಶ ನೀಡಿ ಮತ್ತು ಅದನ್ನು ಓದಲು ಬಿಡಿ.
Optional learning community: https://t.me/GyaanSetuAi
