ಪ್ರಾಂಪ್ಟ್‌ಗಳು ಸಾಕಾಗುವುದಿಲ್ಲ: LLM ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ ಕಠಿಣ ನಿರ್ಬಂಧಗಳನ್ನು ಜಾರಿಗೊಳಿಸುವುದು

ಕಟ್ಟುನಿಟ್ಟಾದ ಅವಶ್ಯಕತೆಗಳನ್ನು ಎದುರಿಸುವವರೆಗೆ LLM ಡೆಮೋಗಳು ಅದ್ಭುತವಾಗಿ ಕಾಣುತ್ತವೆ.

ಮಾಡೆಲ್‌ಗಳು ಸಂಭವನೀಯತೆಯ (probability) ಮೇಲೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ. ಆದರೆ ಪ್ರೊಡಕ್ಷನ್ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ಗ್ಯಾರಂಟಿಗಳು ಬೇಕು.

ಅರ್ಜೆಂಟೀನಾದ Radio del Volga ಗಾಗಿ AI ನ್ಯೂಸ್ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ನಿರ್ಮಿಸುವಾಗ ನಾನು ಇದನ್ನು ಕಲಿತೆ. ಈ ಸಿಸ್ಟಮ್ ಸುದ್ದಿಯನ್ನು ಮರುಬರೆಯುತ್ತದೆ ಮತ್ತು ಸೋಶಿಯಲ್ ಮೀಡಿಯಾ ಪೋಸ್ಟ್‌ಗಳನ್ನು ರಚಿಸುತ್ತದೆ. ಒಂದು ಸಮಸ್ಯೆ ಎದುರಾಗುವವರೆಗೆ ಇದು ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡಿತು. ಅದೆಂದರೆ, Gemini ಪದೇ ಪದೇ ತಪ್ಪಾದ ಸ್ಪ್ಯಾನಿಷ್‌ನಲ್ಲಿ ಬರೆಯುತ್ತಿತ್ತು.

ಅರ್ಜೆಂಟೀನಾದಲ್ಲಿ, ಜನರು ನಿರ್ದಿಷ್ಟ ಪದಗಳನ್ನು ಬಳಸುತ್ತಾರೆ. ಅವರು "puedes" ಬದಲಿಗೆ "podés" ಮತ್ತು "eres" ಬದಲಿಗೆ "sos" ಎಂದು ಹೇಳುತ್ತಾರೆ. ಮಾಡೆಲ್ ತಟಸ್ಥ (neutral) ಸ್ಪ್ಯಾನಿಷ್ ಬಳಸಿದರೆ, ಸ್ಥಳೀಯ ಓದುಗರಿಗೆ ಆ ಪಠ್ಯವು ತಪ್ಪಾಗಿ ಅನಿಸುತ್ತದೆ.

ನಾನು ಮೊದಲು ಉತ್ತಮ ಪ್ರಾಂಪ್ಟಿಂಗ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದೆ. ನಾನು ಮಾಡೆಲ್‌ಗೆ ಹೀಗೆ ಹೇಳಿದೆ:

ಇದು ಸಹಾಯ ಮಾಡಿತು, ಆದರೆ ಎಲ್ಲವನ್ನೂ ಪರಿಹರಿಸಲಿಲ್ಲ. ಔಪಚಾರಿಕ ಸುದ್ದಿ ಮೂಲಗಳು ಮಾಡೆಲ್ ಅನ್ನು ಮತ್ತೆ neutral Spanish ಕಡೆಗೆ ತಳ್ಳಿದವು. ನಾನು ಪ್ರಾಂಪ್ಟ್‌ನಲ್ಲಿ ಎಷ್ಟೇ ಬರೆದರೂ, ತಪ್ಪುಗಳು ಹಾಗೆಯೇ ಉಳಿದವು.

ನಾನು ಇದನ್ನು ಪ್ರಾಂಪ್ಟಿಂಗ್ ಸಮಸ್ಯೆಯಾಗಿ ಪರಿಗಣಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿದೆ. ಬದಲಾಗಿ ಇದನ್ನು ವ್ಯಾಲಿಡೇಶನ್ (validation) ಸಮಸ್ಯೆಯಾಗಿ ಪರಿಗಣಿಸಲು ಪ್ರಾರಂಭಿಸಿದೆ.

