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

AI প্রোটোটাইপ তৈরির সময় গতি অত্যন্ত গুরুত্বপূর্ণ। ডেভেলপাররা দ্রুত প্রম্পট, ভেক্টর স্টোর এবং মডেলগুলোকে সংযুক্ত করতে চান। এই প্রয়োজনীয়তাই LangChain-এর মতো ফ্রেমওয়ার্কগুলোর ব্যবহার বাড়িয়ে দিচ্ছে।

কিন্তু কোড যখন প্রোটোটাইপ থেকে প্রোডাকশন এনভায়রনমেন্টে নিয়ে যাওয়া হয়, তখন আমার দৃষ্টিভঙ্গি বদলে যায়। প্রোডাকশনে আপনাকে প্রতিটি ডিপেন্ডেন্সি বা নির্ভরশীলতার বিপরীতে টেকনিক্যাল ডেট (technical debt) বিবেচনা করতে হবে। আপনাকে ডিবাগিং, রক্ষণাবেক্ষণ এবং ব্রেকিং চেঞ্জেসের (breaking changes) দিকে নজর দিতে হবে।

আমি GenAI ডেটা পাইপলাইন তৈরির দুটি পদ্ধতির মধ্যে তুলনা করেছি: পিওর নেটিভ Python এবং LangChain Expression Language (LCEL)।

এখানে সুবিধা ও অসুবিধাগুলো (trade-offs) দেওয়া হলো:

Native Python পদ্ধতি

  • এটি লাইটওয়েট অফিসিয়াল OpenAI ক্লায়েন্ট ব্যবহার করে।
  • এটি আপনার ভলনারেবিলিটি সারফেস (vulnerability surface) কমিয়ে দেয় এবং ডিপেন্ডেন্সি সংক্রান্ত সমস্যা প্রতিরোধ করে।
  • কোডটি একটি স্ট্যান্ডার্ড এক্সিকিউশন ফ্লো অনুসরণ করে।
  • স্ট্যাক ট্রেস (Stack traces) সরাসরি সেই লাইনে নির্দেশ করে যেখানে ত্রুটি ঘটেছে।
  • আপনি সহজেই স্ট্যান্ডার্ড ব্রেকপয়েন্ট এবং লগিং ব্যবহার করতে পারেন।
  • আপনি সরাসরি প্রোভাইডারের র (raw) API স্কিমার ওপর নির্ভর করেন।

LangChain পদ্ধতি

  • এটি একাধিক নেস্টেড প্যাকেজ যুক্ত করে।
  • বড় এন্টারপ্রাইজ ডিপ্লয়মেন্টগুলোতে এই ডিপেন্ডেন্সিগুলো বজায় রাখতে বেশি অপারেশনাল ওভারহেড (operational overhead) প্রয়োজন হয়।
  • এটি পাইপলাইন ডিক্লেয়ার করার জন্য একটি কাস্টম পাইপ অপারেটর ব্যবহার করে।
  • এটি ডিবাগিং কঠিন করে তোলে কারণ স্ট্যাক ট্রেসগুলো ফ্রেমওয়ার্ক কোডের গভীরে চলে যায়।
  • এটি আপনাকে মডেল-নির্দিষ্ট API পরিবর্তন থেকে বিচ্ছিন্ন রাখে।
  • আপনি সামান্য পরিবর্তনের মাধ্যমেই OpenAI-এর পরিবর্তে Anthropic-এর মতো মডেল প্রোভাইডার পরিবর্তন করতে পারেন।

কীভাবে বেছে নেবেন:

যদি আপনার পাইপলাইন একটি সাধারণ, একক-ধাপের ট্রানজ্যাকশন হয়, তবে Native পদ্ধতি বেছে নিন। আপনি যদি সরাসরি text-to-JSON পার্সিং করেন, তবে ক্লিন র‍্যাপার কোড (clean wrapper code) ব্যবহার করে আপনার সিস্টেমকে হালকা এবং স্বচ্ছ রাখুন।

যখন আপনার প্রয়োজনীয়তা বাড়বে, তখন LangChain বেছে নিন। যদি আপনার জটিল প্রম্পট ম্যানেজমেন্ট, লং-টার্ম মেমরি প্রয়োজন হয় অথবা দ্রুত একাধিক মডেল ভেন্ডর পরিবর্তন করতে হয়, তবে এই ফ্রেমওয়ার্কটি ব্যবহারের খরচ সার্থক হবে।

আমাদের লক্ষ্য কেবল কম কোড লেখা নয়। আমাদের এমন মেইনটেইনেবল সিস্টেম তৈরি করতে হবে যা স্কেল করতে পারে।

উৎস: https://dev.to/ingit_bhatnagar/orchestrating-ai-langchain-framework-abstraction-vs-pure-native-code-4iec

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi