𝗗𝗲-𝗺𝘆𝘀𝘁𝗶𝗳𝘆𝗶𝗻𝗴 𝘁𝗵𝗲 𝗚𝗲𝗻𝗔𝗜 𝗦𝘁𝗮𝗰𝗸
ಸಾಂಪ್ರದಾಯಿಕ ಸಾಫ್ಟ್ವೇರ್ ವಿನ್ಯಾಸವು 'determinism' ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ. ನೀವು ಒಂದು ಇನ್ಪುಟ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತೀರಿ, ಅದನ್ನು ಸ್ಕೀಮಾದೊಂದಿಗೆ (schema) ಪರಿಶೀಲಿಸುತ್ತೀರಿ ಮತ್ತು ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶವನ್ನು ನಿರೀಕ್ಷಿಸುತ್ತೀರಿ.
Generative AI ಇದನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. Large Language Models (LLMs) ಎಂಬವು 'probabilistic engines' ಆಗಿವೆ. ಅವು ಸಂಭವನೀಯತೆಯ (probability) ಆಧಾರದ ಮೇಲೆ ಪಠ್ಯವನ್ನು ಮುನ್ಸೂಚಿಸುತ್ತವೆ.
ನೀವು LLM ಅನ್ನು ಒಂದು ಮಾಂತ್ರಿಕ ಪೆಟ್ಟಿಗೆಯಂತೆ ಪರಿಗಣಿಸಿದರೆ, ನಿಮ್ಮ ಪ್ರೊಡಕ್ಷನ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ವಿಫಲವಾಗುತ್ತವೆ. ನೀವು ಅದನ್ನು ಅಸ್ಥಿರವಾದ (volatile), non-deterministic ತೃತೀಯ-ಪಕ್ಷದ (third-party) API ಎಂದು ಪರಿಗಣಿಸಿದರೆ, ನೀವು ವಿಶ್ವಾಸಾರ್ಹ ವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು.
LLM ಹೊಂದಿರುವ ಕೆಲವು ನಿರ್ದಿಷ್ಟ ಮಿತಿಗಳನ್ನು ನೀವು ನಿರ್ವಹಿಸಬೇಕಾಗುತ್ತದೆ:
- Payload Size: ಮಾಡೆಲ್ಗಳು 'context windows' ಎಂಬ ಕಟ್ಟುನಿಟ್ಟಾದ ಮಿತಿಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. ನೀವು ಮಿತಿಯಿಲ್ಲದ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.
- Latency: ಡೇಟಾಬೇಸ್ ಓದುವಿಕೆಗೆ ಮಿಲಿಸೆಕೆಂಡುಗಳು ಬೇಕಾಗುತ್ತವೆ. LLM ಇನ್ಫರೆನ್ಸ್ (inference) ಗೆ ಸೆಕೆಂಡುಗಳು ಬೇಕಾಗುತ್ತವೆ. ಇದನ್ನು ನಿರ್ವಹಿಸಲು ನಿಮಗೆ asynchronous queues ಅಥವಾ streaming ಅಗತ್ಯವಿದೆ.
- Hallucinations: ಒಂದು ಮಾಡೆಲ್ಗೆ ನಿರ್ದಿಷ್ಟ ಡೇಟಾ ಇಲ್ಲದಿದ್ದರೆ, ಅದು ನಂಬಲರ್ಹವಾಗಿ ಕಾಣುವ ಆದರೆ ತಪ್ಪು ಉತ್ತರವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ.
ದುಬಾರಿ ಮರುತರಬೇತಿ (retraining) ಇಲ್ಲದೆ ಡೇಟಾ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ನಾವು Retrieval-Augmented Generation (RAG) ಅನ್ನು ಬಳಸುತ್ತೇವೆ.
RAG ಎನ್ನುವುದು ನಿಮ್ಮ ಸ್ವಂತ ಡೇಟಾಬೇಸ್ ಅನ್ನು API ಗೆ ತರುವಂತಿದೆ. ಮಾಡೆಲ್ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ತಿಳಿದಿರಲಿ ಎಂದು ನಿರೀಕ್ಷಿಸುವ ಬದಲು, ನಿಮ್ಮ ಬ್ಯಾಕೆಂಡ್ ಸಂಬಂಧಿತ ಸಂದರ್ಭವನ್ನು (context) ಪಡೆದು ಅದನ್ನು ಪ್ರಾಂಪ್ಟ್ಗೆ (prompt) ಸೇರಿಸುತ್ತದೆ.
RAG ಕಾರ್ಯವಿಧಾನ (workflow):
- ಬಳಕೆದಾರರು ಪ್ರಾಂಪ್ಟ್ ಕಳುಹಿಸುತ್ತಾರೆ.
- ನಿಮ್ಮ ಸಿಸ್ಟಮ್ ಒಂದು Vector Database ಅನ್ನು ಪ್ರಶ್ನಿಸುತ್ತದೆ.
- ಸಿಸ್ಟಮ್ ಅರ್ಥಪೂರ್ಣವಾಗಿ ಹೋಲುವ ಪಠ್ಯದ ತುಣುಕುಗಳನ್ನು (text chunks) ಹುಡುಕುತ್ತದೆ.
- ಸಿಸ್ಟಮ್ ಈ ತುಣುಕುಗಳನ್ನು ಪ್ರಾಂಪ್ಟ್ಗೆ ಸೇರಿಸುತ್ತದೆ.
- LLM ಆ ಆಧಾರಿತ ಸಂದರ್ಭವನ್ನು (grounded context) ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ.
ಇದು LLM ಅನ್ನು ಕೇವಲ ಜ್ಞಾನದ ಜನರೇಟರ್ನಿಂದ ಸಂದರ್ಭದ ಪ್ರೊಸೆಸರ್ (context processor) ಆಗಿ ಬದಲಾಯಿಸುತ್ತದೆ. ಇದು ದೋಷಗಳನ್ನು ಗಣನೀಯವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
LLM ಔಟ್ಪುಟ್ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತ ಸೇವೆಗಳಿಗೆ ಉಪಯುಕ್ತವಾಗಿಸಲು, ನಿಮಗೆ Structured Outputs ಅಗತ್ಯವಿದೆ. ಮೈಕ್ರೋಸರ್ವಿಸ್ಗಾಗಿ ಸಂಭಾಷಣಾತ್ಮಕ ಪಠ್ಯವನ್ನು ವಿಶ್ಲೇಷಿಸಲು (parse) ನೀವು regex ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು JSON ನಂತಹ ನಿಖರವಾದ ಸ್ಕೀಮಾ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು (schema definitions) ಕಳುಹಿಸಬೇಕು. ಇದು ನಿಮ್ಮ ಕೋಡ್ ಓದಬಲ್ಲ ಕಟ್ಟುನಿಟ್ಟಾದ ವಿನ್ಯಾಸವನ್ನು ಮಾಡೆಲ್ ಅನುಸರಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಪ್ರೊಡಕ್ಷನ್ AI ನಿರ್ಮಿಸಲು ಲೀನಿಯರ್ ಪ್ರಾಂಪ್ಟ್ಗಳಿಂದ (linear prompts) ಬಲಿಷ್ಠ ಸಿಸ್ಟಮ್ ವಿನ್ಯಾಸದ ಕಡೆಗೆ ಸಾಗಬೇಕಾಗುತ್ತದೆ.
Optional learning community: https://t.me/GyaanSetuAi