ಧ್ವನಿ (tone) ಅಥವಾ ಶೈಲಿಯಂತಹ ಕೆಲವು ವಿಷಯಗಳು ಸಂಭವನೀಯವಾಗಿರುತ್ತವೆ (probabilistic). ಇತರ ವಿಷಯಗಳು ನಿರ್ಧಾರಿತವಾಗಿರುತ್ತವೆ (deterministic). ಒಂದು ಪಠ್ಯದಲ್ಲಿ "puedes" ಎಂಬ ಪದವಿದ್ದರೆ, ಅದು ತಪ್ಪು. ಅದನ್ನು ಪತ್ತೆಹಚ್ಚಲು ನಿಮಗೆ AI ಅಗತ್ಯವಿಲ್ಲ. ನಿಮಗೆ ಸರಳವಾದ ಕೋಡ್ (code) ಬೇಕು.

ನಾನು ಒಂದು ಪೋಸ್ಟ್-ಪ್ರೊಸೆಸಿಂಗ್ ಹಂತವನ್ನು ಸೇರಿಸಿದೆ. ಇದು AI ಕೆಲಸ ಮುಗಿಸಿದ ನಂತರ ಚಲಿಸುತ್ತದೆ. ಇದು ನಿರ್ದಿಷ್ಟ ಪದಗಳನ್ನು ಹುಡುಕಿ ಅವುಗಳನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ:

ಈ ಪಟ್ಟಿ ಚಿಕ್ಕದು ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿದೆ. ನಾನು ಇಡೀ ಸ್ಪ್ಯಾನಿಷ್ ಭಾಷೆಯನ್ನು ಸರಿಪಡಿಸಲು ಪ್ರಯತ್ನಿಸುವುದಿಲ್ಲ. ಕೋಡ್ ಮೂಲಕ ಖಚಿತವಾಗಿ ಪರಿಶೀಲಿಸಬಹುದಾದ ನಿಯಮಗಳನ್ನು ಮಾತ್ರ ನಾನು ಸರಿಪಡಿಸುತ್ತೇನೆ.

ಈ ಪಾಠವು ಸ್ಪ್ಯಾನಿಷ್ ಭಾಷೆಯ ಬಗ್ಗೆ ಅಲ್ಲ. ಇದು ಪ್ರಾಂಪ್ಟ್ ಇಂಜಿನಿಯರಿಂಗ್‌ನ ಮಿತಿಗಳ ಬಗ್ಗೆ ಆಗಿದೆ.

ಪ್ರಾಂಪ್ಟಿಂಗ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ, ಆದರೆ ಅದು ಗ್ಯಾರಂಟಿಯನ್ನು ನೀಡುವುದಿಲ್ಲ. ಒಂದು ನಿಯಮವು ಸ್ಥಿರವಾಗಿದ್ದರೆ ಮತ್ತು ಪರೀಕ್ಷಿಸಬಹುದಾಗಿದ್ದರೆ, ಅದನ್ನು ಜಾರಿಗೊಳಿಸಲು ಕೋಡ್ ಬಳಸಿ.

ಸುಲಲಿತವಾದ ಪಠ್ಯವನ್ನು ರಚಿಸಲು LLM ಗಳನ್ನು ಬಳಸಿ. ಬ್ರ್ಯಾಂಡ್ ಪದಗಳು, ನಿಯಂತ್ರಕ ಪದಬಳಕೆ (regulatory wording) ಮತ್ತು ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ನಿಯಮಗಳನ್ನು ಜಾರಿಗೊಳಿಸಲು ನಿರ್ಧಾರಿತ ಕೋಡ್ (deterministic code) ಬಳಸಿ.

ವಿಶ್ವಾಸಾರ್ಹ ಸಿಸ್ಟಮ್‌ಗಳು ಜವಾಬ್ದಾರಿಗಳನ್ನು ವಿಂಗಡಿಸುತ್ತವೆ: • ಮಾಡೆಲ್ ವಿಷಯವನ್ನು (content) ಸೃಷ್ಟಿಸುತ್ತದೆ. • ಕೋಡ್ ಕಠಿಣ ನಿಯಮಗಳನ್ನು ಜಾರಿಗೊಳಿಸುತ್ತದೆ. • ಮನುಷ್ಯರು ಅಂತಿಮ ಸಂಪಾದಕೀಯ ನಿರ್ಧಾರವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತಾರೆ.

Source: https://dev.to/zendev2112/prompts-arent-enough-enforcing-hard-constraints-on-llm-output-2hpo

Optional learning community: https://t.me/GyaanSetuAi