Microsoft ঘোষণা করেছে যে Azure AI Foundry-এর Prompt Flow ২০ এপ্রিল ২০২৬ থেকে নতুন ফিচার পাওয়া বন্ধ করে দেবে এবং ২০ এপ্রিল ২০২৭ তারিখে এটি সম্পূর্ণভাবে সরিয়ে নেওয়া (retired) হবে। এটি ডেভেলপারদের তাদের ওয়ার্কলোড Microsoft Agent Framework-এ সরিয়ে নেওয়ার জন্য অনুরোধ করছে। এই ডেডলাইনটি গুরুত্বপূর্ণ কারণ Prompt Flow-এর জন্য ব্যবহৃত runtime images গুলো শীঘ্রই সিকিউরিটি আপডেট হারাবে, যা এই সার্ভিসটি চালু রাখা যেকোনো প্রতিষ্ঠানের জন্য কমপ্লায়েন্স সংক্রান্ত জটিলতা তৈরি করবে।

Prompt Flow ছিল large-language-model (LLM) পাইপলাইনের জন্য Azure AI Foundry-এর একটি ভিজ্যুয়াল অর্কেস্ট্রেটর। একটি “flow” মূলত একটি ফোল্ডার যা একটি flow.dag.yaml ফাইল ধারণ করে, যেখানে ইনপুট, আউটপুট এবং নোডগুলোর ক্রম বর্ণনা করা থাকে। ভিজ্যুয়াল এডিটর ব্যবহারকারীদের কম্পোনেন্ট ড্র্যাগ অ্যান্ড ড্রপ করার সুবিধা দিত, কিন্তু ভার্সন-কন্ট্রোল সিস্টেমগুলো মূলত এর নিচের YAML ফাইলটিকেই ট্র্যাক করে।

কেন এই পরিবর্তনটি গুরুত্বপূর্ণ

  • Compliance risk – সিকিউরিটি আপডেট না থাকলে, runtime images-এ আবিষ্কৃত যেকোনো দুর্বলতা (vulnerability) আনপ্যাচড থেকে যাবে। রেগুলেটররা প্রায়শই রক্ষণাবেক্ষণহীন কোডকে নন-কমপ্লায়েন্ট হিসেবে চিহ্নিত করে, বিশেষ করে যখন এটি ক্রেডেনশিয়াল (credentials) হ্যান্ডেল করে।

মূল ধারণা যা আপনার জানা প্রয়োজন

আপনি Prompt Flow পরিত্যাগ করার পরিকল্পনা করলেও, এটি যে প্যাটার্নগুলো উৎসাহিত করত সেগুলো এখনও মূল্যবান। এগুলো বুঝতে পারলে Agent Framework-এ স্থানান্তর প্রক্রিয়াটি সহজ হবে।

  • Folder-based definition – ফ্লো-এর YAML ফাইলটি প্রতিটি নোড, তার ধরন এবং ডেটা কন্ট্রাক্ট তালিকাভুক্ত করে। এই ফাইলটিকে সোর্স কন্ট্রোলের অধীনে রাখুন; এটিই হলো তথ্যের একমাত্র নির্ভরযোগ্য উৎস (single source of truth)।
  • Python nodes for deterministic work – পার্সিং, ভ্যালিডেশন বা এমন যেকোনো লজিকের জন্য Python স্টেপ ব্যবহার করুন যা একই ইনপুটের জন্য একই ফলাফল প্রদান করতে হবে। এটি নন-ডিটারমিনিস্টিক LLM কলগুলোকে আলাদা করে রাখে এবং ডাউনস্ট্রিম টেস্টিং সহজ করে তোলে।
  • Connection objects for secrets – ক্রেডেনশিয়ালগুলো কোডের পরিবর্তে একটি আলাদা কানেকশন ফিল্ডে থাকে। এই ডিজাইনটি আপনাকে ফ্লো ডেফিনিশন পরিবর্তন না করেই ডেভেলপমেন্ট কী-এর পরিবর্তে প্রোডাকশন কী ব্যবহার করার সুবিধা দেয়।
  • Evaluation datasets – Prompt Flow-এর সবচেয়ে শক্তিশালী ফিচার ছিল এর বিল্ট-ইন ইভ্যালুয়েশন লুপ। একটি JSONL ফাইল যা বাস্তবসম্মত ইনপুট এবং প্রত্যাশিত আউটপুটের জোড়া তৈরি করে, তা যেকোনো ফ্রেমওয়ার্কে পুনরায় ব্যবহার করা যেতে পারে; এটিকে পোর্টেবল টেস্ট ডেটা হিসেবে বিবেচনা করুন।
  • System-level metrics – শুধুমাত্র একটি নোডের আউটপুট পরিমাপ করা বিভ্রান্তিকর হতে পারে। পুরো পাইপলাইন চলার পর যে রিগ্রেশনগুলো (regressions) দেখা দেয় তা ধরার জন্য ডিটারমিনিস্টিক চেক (যেমন: regex match) এবং এন্ড-টু-এন্ড মেট্রিক্সের সমন্বয় করুন।

মাইগ্রেশন রোডম্যাপ

Prompt Flow থেকে Agent Framework-এ স্থানান্তর করা কোনো সহজ 'ক্লিক-অ্যান্ড-কনভার্ট' প্রক্রিয়া নয়; এর জন্য প্রতিটি নোডের সিম্যান্টিকস (semantics) পুনরায় লিখতে হবে।

  1. Map LLM nodes – ভিজ্যুয়াল LLM ব্লকগুলোর পরিবর্তে একটি এজেন্ট ক্লাসের মধ্যে থাকা স্পষ্ট API কল ব্যবহার করুন। এজেন্টের ইনপুট স্কিমাটি মূল YAML-এ সংজ্ঞায়িত স্কিমার মতোই হওয়া উচিত।
  2. Translate Python nodes – Python কোডগুলোকে সাধারণ ফাংশন বা মেথডে রূপান্তর করুন যা নতুন অর্কেস্ট্রেটর কল করতে পারে। এগুলোর চারপাশে আপনি যে ডিটারমিনিস্টিক কন্ট্রাক্টগুলো তৈরি করেছিলেন তা বজায় রাখুন।
  3. Rewire connections – Prompt Flow থেকে কানেকশন ডেফিনিশনগুলো এক্সপোর্ট করুন এবং সেগুলো Agent Framework-এর সিক্রেট স্টোরে ইমপোর্ট করুন। এনভায়রনমেন্ট-নির্দিষ্ট ভ্যালুগুলো সঠিকভাবে কাজ করছে কি না তা যাচাই করে নিন।
  4. Port evaluation data – বিদ্যমান JSONL ফাইলটি নতুন ফ্রেমওয়ার্কের টেস্ট হার্নেস-এ ব্যবহার করুন। Agent Framework-এর রিপোর্টিং ফরম্যাটের সাথে মিল রেখে মেট্রিক ক্যালকুলেশনগুলো সমন্বয় করুন।
  5. Validate end-to-end – রিয়েল ট্রাফিকের একটি স্যাম্পল দিয়ে পুরো পাইপলাইনটি চালান। ডেটা ড্রিফট (drift) শনাক্ত করতে মূল Prompt Flow-এর বেসলাইনের সাথে চূড়ান্ত আউটপুটগুলো তুলনা করুন।
  6. Iterate on orchestration – যদি আপনার ওয়ার্কফ্লো-এর প্রসেস রিস্টার্টের সময় স্থিতিস্থাপকতা (resilience) প্রয়োজন হয়, তবে ভিজ্যুয়াল ফ্লো পুনরায় তৈরি করার পরিবর্তে Azure Durable Functions বা অন্য কোনো ডিউরেবল অর্কেস্ট্রেটরের কথা বিবেচনা করুন।

পরবর্তী করণীয়

Takeaway: এপ্রিল ২০২৭-এর ডেডলাইনটিকে একটি চূড়ান্ত সময়সীমা হিসেবে বিবেচনা করুন। যেকোনো নতুন Prompt Flow প্রজেক্ট সাময়িকভাবে স্থগিত রাখুন, পুনরায় ব্যবহারযোগ্য অংশগুলো—YAML ডেফিনিশন, Python লজিক, কানেকশন কনফিগ এবং ইভ্যালুয়েশন ডেটা—আলাদা করুন এবং সিকিউরিটি আপডেট পাওয়া যাচ্ছে এমন সময়েই সেগুলোকে Agent Framework-এ পুনরায় তৈরি করা শুরু করুন। এখন এই প্রচেষ্টা ভবিষ্যতে একটি তাড়াহুড়ো করা এবং ঝুঁকিপূর্ণ মাইগ্রেশন রোধ করবে।

Source: https://dev.to/multigrid/building-a-prompt-flow-in-azure-ai-foundry-2bbn