𝗔𝗜 𝗢𝗿𝗰𝗵𝗲𝘀𝘁𝗿𝗮𝘁𝗶𝗼𝗻: 𝗟𝗮𝗻𝗴𝗖𝗵𝗮𝗶𝗻 𝘃𝘀. 𝗡𝗮𝘁𝗶𝘃𝗲 𝗖𝗼𝗱𝗲

ನೀವು AI ಪ್ರೊಟೊಟೈಪ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವಾಗ ವೇಗವು ಬಹಳ ಮುಖ್ಯವಾಗುತ್ತದೆ. ಡೆವಲಪರ್‌ಗಳು ಪ್ರಾಂಪ್ಟ್‌ಗಳು (prompts), ವೆಕ್ಟರ್ ಸ್ಟೋರ್‌ಗಳು (vector stores) ಮತ್ತು ಮಾಡೆಲ್‌ಗಳನ್ನು ವೇಗವಾಗಿ ಸಂಪರ್ಕಿಸಲು ಬಯಸುತ್ತಾರೆ. ಈ ಅಗತ್ಯತೆಯೇ LangChain ನಂತಹ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳ ಬಳಕೆಗೆ ಪ್ರೇರಣೆ ನೀಡುತ್ತದೆ.

ಆದರೆ ಕೋಡ್ ಅನ್ನು ಪ್ರೊಟೊಟೈಪ್‌ನಿಂದ ಪ್ರೊಡಕ್ಷನ್ ಎನ್ವಿರಾನ್‌ಮೆಂಟ್‌ಗೆ (production environment) ವರ್ಗಾಯಿಸುವಾಗ ನನ್ನ ದೃಷ್ಟಿಕೋನ ಬದಲಾಗುತ್ತದೆ. ಪ್ರೊಡಕ್ಷನ್‌ನಲ್ಲಿ, ನೀವು ಪ್ರತಿಯೊಂದು ಅವಲಂಬನೆಯನ್ನು (dependency) ತಾಂತ್ರಿಕ ಸಾಲದ (technical debt) ದೃಷ್ಟಿಕೋನದಿಂದ ಪರಿಗಣಿಸಬೇಕು. ನೀವು ಡಿಬಗ್ಗಿಂಗ್ (debugging), ನಿರ್ವಹಣೆ (maintenance) ಮತ್ತು ಬ್ರೇಕಿಂಗ್ ಚೇಂಜ್‌ಗಳನ್ನು (breaking changes) ಗಮನಿಸಬೇಕಾಗುತ್ತದೆ.

ನಾನು GenAI ಡೇಟಾ ಪೈಪ್‌ಲೈನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಎರಡು ವಿಧಾನಗಳನ್ನು ಹೋಲಿಸಿದ್ದೇನೆ: ಪ್ಯೂರ್ ನೇಟಿವ್ ಪೈಥಾನ್ (Pure Native Python) ಮತ್ತು LangChain Expression Language (LCEL).

ಇಲ್ಲಿನ ಅನುಕೂಲ ಮತ್ತು ಅನಾನುಕೂಲಗಳು (trade-offs) ಹೀಗಿವೆ:

Native Python ವಿಧಾನ

  • ಇದು ಹಗುರವಾದ ಅಧಿಕೃತ OpenAI ಕ್ಲೈಂಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ.
  • ಇದು ನಿಮ್ಮ ವಲ್ನರಬಿಲಿಟಿ ಸರ್ಫೇಸ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅವಲಂಬನೆಯ ಸಮಸ್ಯೆಗಳನ್ನು ತಡೆಯುತ್ತದೆ.
  • ಕೋಡ್ ಪ್ರಮಾಣಿತ ಎಕ್ಸಿಕ್ಯೂಷನ್ ಫ್ಲೋ ಅನ್ನು ಅನುಸರಿಸುತ್ತದೆ.
  • ಸ್ಟ್ಯಾಕ್ ಟ್ರೇಸ್‌ಗಳು (Stack traces) ದೋಷ ಸಂಭವಿಸಿದ ನಿಖರವಾದ ಸಾಲನ್ನು ತೋರಿಸುತ್ತವೆ.
  • ನೀವು ಪ್ರಮಾಣಿತ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳು ಮತ್ತು ಲಾಗಿಂಗ್ ಅನ್ನು ಸುಲಭವಾಗಿ ಬಳಸಬಹುದು.
  • ನೀವು ನೇರವಾಗಿ ಪ್ರೊವೈಡರ್‌ನ ರೊ (raw) API ಸ್ಕೀಮಾವನ್ನು ಅವಲಂಬಿಸುತ್ತೀರಿ.

LangChain ವಿಧಾನ

  • ಇದು ಹಲವಾರು ನೆಸ್ಟೆಡ್ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು (nested packages) ಪರಿಚಯಿಸುತ್ತದೆ.
  • ದೊಡ್ಡ ಎಂಟರ್‌ಪ್ರೈಸ್ ನಿಯೋಜನೆಗಳು (deployments) ಈ ಅವಲಂಬನೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಹೆಚ್ಚಿನ ಕಾರ್ಯಾಚರಣೆಯ ಹೊರೆ ಎದುರಿಸುತ್ತವೆ.
  • ಇದು ಪೈಪ್‌ಲೈನ್‌ಗಳನ್ನು ಘೋಷಿಸಲು ಕಸ್ಟಮ್ ಪೈಪ್ ಆಪರೇಟರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ.
  • ಇದು ಡಿಬಗ್ಗಿಂಗ್ ಅನ್ನು ಕಷ್ಟವಾಗಿಸುತ್ತದೆ ಏಕೆಂದರೆ ಸ್ಟ್ಯಾಕ್ ಟ್ರೇಸ್‌ಗಳು ಫ್ರೇಮ್‌ವರ್ಕ್ ಕೋಡ್‌ನ ಆಳಕ್ಕೆ ಹೋಗುತ್ತವೆ.
  • ಇದು ಮಾಡೆಲ್-ನಿರ್ದಿಷ್ಟ API ಬದಲಾವಣೆಗಳಿಂದ ನಿಮ್ಮನ್ನು ಪ್ರತ್ಯೇಕಿಸುತ್ತದೆ.
  • ನೀವು ಕನಿಷ್ಠ ಬದಲಾವಣೆಗಳೊಂದಿಗೆ OpenAI ನಂತಹ ಮಾಡೆಲ್ ಪ್ರೊವೈಡರ್‌ಗಳನ್ನು Anthropic ಗೆ ಬದಲಾಯಿಸಬಹುದು.

ಹೇಗೆ ಆಯ್ಕೆ ಮಾಡುವುದು:

ನಿಮ್ಮ ಪೈಪ್‌ಲೈನ್ ಸರಳವಾದ, ಏಕ-ಹಂತದ ವಹಿವಾಟಾಗಿದ್ದರೆ Native ವಿಧಾನವನ್ನು ಆಯ್ಕೆಮಾಡಿ. ನೀವು ನೇರವಾದ text-to-JSON ಪಾರ್ಸಿಂಗ್ ಮಾಡುತ್ತಿದ್ದರೆ, ಸ್ವಚ್ಛವಾದ ವ್ಯಾಪರ್ ಕೋಡ್‌ನೊಂದಿಗೆ (wrapper code) ನಿಮ್ಮ ಸಿಸ್ಟಮ್ ಅನ್ನು ಲೀನ್ ಮತ್ತು ದೃಶ್ಯವಾಗಿರಿಸಿಕೊಳ್ಳಿ.

ನಿಮ್ಮ ಅಗತ್ಯತೆಗಳು ಹೆಚ್ಚಾದಾಗ LangChain ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ. ನಿಮಗೆ ಸಂಕೀರ್ಣವಾದ ಪ್ರಾಂಪ್ಟ್ ನಿರ್ವಹಣೆ, ದೀರ್ಘಕಾಲದ ಮೆಮೊರಿ ಅಥವಾ ಅನೇಕ ಮಾಡೆಲ್ ವೆಂಡರ್‌ಗಳನ್ನು ವೇಗವಾಗಿ ಬದಲಾಯಿಸಬೇಕಾದ ಅಗತ್ಯವಿದ್ದರೆ, ಈ ಫ್ರೇಮ್‌ವರ್ಕ್‌ನ ವೆಚ್ಚವು ಸಮರ್ಥನೀಯವಾಗಿದೆ.

ನಮ್ಮ ಗುರಿ ಕೇವಲ ಕಡಿಮೆ ಕೋಡ್ ಬರೆಯುವುದಲ್ಲ. ನಾವು ಸ್ಕೇಲ್ ಆಗುವಂತಹ ನಿರ್ವಹಣಾ ಕೈಗೆಟುಕುವ (maintainable) ಸಿಸ್ಟಮ್‌ಗಳನ್ನು ಬರೆಯಬೇಕು.

ಮೂಲ: https://dev.to/ingit_bhatnagar/orchestrating-ai-langchain-framework-abstraction-vs-pure-native-code-4iec

ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi