কখনও মনে হয়েছে আপনার AI সরঞ্জামগুলি কিছুটা...আচ্ছা, প্যাসিভ? তারা ঠিক সেখানে বসে আপনার পরবর্তী আদেশের জন্য অপেক্ষা করছে? কল্পনা করুন যে তারা উদ্যোগ নিতে পারে, বড় সমস্যাগুলি ভেঙে ফেলতে পারে, এমনকি কাজগুলি সম্পন্ন করার জন্য একসাথে কাজ করতে পারে।
এলএলএম এজেন্টরা ঠিক সেটাই টেবিলে নিয়ে আসে। তারা পরিবর্তন করছে যে আমরা কীভাবে জটিল কাজগুলিকে স্বয়ংক্রিয়ভাবে করি এবং তারা আমাদের AI ধারণাগুলিকে সম্পূর্ণ নতুন উপায়ে জীবন্ত করতে সাহায্য করতে পারে৷
এই নিবন্ধে, আমরা LLM এজেন্টগুলি কী, তারা কীভাবে কাজ করে এবং কীভাবে আপনি দুর্দান্ত ওপেন-সোর্স ফ্রেমওয়ার্ক ব্যবহার করে আপনার নিজস্ব তৈরি করতে পারেন তা অন্বেষণ করব৷
আমরা যা কভার করব:
-
এলএলএম এজেন্টদের বর্তমান অবস্থা
-
চ্যাটবট থেকে স্বায়ত্তশাসিত এজেন্ট
-
এজেন্ট আজ কি করতে পারে?
-
কি দিয়ে তৈরি করা যায়?
-
কেন এখনই শেখার সেরা সময়
-
-
এলএলএম এজেন্ট কি এবং কেন তারা একটি বড় চুক্তি?
-
এলএলএম কি?
-
তো, এলএলএম এজেন্ট কি?
-
কেন এটা গুরুত্বপূর্ণ?
-
-
ওপেন-সোর্স এজেন্ট ফ্রেমওয়ার্কের উত্থান
-
জনপ্রিয় ওপেন-সোর্স এজেন্ট ফ্রেমওয়ার্ক
-
এই সরঞ্জামগুলি কী সক্ষম করে
-
কেন স্ক্র্যাচ থেকে বিল্ডিংয়ের পরিবর্তে একটি ফ্রেমওয়ার্ক ব্যবহার করুন?
-
-
এজেন্ট ডিজাইনের পিছনে মূল ধারণা
-
এজেন্ট লুপ
-
একটি এজেন্টের মূল উপাদান
-
মাল্টি-এজেন্ট সহযোগিতা
-
-
প্রকল্প:ইমেল থেকে আপনার দৈনিক সময়সূচী স্বয়ংক্রিয় করুন
-
আমরা যা স্বয়ংক্রিয় করছি
-
ধাপ 1:প্রয়োজনীয় টুল ইনস্টল করুন
-
ধাপ 2:টাস্ক সংজ্ঞায়িত করুন
-
ধাপ 3:LangGraph দিয়ে ওয়ার্কফ্লো তৈরি করুন
-
-
CrewAI
এর সাথে মাল্টি-এজেন্ট সহযোগিতা-
CrewAI কি?
-
ইমেল সারাংশ টাস্কের জন্য নমুনা ভূমিকা
-
নমুনা ক্রুএআই কোড
-
-
কার্য সম্পাদনের সময় আসলে কী ঘটে?
-
এলএলএম এজেন্ট কি নিরাপদ? নিরাপত্তা এবং গোপনীয়তা সম্পর্কে কি জানতে হবে
-
সমস্যা সমাধান এবং টিপস
-
আরও দৈনিক অটোমেশন এক্সপ্লোর করুন
-
এজেন্ট প্রযুক্তিতে পরবর্তী কি?
-
চূড়ান্ত সারাংশ
এলএলএম এজেন্টদের বর্তমান অবস্থা
LLM এজেন্ট হল এই মুহূর্তে AI-তে সবচেয়ে উত্তেজনাপূর্ণ উন্নয়নের একটি। তারা ইতিমধ্যেই আসল কাজগুলিকে স্বয়ংক্রিয় করতে সহায়তা করছে তবে তারা এখনও বিকশিত হচ্ছে। তাহলে আজ আমরা কোথায়?
চ্যাটবট থেকে স্বায়ত্তশাসিত এজেন্ট
GPT-4, Claude, Gemini, এবং LLaMA এর মতো বড় ভাষার মডেলগুলি (LLMs) সাধারণ চ্যাটবট থেকে বিস্ময়করভাবে সক্ষম যুক্তি ইঞ্জিনে পরিণত হয়েছে। তারা ট্রিভিয়া প্রশ্নের উত্তর দেওয়া এবং প্রবন্ধ তৈরি করা থেকে শুরু করে জটিল যুক্তি সম্পাদন করা, বহু-পদক্ষেপ নির্দেশাবলী অনুসরণ করা এবং ওয়েব অনুসন্ধান এবং কোড দোভাষীর মতো সরঞ্জামগুলির সাথে ইন্টারঅ্যাক্ট করা পর্যন্ত চলে গেছে৷
কিন্তু এখানে ধরা হল:এই মডেলগুলি প্রতিক্রিয়াশীল . তারা ইনপুটের জন্য অপেক্ষা করে এবং আউটপুট দেয়। তারা কাজগুলির মধ্যে মেমরি ধরে রাখে না, সামনের পরিকল্পনা করে বা তাদের নিজের লক্ষ্যগুলি অনুসরণ করে না। সেখানেই LLM এজেন্ট ভিতরে আসুন - তারা গঠন, স্মৃতি এবং স্বায়ত্তশাসন যোগ করে এই ব্যবধান পূরণ করে।
এজেন্টরা আজ কি করতে পারে?
এই মুহূর্তে, এলএলএম এজেন্টগুলি ইতিমধ্যেই এর জন্য ব্যবহার করা হচ্ছে:
-
ইমেল বা নথির সারসংক্ষেপ
-
দৈনিক সময়সূচী পরিকল্পনা
-
DevOps স্ক্রিপ্ট চলছে
-
উত্তরের জন্য API বা টুল অনুসন্ধান করা হচ্ছে
-
জটিল কাজগুলি সম্পূর্ণ করতে ছোট "টিমে" সহযোগিতা করা
কিন্তু তারা এখনও নিখুঁত নয়। এজেন্ট এখনও করতে পারেন:
-
লুপে আটকে যান
-
লক্ষ্যগুলিকে ভুল বোঝা
-
বিস্তারিত প্রম্পট এবং গার্ডেল প্রয়োজন
কারণ এই প্রযুক্তি এখনও প্রাথমিক পর্যায়ে রয়েছে। ফ্রেমওয়ার্কগুলি দ্রুত উন্নত হচ্ছে, কিন্তু নির্ভরযোগ্যতা এবং মেমরি এখনও কাজ চলছে। তাই আপনি পরীক্ষা করার সময় এটি মনে রাখবেন৷
কেন এখনই শেখার সেরা সময়
সত্য হল:আমরা এখনও তাড়াতাড়ি আছি। কিন্তু খুবও না তাড়াতাড়ি।
এজেন্টদের সাথে পরীক্ষা শুরু করার এটাই উপযুক্ত সময়:
-
টুলিং বাস্তব প্রকল্প নির্মাণের জন্য যথেষ্ট পরিপক্ক
-
সম্প্রদায়টি দ্রুত বৃদ্ধি পাচ্ছে
-
এবং আপনাকে পাইথনের সাথে স্বাচ্ছন্দ্যের জন্য একজন AI বিশেষজ্ঞ হতে হবে না
LLM এজেন্ট কি এবং কেন তারা একটি বড় চুক্তি?
আমরা এজেন্টদের উত্তেজনাপূর্ণ জগতে ডুব দেওয়ার আগে, আসুন দ্রুত মৌলিক বিষয়গুলি সম্পর্কে আরও একটু চ্যাট করি৷
এলএলএম কি?
একটি LLM, বা বড় ভাষা মডেল, মূলত একটি AI যা ইন্টারনেট থেকে প্রচুর পরিমাণে পাঠ্য থেকে শেখা হয় - বই, নিবন্ধ, কোড এবং আরও অনেক কিছু মনে করুন। আপনি এটিকে একটি সুপার-স্মার্ট স্বয়ংসম্পূর্ণ ইঞ্জিন হিসাবে চিত্রিত করতে পারেন। তবে এটি আপনার বাক্য শেষ করার চেয়ে আরও বেশি কিছু করে। এটিও করতে পারে:
-
কঠিন প্রশ্নের উত্তর দিন
-
দীর্ঘ নিবন্ধ বা নথির সংক্ষিপ্ত বিবরণ
-
কোড, ইমেল বা সৃজনশীল গল্প লিখুন
-
তাৎক্ষণিকভাবে ভাষা অনুবাদ করুন
-
এমনকি লজিক ধাঁধা সমাধান করুন এবং আকর্ষক কথোপকথন করুন
সম্ভবত আপনি ChatGPT-এর কথা শুনেছেন, যা OpenAI-এর GPT মডেল দ্বারা চালিত। অন্যান্য জনপ্রিয় LLM গুলির মধ্যে রয়েছে ক্লাউড (এনথ্রোপিক থেকে), LLaMA (মেটা দ্বারা), মিস্ট্রাল এবং জেমিনি (Google থেকে)।
এই মডেলগুলি প্রেক্ষাপটের উপর ভিত্তি করে একটি বাক্যে পরবর্তী শব্দের পূর্বাভাস দিয়ে কাজ করে। যদিও এটি সোজা মনে হয়, যখন কোটি কোটি শব্দের উপর প্রশিক্ষণ দেওয়া হয়, তখন এলএলএমগুলি আশ্চর্যজনকভাবে বুদ্ধিমান আচরণ করতে, আপনার নির্দেশাবলী বুঝতে, ধাপে ধাপে যুক্তি অনুসরণ করতে এবং আপনি কল্পনা করতে পারেন এমন প্রায় যে কোনও বিষয়ে সুসংগত প্রতিক্রিয়া তৈরি করতে সক্ষম হয়৷
তাহলে, এলএলএম এজেন্ট কী?
যদিও এলএলএমগুলি অত্যন্ত শক্তিশালী, তারা সাধারণত কেবল প্রতিক্রিয়া – করে আপনি তাদের কিছু জিজ্ঞাসা করলেই তারা উত্তর দেয়। অন্যদিকে একজন এলএলএম এজেন্ট হল প্রোঅ্যাকটিভ .
এলএলএম এজেন্টরা করতে পারেন:
-
বড়, জটিল কাজগুলিকে ছোট, পরিচালনাযোগ্য ধাপে ভাগ করুন
-
স্মার্ট সিদ্ধান্ত নিন এবং পরবর্তীতে কি করতে হবে তা বের করুন
-
ওয়েব সার্চ, ক্যালকুলেটর বা এমনকি অন্যান্য অ্যাপের মত "সরঞ্জাম" ব্যবহার করুন
-
একটি লক্ষ্যের দিকে কাজ করুন, এমনকি এটি একাধিক পদক্ষেপ বা চেষ্টা করলেও
-
ভাগ করা উদ্দেশ্যগুলি সম্পাদন করতে অন্যান্য এজেন্টদের সাথে দলবদ্ধ হন
সংক্ষেপে, এলএলএম এজেন্টরা চিন্তা করতে, পরিকল্পনা করতে, কাজ করতে এবং মানিয়ে নিতে পারে।
আপনার অতি-দক্ষ নতুন সহকারীর মতো একজন এলএলএম এজেন্টের কথা ভাবুন:আপনি এটিকে একটি লক্ষ্য দেন এবং এটি কীভাবে নিজেরাই এটি অর্জন করতে হয় তা নির্ধারণ করে৷
এটা কেন গুরুত্বপূর্ণ?
শুধুমাত্র সক্রিয়ভাবে লক্ষ্য অনুসরণের প্রতি সাড়া দেওয়া থেকে এই পরিবর্তনটি এক টন উত্তেজনাপূর্ণ সম্ভাবনার উন্মোচন করে:
-
বিরক্তিকর IT বা DevOps কাজগুলিকে স্বয়ংক্রিয় করা
-
কাঁচা ডেটা থেকে বিশদ প্রতিবেদন তৈরি করা হচ্ছে
-
মাল্টি-স্টেপ রিসার্চ প্রোজেক্টে আপনাকে সাহায্য করা হচ্ছে
-
আপনার প্রতিদিনের ইমেলগুলি পড়া এবং মূল তথ্য হাইলাইট করা
-
বাস্তব-বিশ্বের পদক্ষেপ নিতে আপনার অভ্যন্তরীণ সরঞ্জামগুলি চালানো হচ্ছে
পুরানো, নিয়ম-ভিত্তিক বটগুলির বিপরীতে, এলএলএম এজেন্টরা তাদের প্রচেষ্টা থেকে যুক্তি দিতে, প্রতিফলিত করতে এবং শিখতে পারে। এটি তাদের বাস্তব-বিশ্বের কাজগুলির জন্য আরও উপযুক্ত করে তোলে যা অগোছালো, নমনীয়তার প্রয়োজন এবং প্রসঙ্গ বোঝার উপর নির্ভর করে।
ওপেন-সোর্স এজেন্ট ফ্রেমওয়ার্কের উত্থান
খুব বেশি দিন আগে নয়, আপনি যদি এমন একটি AI সিস্টেম তৈরি করতে চান যা স্বায়ত্তশাসিতভাবে কাজ করতে পারে, তাহলে এর অর্থ হল এক টন কাস্টম কোড লেখা, মেমরিকে নিরলসভাবে পরিচালনা করা এবং কয়েক ডজন উপাদান একসাথে সেলাই করার চেষ্টা করা। এটি একটি জটিল, সূক্ষ্ম এবং অত্যন্ত বিশেষায়িত কাজ ছিল।
কিন্তু অনুমান কি? সেটা আর হয় না।
2024 সালে, চমৎকার ওপেন-সোর্স ফ্রেমওয়ার্কের একটি তরঙ্গ দৃশ্যে আঘাত করেছে। এই সরঞ্জামগুলি আপনাকে প্রতিবার চাকাটি পুনরায় উদ্ভাবন না করে শক্তিশালী LLM এজেন্ট তৈরি করা নাটকীয়ভাবে সহজ করেছে৷
জনপ্রিয় ওপেন-সোর্স এজেন্ট ফ্রেমওয়ার্ক
ফ্রেমওয়ার্ক বর্ণনা রক্ষণাবেক্ষণকারী৷ এজেন্ট স্টেট এবং মেমরির জন্য ল্যাংগ্রাফ-ভিত্তিক ফ্রেমওয়ার্কLangChainCrewAI"ভুমিকা-ভিত্তিক, মাল্টি-এজেন্ট সহযোগিতা ইঞ্জিন"কমিউনিটি (CrewAI)AutoGenCustomizable মাল্টি-এজেন্ট চ্যাট অর্কেস্ট্রেশনMicrosoftAgentVerseModular ফ্রেমওয়ার্ক এজেন্ট-সিমুলেশন ও টেস্টিং প্রোজেক্টের জন্যএই টুলগুলি কি সক্ষম করে
এই ফ্রেমওয়ার্কগুলি আপনাকে এজেন্ট তৈরির জটিল অংশগুলি পরিচালনা করার জন্য তৈরি বিল্ডিং ব্লক দেয়:
-
পরিকল্পনা - এজেন্টদের তাদের পরবর্তী পদক্ষেপের সিদ্ধান্ত নিতে দেওয়া
-
টুল ব্যবহার - ফাইল সিস্টেম, ওয়েব ব্রাউজার, API, বা ডেটাবেসের মতো জিনিসগুলির সাথে সহজেই এজেন্টদের সংযোগ করা
-
মেমরি - দীর্ঘমেয়াদী প্রসঙ্গের জন্য অতীতের তথ্য বা মধ্যবর্তী ফলাফল সংরক্ষণ এবং পুনরুদ্ধার করা
-
মাল্টি-এজেন্ট সহযোগিতা - ভাগ করা লক্ষ্যে একসাথে কাজ করে এমন এজেন্টদের দল সেট আপ করা
শুরু থেকে বিল্ডিংয়ের পরিবর্তে কেন একটি ফ্রেমওয়ার্ক ব্যবহার করুন?
যখন আপনি পারতে গ্রাউন্ড আপ থেকে একটি কাস্টম এজেন্ট তৈরি করুন, একটি ফ্রেমওয়ার্ক ব্যবহার করে আপনার প্রচুর সময় এবং প্রচেষ্টা বাঁচাবে। ওপেন-সোর্স এজেন্ট লাইব্রেরিগুলি এতে পরিপূর্ণ হয়:
-
অর্কেস্ট্রেটিং এলএলএম
এর জন্য অন্তর্নির্মিত সমর্থন -
টাস্ক প্ল্যানিং, আপনি কোথায় আছেন তার ট্র্যাক রাখা এবং ফিডব্যাক পাওয়ার জন্য প্রমাণিত নিদর্শনগুলি
-
ওপেনএআই-এর মতো জনপ্রিয় মডেল বা এমনকি আপনি স্থানীয়ভাবে চালান এমন মডেলগুলির সাথে সহজ ইন্টিগ্রেশন
-
একক সহায়ক এজেন্ট থেকে এজেন্টদের পুরো দলে পরিণত হওয়ার নমনীয়তা
মূলত, এই ফ্রেমওয়ার্কগুলি আপনাকে আপনার এজেন্টের কী করা উচিত এর উপর ফোকাস করতে দেয় সমস্ত অভ্যন্তরীণ কাজগুলি কীভাবে তৈরি করা যায় তা নিয়ে আবদ্ধ হওয়ার পরিবর্তে। এছাড়াও, ওপেন সোর্স বেছে নেওয়ার অর্থ হল আপনি সম্প্রদায়ের অবদানগুলি থেকে উপকৃত হবেন, তারা কীভাবে কাজ করে তাতে স্বচ্ছতা, এবং একটি একক বিক্রেতার মধ্যে আটকে না গিয়ে সেগুলিকে আপনার সঠিক প্রয়োজনে পরিবর্তন করার স্বাধীনতা৷
এজেন্ট ডিজাইনের পিছনে মূল ধারণা
এলএলএম এজেন্টরা কীভাবে কাজ করে তা সত্যিই বোঝার জন্য, এটি তাদের লক্ষ্য-চালিত সিস্টেম হিসাবে ভাবতে সাহায্য করে যা ক্রমাগত পর্যবেক্ষণ, যুক্তি এবং অভিনয়ের মাধ্যমে চক্রাকারে চলে। এই ক্রমাগত লুপ তাদেরকে সহজ প্রশ্ন ও উত্তরের বাইরে, সত্যিকারের অটোমেশন, টুল ব্যবহার এবং ফ্লাইতে মানিয়ে নেওয়ার কাজগুলি মোকাবেলা করার অনুমতি দেয়।
এজেন্ট লুপ
বেশিরভাগ এলএলএম এজেন্ট এজেন্ট লুপ নামে একটি মানসিক মডেলের উপর ভিত্তি করে কাজ করে একটি ধাপে ধাপে চক্র যা কাজ শেষ না হওয়া পর্যন্ত পুনরাবৃত্তি করে। এটি সাধারণত কীভাবে কাজ করে তা এখানে রয়েছে:
-
অনুভূতি: এজেন্ট তার পরিবেশে কিছু লক্ষ্য করে বা নতুন তথ্য গ্রহণ করে শুরু করে। এটি আপনার প্রম্পট, ডেটার একটি অংশ বা একটি সিস্টেমের বর্তমান অবস্থা হতে পারে।
-
পরিকল্পনা: এটি যা উপলব্ধি করে এবং এর সামগ্রিক লক্ষ্যের উপর ভিত্তি করে, এজেন্ট পরবর্তী কী করতে হবে তা সিদ্ধান্ত নেয়। এটি কাজটিকে ছোট উপ-লক্ষ্যে বিভক্ত করতে পারে বা কাজের জন্য সেরা টুলটি বের করতে পারে।
-
অভিনয়: এজেন্ট তখন কাজ করে। এর অর্থ হতে পারে একটি ফাংশন চালানো, একটি API কল করা, ওয়েব অনুসন্ধান করা, একটি ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করা, এমনকি সাহায্যের জন্য অন্য এজেন্টকে জিজ্ঞাসা করা।
-
প্রতিফলিত করুন: অভিনয়ের পরে, এজেন্ট ফলাফলের দিকে তাকায়:এটি কি কাজ করেছে? ফলাফল দরকারী ছিল? এটি একটি ভিন্ন পদ্ধতির চেষ্টা করা উচিত? এর উপর ভিত্তি করে, এটি তার প্ল্যান আপডেট করে এবং কাজটি সম্পূর্ণ না হওয়া পর্যন্ত চলতে থাকে।
এই লুপ কি এজেন্ট তাই গতিশীল করে তোলে. এটি তাদের সর্বদা পরিবর্তনশীল কাজগুলি পরিচালনা করতে, আংশিক ফলাফল থেকে শিখতে এবং তাদের কোর্সের গুণাবলী সংশোধন করতে দেয় যা সত্যিকারের দরকারী AI সহকারী তৈরির জন্য অত্যাবশ্যক৷
এজেন্টের মূল উপাদান
তাদের কাজটি কার্যকরভাবে করার জন্য, এজেন্টদের বেশ কয়েকটি গুরুত্বপূর্ণ অংশকে ঘিরে তৈরি করা হয়:
-
সরঞ্জাম কিভাবে একজন এজেন্ট বাস্তব (বা ডিজিটাল) বিশ্বের সাথে যোগাযোগ করে। এগুলি সার্চ ইঞ্জিন, কোড এক্সিকিউশন এনভায়রনমেন্ট, ফাইল রিডার বা API ক্লায়েন্ট থেকে শুরু করে সাধারণ ক্যালকুলেটর বা কমান্ড-লাইন স্ক্রিপ্ট পর্যন্ত যেকোনো কিছু হতে পারে।
-
মেমরি এজেন্টদের মনে রাখতে দেয় যে তারা বিভিন্ন ধাপে কী করেছে বা দেখেছে। এর মধ্যে আপনার বলা আগের জিনিস, সাময়িক ফলাফল বা মূল সিদ্ধান্ত অন্তর্ভুক্ত থাকতে পারে। কিছু ফ্রেমওয়ার্ক স্বল্প-মেয়াদী মেমরি অফার করে (শুধুমাত্র একটি সেশনের জন্য), অন্যরা দীর্ঘমেয়াদী মেমরি সমর্থন করে যা একাধিক সেশন বা লক্ষ্য স্প্যান করতে পারে।
-
পরিবেশ বাহ্যিক ডেটা বা সিস্টেম প্রসঙ্গে বোঝায় যে এজেন্ট থিঙ্ক API, নথি, ডেটাবেস, ফাইল বা সেন্সর ইনপুটগুলির মধ্যে কাজ করে। একজন এজেন্টের পরিবেশে যত বেশি তথ্য এবং অ্যাক্সেস থাকবে, তত বেশি অর্থপূর্ণ পদক্ষেপ নিতে পারে।
-
লক্ষ্য এজেন্টের চূড়ান্ত উদ্দেশ্য:এটি কী অর্জন করার চেষ্টা করছে। লক্ষ্যগুলি সুনির্দিষ্ট এবং স্পষ্ট হওয়া উচিত উদাহরণস্বরূপ, "একটি দৈনিক সময়সূচী তৈরি করুন", "এই নথির সংক্ষিপ্তসার করুন" বা "ইমেল থেকে কাজগুলি বের করুন।"
মাল্টি-এজেন্ট সহযোগিতা
আরও উন্নত সিস্টেমের জন্য, আপনি এমনকি একাধিক এজেন্ট একসাথে কাজ করতে পারেন একটি ভাগ করা লক্ষ্যে আঘাত করতে। প্রতিটি এজেন্টকে একটি নির্দিষ্ট ভূমিকা দেওয়া যেতে পারে এটি একটি দলে কাজ করা লোকদের মতোই এর বিশেষত্বকে হাইলাইট করে।
যেমন:
-
একজন গবেষক এজেন্ট তথ্য সংগ্রহের দায়িত্ব দেওয়া হতে পারে৷
-
একজন কোডার এজেন্ট পাইথন স্ক্রিপ্ট বা অটোমেশন রুটিন লিখতে পারে।
-
একজন পর্যালোচক এজেন্ট ফলাফল চেক করতে পারে এবং নিশ্চিত করতে পারে যে সবকিছু স্নাফ পর্যন্ত আছে।
এই এজেন্টরা একে অপরের সাথে চ্যাট করতে পারে, তথ্য ভাগ করে নিতে পারে, এমনকি বিতর্ক করতে পারে বা সিদ্ধান্তে ভোট দিতে পারে। এই ধরনের টিমওয়ার্ক AI সিস্টেমগুলিকে জিনিসগুলিকে সংগঠিত এবং মডুলার রাখার সাথে সাথে আরও বড়, আরও জটিল কাজগুলি মোকাবেলা করার অনুমতি দেয়৷
প্রকল্প:ইমেল থেকে আপনার দৈনিক সময়সূচী স্বয়ংক্রিয় করুন
আমরা যা স্বয়ংক্রিয় করছি
আপনার সাধারণ সকালের রুটিন সম্পর্কে চিন্তা করুন:
-
আপনি আপনার ইনবক্স খুলুন।
-
আপনি দ্রুত একগুচ্ছ ইমেলের মাধ্যমে স্ক্যান করেন।
-
আপনি মিটিং, কাজ এবং গুরুত্বপূর্ণ অনুস্মারকগুলি চিহ্নিত করার চেষ্টা করুন৷
-
তারপর, আপনি ম্যানুয়ালি একটি করণীয় তালিকা লিখুন বা আপনার ক্যালেন্ডারে জিনিস যোগ করুন৷
সেই প্রক্রিয়াটিকে অনায়াস করতে একটি এলএলএম এজেন্ট ব্যবহার করা যাক। আমাদের এজেন্ট করবে:
-
আপনার ইমেল বার্তাগুলির একটি তালিকা পড়ুন
-
মিটিং বা সময়সীমার মতো সময়-সংবেদনশীল আইটেমগুলি বের করুন
-
একটি সুন্দর, পরিষ্কার দৈনিক সময়সূচীতে সবকিছু সংক্ষিপ্ত করুন
ধাপ 1:প্রয়োজনীয় টুল ইনস্টল করুন
শুরু করার জন্য, আপনার তিনটি প্রধান টুলের প্রয়োজন হবে:পাইথন, VSCode এবং একটি OpenAI API কী।
1. পাইথন 3.9 বা উচ্চতর
ইনস্টল করুনঅফিসিয়াল ওয়েবসাইট থেকে পাইথন 3.9+ এর সর্বশেষ সংস্করণটি নিন:https://www.python.org/downloads/
এটি ইনস্টল হয়ে গেলে, python --version চালিয়ে এটিকে দুবার চেক করুন আপনার টার্মিনালে।
এই কমান্ডটি কেবলমাত্র আপনার সিস্টেমকে বর্তমানে ইনস্টল করা পাইথন সংস্করণের প্রতিবেদন করতে বলে। আমাদের প্রজেক্টের সাথে সামঞ্জস্যতা নিশ্চিত করতে আপনি Python 3.9.x বা উচ্চতর কিছু দেখতে চাইবেন।
2. VSCode ইনস্টল করুন (ঐচ্ছিক কিন্তু প্রস্তাবিত)
VSCode একটি চমত্কার, ব্যবহারকারী-বান্ধব কোড সম্পাদক যা পাইথনের সাথে পুরোপুরি কাজ করে। আপনি এটি এখানে ডাউনলোড করতে পারেন:https://code.visualstudio.com/.
3. আপনার OpenAI API কী পান
এখানে যান:https://platform.openai.com
সাইন ইন করুন বা একটি নতুন অ্যাকাউন্ট তৈরি করুন৷ আপনার API কী পৃষ্ঠাতে নেভিগেট করুন। "নতুন গোপন কী তৈরি করুন" এ ক্লিক করুন এবং সেই কীটি পরবর্তীতে নিরাপদ কোথাও অনুলিপি করা নিশ্চিত করুন৷
৷4. পাইথন লাইব্রেরি ইনস্টল করুন
আপনার টার্মিনাল বা কমান্ড প্রম্পট খুলুন এবং এই প্রয়োজনীয় প্যাকেজগুলি ইনস্টল করুন:
pip install langgraph langchain openai
আমাদের এজেন্টের জন্য তিনটি গুরুত্বপূর্ণ লাইব্রেরি ডাউনলোড এবং ইনস্টল করতে এই কমান্ডটি পাইপ, পাইথনের প্যাকেজ ম্যানেজার ব্যবহার করে:
-
langgraph:মূল কাঠামো যা আমরা আমাদের এজেন্টের কর্মপ্রবাহ তৈরি করতে ব্যবহার করব।
-
ল্যাংচেইন:বৃহৎ ভাষার মডেলগুলির সাথে কাজ করার জন্য একটি মৌলিক গ্রন্থাগার, যার উপর ল্যাংগ্রাফ তৈরি করা হয়েছে৷
-
openai:OpenAI এর শক্তিশালী AI মডেলগুলির সাথে সংযোগ করার জন্য অফিসিয়াল পাইথন লাইব্রেরি৷
আপনি যদি মাল্টি-এজেন্ট সেটআপগুলি ব্যবহার করে দেখতে আগ্রহী হন (যা আমরা ধাপ 5 এ কভার করব), এছাড়াও CrewAI ইনস্টল করুন:
pip install crewai
এই কমান্ডটি CrewAI ইনস্টল করে, একটি বিশেষ ফ্রেমওয়ার্ক যা একাধিক AI এজেন্টকে দল হিসেবে একসাথে কাজ করা সহজ করে তোলে।
5. আপনার OpenAI API কী সেট করুন
আপনাকে নিশ্চিত করতে হবে যে আপনার পাইথন কোড আপনার OpenAI API কী খুঁজে পেতে এবং ব্যবহার করতে পারে। এটি সাধারণত একটি পরিবেশ পরিবর্তনশীল হিসাবে সেট করে করা হয়৷
macOS/Linux-এ, এটিকে আপনার টার্মিনালে চালান (আপনার আসল কী দিয়ে "your-api-key" প্রতিস্থাপন করুন):
export OPENAI_API_KEY="your-api-key"
এই কমান্ডটি OPENAI_API_KEY নামে একটি পরিবেশ পরিবর্তনশীল সেট করে। এনভায়রনমেন্ট ভেরিয়েবল হল অ্যাপ্লিকেশানগুলির জন্য একটি নিরাপদ উপায় (যেমন আপনার পাইথন স্ক্রিপ্ট) কোডে সরাসরি হার্ডকোডিং না করে সংবেদনশীল তথ্য অ্যাক্সেস করার জন্য৷
উইন্ডোজে (কমান্ড প্রম্পট ব্যবহার করে), এটি করুন:
set OPENAI_API_KEY="your-api-key"
এটি OPENAI_API_KEY সেট করার জন্য Windows সমতুল্য কমান্ড পরিবেশ পরিবর্তনশীল।
এখন, আপনার পাইথন কোডটি ওপেনএআই মডেলের সাথে কথা বলার জন্য প্রস্তুত হয়ে যাবে!
ধাপ 2:টাস্ক সংজ্ঞায়িত করুন
আমরা এই অংশের শুরুতে এটি সংক্ষিপ্তভাবে আলোচনা করেছি। কিন্তু আবার বলতে চাই, আমরা আমাদের এজেন্টকে এটি করতে চাই:
-
মিটিং, ইভেন্ট এবং গুরুত্বপূর্ণ কাজের জন্য স্ক্যান করুন।
-
একটি নোটবুক বা একটি অ্যাপে দ্রুত সেগুলো লিখে রাখুন।
-
আপনার দিনের জন্য একটি মোটামুটি মানসিক পরিকল্পনা তৈরি করুন।
এই রুটিনে সময় এবং মানসিক শক্তি লাগে। তাই একজন এজেন্ট আমাদের জন্য এটি করা খুবই সহায়ক হবে।
ধাপ 3:LangGraph দিয়ে ওয়ার্কফ্লো তৈরি করুন
ল্যাংগ্রাফ কি?
ল্যাংগ্রাফ হল একটি দুর্দান্ত ফ্রেমওয়ার্ক যা আপনাকে "গ্রাফ-ভিত্তিক" ওয়ার্কফ্লো ব্যবহার করে এজেন্ট তৈরি করতে সাহায্য করে, যেমন একটি ফ্লোচার্ট আঁকা। এটি LangChain দ্বারা চালিত এবং আপনার এজেন্টের প্রক্রিয়ার প্রতিটি ধাপ কীভাবে উন্মোচিত হয় তার উপর আপনাকে অনেক বেশি নিয়ন্ত্রণ দেয়৷
এই গ্রাফের প্রতিটি "নোড" একটি সিদ্ধান্ত বিন্দু বা একটি ফাংশন প্রতিনিধিত্ব করে যা:
-
কিছু ইনপুট নেয় (এর বর্তমান "স্টেট")।
-
কিছু যুক্তি দেয় বা একটি পদক্ষেপ নেয় (প্রায়শই এলএলএম এবং এর সরঞ্জামগুলি জড়িত)।
-
একটি আপডেট আউটপুট প্রদান করে (একটি নতুন "রাষ্ট্র")।
আপনি এই নোডগুলির মধ্যে সংযোগগুলি আঁকেন, এবং ল্যাংগ্রাফ তারপর এটিকে একটি স্মার্ট, স্বয়ংক্রিয় স্টেট মেশিনের মতো চালায়৷
কেন ল্যাংগ্রাফ ব্যবহার করবেন?
-
আপনি কার্যকর করার সুনির্দিষ্ট ক্রম নিয়ন্ত্রণ করতে পারেন।
-
এটি এমন কর্মপ্রবাহ তৈরির জন্য দুর্দান্ত যেগুলির একাধিক ধাপ রয়েছে বা এমনকি বিভিন্ন পথে শাখা রয়েছে৷
-
এটি ক্লাউড-ভিত্তিক মডেল (যেমন ওপেনএআই) এবং আপনি স্থানীয়ভাবে চালান এমন মডেল উভয়ের সাথেই সুন্দরভাবে কাজ করে।
ঠিক আছে - এখন কোড লিখি।
1. ইমেল ইনপুট অনুকরণ করুন
একটি বাস্তব অ্যাপ্লিকেশনে, আপনার এজেন্ট সম্ভবত আপনার প্রকৃত ইমেলগুলি আনার জন্য Gmail বা Outlook এর সাথে সংযুক্ত হবে। এই উদাহরণের জন্য, যদিও, জিনিসগুলি সহজ রাখতে আমরা কিছু নমুনা বার্তা হার্ডকোড করব:
Python
emails = """
1. Subject: Standup Call at 10 AM
2. Subject: Client Review due by 5 PM
3. Subject: Lunch with Sarah at noon
4. Subject: AWS Budget Warning – 80% usage
5. Subject: Dentist Appointment - 4 PM
"""
এই মাল্টিলাইন পাইথন স্ট্রিং, emails , বাস্তব ইমেল সামগ্রীর জন্য আমাদের স্ট্যান্ড-ইন হিসাবে কাজ করে। এজেন্ট কীভাবে পাঠ্য প্রক্রিয়া করবে তা প্রদর্শন করতে আমরা ইমেল বিষয়গুলির একটি সহজ, কাঠামোগত তালিকা প্রদান করছি।
2. এজেন্ট লজিককে সংজ্ঞায়িত করুন
এখন, আমরা OpenAI এর GPT মডেলকে বলব কিভাবে এই ইমেল টেক্সটটি প্রসেস করা যায় এবং এটিকে একটি সারাংশে পরিণত করা যায়।
from langchain_openai import ChatOpenAI
from langgraph.graph import StateGraph, END
from typing import TypedDict, Annotated, List
import operator
# Define the state for our graph
class AgentState(TypedDict):
emails: str
result: str
llm = ChatOpenAI(temperature=0, model="gpt-4o") # Using gpt-4o for better performance
def calendar_summary_agent(state: AgentState) -> AgentState:
emails = state["emails"]
prompt = f"Summarize today's schedule based on these emails, listing time-sensitive items first and then other important notes. Be concise and use bullet points:\n{emails}"
summary = llm.invoke(prompt).content
return {"result": summary, "emails": emails} # Ensure emails is also returned
এখানে কি হচ্ছে:
-
আমদানি :আমরা প্রয়োজনীয় উপাদান নিয়ে আসি:
-
ChatOpenAIএলএলএম-এর সাথে সংযোগ করতে, -
StateGraphএবংENDlanggraph.graphথেকে আমাদের এজেন্ট ওয়ার্কফ্লো তৈরি করতে, -
TypedDict,Annotated, এবংListtypingথেকে টাইপ চেকিং এবং স্ট্রাকচারের জন্য, -
operator(যদিও এই স্নিপেটে ব্যবহার করা হয়নি, এটি তুলনা বা যুক্তিতে সাহায্য করতে পারে)।
-
-
এজেন্ট স্টেট :এই
TypedDictআমাদের এজেন্ট যে ডেটার সাথে কাজ করবে তার আকার নির্ধারণ করে। এতে রয়েছে:-
emails:কাঁচা ইনপুট বার্তা। -
result:চূড়ান্ত আউটপুট (দৈনিক সারাংশ)।
-
-
llm =ChatOpenAI(...) :ভাষা মডেল শুরু করে। আমরা
temperature=0এর সাথে GPT-4o ব্যবহার করছি সুসংগত, অনুমানযোগ্য আউটপুট কাঠামোগত সংক্ষিপ্তকরণ কাজের জন্য নিখুঁত নিশ্চিত করতে। -
calendar_summary_agent(state:AgentState) :এই ফাংশনটি আমাদের এজেন্টের "মস্তিষ্ক"। এটা:
-
বর্তমান অবস্থায় নেয়, যার মধ্যে ইমেলের একটি তালিকা রয়েছে।
-
সেই অবস্থা থেকে ইমেলগুলি বের করে।
-
একটি প্রম্পট তৈরি করে যা মডেলকে সময়-সংবেদনশীল আইটেমগুলিকে অগ্রাধিকার দিয়ে বুলেট পয়েন্ট ব্যবহার করে একটি সংক্ষিপ্ত দৈনিক সময়সূচীর সারাংশ তৈরি করতে বলে৷
-
এই প্রম্পটটি
llm.invoke(prompt).contentদিয়ে মডেলে পাঠায় , যা প্লেইন টেক্সট হিসাবে LLM এর প্রতিক্রিয়া প্রদান করে। -
একটি নতুন
AgentStateপ্রদান করে অভিধান ধারণকারী:-
result:উৎপন্ন সারাংশ, -
emails:যদি আমাদের এটির প্রয়োজন হয় তাহলে সংরক্ষিত।
-
-
3. গ্রাফ তৈরি করুন এবং চালান
এখন, আমাদের একক-এজেন্ট টাস্কের প্রবাহকে ম্যাপ করার জন্য ল্যাংগ্রাফ ব্যবহার করা যাক এবং তারপরে এটি চালান৷
builder = StateGraph(AgentState)
builder.add_node("calendar", calendar_summary_agent)
builder.set_entry_point("calendar")
builder.set_finish_point("calendar") # END is implicit if not set explicitly
graph = builder.compile()
# Run the graph using your simulated email data
result = graph.invoke({"emails": emails})
print(result["result"])
এখানে কি হচ্ছে:
-
নির্মাতা =StateGraph(AgentState): আমরা একটি StateGraph অবজেক্ট শুরু করছি। AgentState পেরিয়ে, আমরা ল্যাংগ্রাফকে এর অভ্যন্তরীণ অবস্থার জন্য প্রত্যাশিত ডেটা স্ট্রাকচার বলছি৷
-
builder.add_node("ক্যালেন্ডার", calendar_summary_agent): এই লাইনটি আমাদের গ্রাফে একটি নামযুক্ত "নোড" যোগ করে। আমরা এটিকে "ক্যালেন্ডার" বলছি, এবং আমরা এটিকে আমাদের
calendar_summary_agentএর সাথে লিঙ্ক করছি ফাংশন, যার অর্থ এই নোড সক্রিয় থাকাকালীন ফাংশনটি কার্যকর করা হবে। -
builder.set_entry_point("ক্যালেন্ডার"): এটি আমাদের কর্মপ্রবাহের প্রথম ধাপ হিসেবে "ক্যালেন্ডার" সেট করে। যখন আমরা গ্রাফ শুরু করি, তখন এখানে এক্সিকিউশন শুরু হবে।
-
builder.set_finish_point("ক্যালেন্ডার"): এটি ল্যাংগ্রাফকে বলে যে একবার "ক্যালেন্ডার" নোডটি তার কাজ শেষ করে, পুরো গ্রাফ প্রক্রিয়াটি সম্পূর্ণ হয়৷
-
গ্রাফ =builder.compile(): এই কমান্ডটি আমাদের সংজ্ঞায়িত গ্রাফ ব্লুপ্রিন্ট নেয় এবং এটিকে একটি এক্সিকিউটেবল ওয়ার্কফ্লোতে "কম্পাইল" করে।
-
ফলাফল =graph.invoke({"emails":emails}): এই যেখানে যাদু ঘটে! আমরা আমাদের গ্রাফকে দৌড় শুরু করতে বলছি। আমরা এটিকে একটি প্রাথমিক অবস্থায় পাস করি যা আমাদের ইমেল ডেটা ধারণ করে। গ্রাফটি তারপরে এই ডেটাটিকে তার নোডগুলির মাধ্যমে প্রক্রিয়া করবে যতক্ষণ না এটি একটি শেষ বিন্দুতে পৌঁছায়, চূড়ান্ত অবস্থায় ফিরে আসে৷
-
প্রিন্ট(ফলাফল["ফলাফল"]): অবশেষে, আমরা ফলাফল (আমাদের গ্রাফের চূড়ান্ত অবস্থা) থেকে সংক্ষিপ্ত সময়সূচীটি ধরি এবং এটি কনসোলে প্রিন্ট করি।
উদাহরণ আউটপুট
Your Schedule:
- 10:00 AM – Standup Call
- 12:00 PM – Lunch with Sarah
- 4:00 PM – Dentist Appointment
- Submit client report by 5:00 PM
- AWS Budget Warning – check usage
বুম! আপনি সবেমাত্র একটি AI এজেন্ট তৈরি করেছেন যেটি আপনার ইমেলগুলি পড়তে পারে এবং আপনার দৈনিক সময়সূচীকে চাবুক করতে পারে৷ বেশ শান্ত, তাই না? এটি একটি সহজ কিন্তু শক্তিশালী উঁকিঝুঁকি যা এলএলএম এজেন্টরা কোডের কয়েকটি লাইন দিয়ে করতে পারে।
CrewAI এর সাথে মাল্টি-এজেন্ট সহযোগিতা
CrewAI কি?
CrewAI হল একটি উত্তেজনাপূর্ণ ওপেন সোর্স ফ্রেমওয়ার্ক যা আপনাকে টিম তৈরি করতে দেয় একটি বাস্তব-বিশ্ব প্রকল্প দলের মত নির্বিঘ্নে একসাথে কাজ করে এমন এজেন্টদের! একটি CrewAI সেটআপে প্রতিটি এজেন্ট:
-
একটি নির্দিষ্ট, বিশেষ ভূমিকা আছে৷
-
এর সতীর্থদের সাথে যোগাযোগ এবং তথ্য শেয়ার করতে পারে।
-
একটি ভাগ করা লক্ষ্য অর্জনে সহযোগিতা করে৷
এই মাল্টি-এজেন্ট পদ্ধতিটি অত্যন্ত কার্যকর যখন আপনার কাজটি শুধুমাত্র একটি এজেন্টের জন্য খুব বড় বা খুব জটিল হয়, অথবা যখন এটিকে বিশেষ অংশে বিভক্ত করা হয় তখন এটিকে আরও পরিষ্কার এবং আরও দক্ষ করে তোলে।
ইমেল সারাংশ টাস্কের জন্য নমুনা ভূমিকা
আসুন কল্পনা করি আমাদের ইমেল সারাংশের কাজটি এজেন্টদের একটি ছোট দল দ্বারা পরিচালিত হচ্ছে:
এজেন্টের নাম ভূমিকা দায়িত্ব এক্সট্র্যাক্টর ইমেল স্ক্যানার"ইমেলগুলি থেকে মিটিং, অনুস্মারক এবং কাজগুলি খুঁজুন"জরুরিতা এবং সময় অনুসারে অপ্টিমাইজার সাজান আইটেমগুলিকে প্রাধান্য দেয় ফর্ম্যাটারআউটপুট জেনারেটর"একটি পরিষ্কার, পালিশ করা দৈনিক এজেন্ডা লিখুন"নমুনা ক্রুএআই কোড
from crewai import Agent, Crew, Task, Process
from langchain_openai import ChatOpenAI
import os
# Set your OpenAI API key from environment variables
# os.environ["OPENAI_API_KEY"] = "YOUR_API_KEY" # Make sure this is set, or defined directly
# Initialize the LLM (using gpt-4o for better performance)
llm = ChatOpenAI(temperature=0, model="gpt-4o")
# Define the agents with specific roles and goals
extractor = Agent(
role="Email Scanner",
goal="Find all meetings, reminders, and tasks from the given emails, accurately extracting details like time, date, and subject.",
backstory="You are an expert at scanning emails for key information. You meticulously extract every relevant detail.",
verbose=True,
allow_delegation=False,
llm=llm
)
prioritizer = Agent(
role="Schedule Optimizer",
goal="Sort extracted items by urgency and time, preparing them for a daily agenda.",
backstory="You are a master of time management, always knowing what needs to be done first. You organize tasks logically.",
verbose=True,
allow_delegation=False,
llm=llm
)
formatter = Agent(
role="Output Generator",
goal="Generate a clean, polished, and concise daily agenda in bullet-point format, clearly listing all schedule items.",
backstory="You are a professional secretary, ensuring all outputs are perfectly formatted and easy to read. You prioritize clarity.",
verbose=True,
allow_delegation=False,
llm=llm
)
# Simulate email input
emails = """
1. Subject: Standup Call at 10 AM
2. Subject: Client Review due by 5 PM
3. Subject: Lunch with Sarah at noon
4. Subject: AWS Budget Warning – 80% usage
5. Subject: Dentist Appointment - 4 PM
"""
# Define the tasks for each agent
extract_task = Task(
description=f"Extract all relevant events, meetings, and tasks from these emails: {emails}. Focus on precise details.",
agent=extractor,
expected_output="A list of extracted items with their details (e.g., '- Standup Call at 10 AM', '- Client Review due by 5 PM')."
)
prioritize_task = Task(
description="Prioritize the extracted items by time and urgency. Meetings first, then deadlines, then other notes.",
agent=prioritizer,
context=[extract_task], # The output of extract_task is the input here
expected_output="A prioritized list of schedule items."
)
format_task = Task(
description="Format the prioritized schedule into a clean, easy-to-read daily agenda using bullet points. Ensure concise language.",
agent=formatter,
context=[prioritize_task], # The output of prioritize_task is the input here
expected_output="A well-formatted daily agenda with bullet points."
)
# Instantiate the crew
crew = Crew(
agents=[extractor, prioritizer, formatter],
tasks=[extract_task, prioritize_task, format_task],
process=Process.sequential, # Tasks are executed sequentially
verbose=2 # Outputs more details during execution
)
# Run the crew
result = crew.kickoff()
print("\n########################")
print("## Final Daily Agenda ##")
print("########################\n")
print(result)
এখানে কি হচ্ছে:
-
আমদানি: আমরা CrewAI থেকে মূল ক্লাস নিয়ে এসেছি:এজেন্ট, ক্রু, টাস্ক এবং প্রক্রিয়া। আমরা
ChatOpenAIও আমদানি করি পরিবেশের ভেরিয়েবলগুলি পরিচালনা করার জন্য আমাদের ভাষা মডেল এবং ওএসের জন্য। -
llm =ChatOpenAI(...): ল্যাংগ্রাফ উদাহরণের মতো, এটি আমাদের OpenAI ভাষার মডেল সেট আপ করে, নিশ্চিত করে যে এর প্রতিক্রিয়াগুলি সরাসরি (তাপমাত্রা=0) এবং gpt-4o মডেল ব্যবহার করে।
-
এজেন্ট সংজ্ঞা (এক্সট্রাক্টর, অগ্রাধিকারকারী, ফর্ম্যাটার):
-
এই ভেরিয়েবলগুলির প্রতিটি একটি এজেন্ট উদাহরণ তৈরি করে। একটি এজেন্টকে তার ভূমিকা (এটি কী করে), একটি নির্দিষ্ট লক্ষ্য যা সে অর্জন করার চেষ্টা করছে এবং একটি ব্যাকস্টোরি (এক ধরণের ব্যক্তিত্ব বা দক্ষতা যা এলএলএমকে তার উদ্দেশ্য আরও ভালভাবে বুঝতে সাহায্য করে) দ্বারা সংজ্ঞায়িত করা হয়।
-
verbose=True ডিবাগিংয়ের জন্য অত্যন্ত সহায়ক, কারণ এটি এজেন্টদের তাদের "চিন্তা" প্রিন্ট আউট করে যখন তারা কাজ করে।
-
allow_delegation=False মানে এই এজেন্টরা তাদের নির্ধারিত কাজগুলি অন্য এজেন্টদের কাছে পাঠাবে না (যদিও আরও জটিল প্রতিনিধিত্বের পরিস্থিতির জন্য এটি সত্যে সেট করা যেতে পারে)।
-
llm=llm প্রতিটি এজেন্টকে আমাদের OpenAI ভাষার মডেলের সাথে সংযুক্ত করে।
-
-
সিমুলেটেড ইমেল: আমরা এই উদাহরণের জন্য একই নমুনা ইমেল ডেটা পুনরায় ব্যবহার করি৷
-
টাস্কের সংজ্ঞা (extract_task, prioritize_task, format_task):
-
প্রতিটি টাস্ক একটি নির্দিষ্ট কাজের অংশকে সংজ্ঞায়িত করে যা একজন এজেন্টকে সম্পাদন করতে হবে।
-
বর্ণনা স্পষ্টভাবে এজেন্টকে বলে যে টাস্কটি কী জড়িত৷
-
এজেন্ট আমাদের সংজ্ঞায়িত এজেন্টদের একজনকে এই কাজটি অর্পণ করে (যেমন, extract_task-এর জন্য এক্সট্র্যাক্টর)।
-
প্রসঙ্গ=[...] CrewAI এর সহযোগিতার একটি গুরুত্বপূর্ণ অংশ। এটি একটি কাজকে আউটপুট ব্যবহার করতে বলে একটি পূর্ববর্তী কাজের ইনপুট হিসাবে . উদাহরণস্বরূপ, prioritize_task তার প্রসঙ্গ হিসাবে extract_task এর আউটপুট নেয়।
-
আশা করা_আউটপুট এজেন্টকে তার ফলাফল কেমন হওয়া উচিত তার একটি ধারণা দেয়, যা এলএলএমকে গাইড করতে সাহায্য করে।
-
-
ক্রু =ক্রু(...):
-
এই যেখানে আমরা আমাদের দল একত্রিত! আমরা একটি ক্রু দৃষ্টান্ত তৈরি করি, এটিকে আমাদের এজেন্ট এবং কাজের তালিকা দিয়ে থাকি।
-
process=Process.sequential ক্রুকে একের পর এক কাজ সম্পাদন করতে বলে যেভাবে তারা কার্য তালিকায় সংজ্ঞায়িত করা হয়েছে। ক্রুএআই আরও উন্নত প্রক্রিয়াগুলিকে সমর্থন করে যেমন ক্রমানুসারী প্রক্রিয়াগুলি৷
-
verbose=2 আপনাকে ক্রুদের অভ্যন্তরীণ কাজ এবং যোগাযোগের একটি খুব বিশদ লগ দেখাবে৷
-
-
ফলাফল =crew.kickoff(): এই কমান্ডটি আনুষ্ঠানিকভাবে সমগ্র মাল্টি-এজেন্ট ওয়ার্কফ্লো শুরু করে। এজেন্টরা ক্রমানুসারে তাদের অর্পিত কাজগুলির মাধ্যমে সহযোগিতা করা, তথ্য পাস করা এবং কাজ করা শুরু করবে৷
-
fprint(ফলাফল): অবশেষে, সমগ্র ক্রুর সহযোগিতামূলক প্রচেষ্টা থেকে একত্রিত আউটপুট আপনার কনসোলে প্রিন্ট করা হয়৷
CrewAI চতুরতার সাথে এজেন্টদের মধ্যে সমস্ত যোগাযোগ পরিচালনা করে, কার কী এবং কখন কাজ করতে হবে তা নির্ধারণ করে এবং এক এজেন্ট থেকে পরবর্তীতে সহজেই আউটপুট পাস করে এটি একটি মিনি AI সমাবেশ লাইনের মতো!
সঞ্চালনের সময় আসলে কী ঘটে?
সুতরাং, আপনি ল্যাংগ্রাফ বা ক্রুএআই ব্যবহার করছেন না কেন, যখন একজন এজেন্ট দৌড়ায় তখন পর্দার আড়ালে আসলে কী হয়? আসুন মৃত্যুদন্ড প্রক্রিয়াটি ভেঙে দেওয়া যাক:
-
সিস্টেমটি একটি ইনপুট অবস্থা পায়৷ (উদাহরণস্বরূপ, আপনার ইমেল)।
-
প্রথম এজেন্ট বা গ্রাফ নোড এই ইনপুটটি পড়ে এবং একটি লার্জ ল্যাঙ্গুয়েজ মডেল (LLM) ব্যবহার করে এটা বোঝার জন্য।
-
এর বোঝার উপর ভিত্তি করে, এজেন্ট একটি ক্রিয়া সিদ্ধান্ত নেয় যেমন মূল ইভেন্টগুলি বের করা বা একটি নির্দিষ্ট টুল কল করা।
-
প্রয়োজনে, এজেন্ট সরঞ্জাম আনতে পারে (যেমন একটি ওয়েব অনুসন্ধান বা একটি ফাইল রিডার) আরও প্রসঙ্গ পেতে বা বাহ্যিক ক্রিয়াকলাপগুলি সম্পাদন করতে৷
-
সেই কর্মের ফলাফল তারপর পরবর্তী এজেন্টের কাছে পাঠানো হয় দলে (যদি এটি একটি মাল্টি-এজেন্ট সেটআপ হয়) অথবা সরাসরি আপনার কাছে ফিরে এসেছে।
এই পর্যন্ত মৃত্যুদন্ড চলতে থাকে:
-
কাজটি সম্পূর্ণরূপে সম্পন্ন হয়েছে৷
৷ -
সমস্ত এজেন্ট তাদের অর্পিত ভূমিকা শেষ করেছে৷
৷ -
কর্মপ্রবাহের একটি স্টপিং শর্ত বা একটি মনোনীত "END" পয়েন্টে পৌঁছে গেছে৷
এটিকে একটি সুপার-স্মার্ট ওয়ার্কফ্লো ইঞ্জিন হিসাবে ভাবুন যেখানে প্রতিটি একক পদক্ষেপে যুক্তি, সিদ্ধান্ত নেওয়া এবং পূর্ববর্তী মিথস্ক্রিয়া মনে রাখা জড়িত৷
LLM এজেন্টরা কি নিরাপদ? নিরাপত্তা এবং গোপনীয়তা সম্পর্কে কি জানতে হবে
এলএলএম এজেন্টরা যতটা দুর্দান্ত, তারা একটি গুরুত্বপূর্ণ প্রশ্ন উত্থাপন করে:আপনি কি সত্যিই আপনার কর্মপ্রবাহের অংশগুলি চালানোর জন্য বা আপনার ডেটার সাথে ইন্টারঅ্যাক্ট করার জন্য একটি AI কে বিশ্বাস করতে পারেন? এটা নির্ভর করে। আপনি যদি OpenAI বা Anthropic-এর মতো পরিষেবা ব্যবহার করেন, তাহলে আপনার ডেটা ট্রানজিটে এনক্রিপ্ট করা হয় এবং (এখন পর্যন্ত) প্রশিক্ষণের জন্য ব্যবহার করা হয় না।
কিন্তু কিছু ডেটা অপব্যবহার রোধ করতে এখনও অস্থায়ীভাবে লগ ইন করা হতে পারে। এটি সাধারণত পরীক্ষা এবং ব্যক্তিগত প্রকল্পের জন্য ঠিক আছে, কিন্তু আপনি যদি ব্যবসায়িক সংবেদনশীল তথ্য, গ্রাহকের ডেটা বা ব্যক্তিগত কিছু নিয়ে কাজ করেন, তাহলে আপনি সতর্ক থাকতে চাইবেন।
বেনামী ইনপুট ব্যবহার করুন, সম্পূর্ণ ডেটাসেট প্রকাশ করা এড়িয়ে চলুন এবং LLaMA বা Mistral-এর মতো ওপেন-সোর্স মডেল ব্যবহার করে স্থানীয়ভাবে এজেন্ট চালানোর কথা বিবেচনা করুন যদি সম্পূর্ণ নিয়ন্ত্রণ আপনার কাছে গুরুত্বপূর্ণ হয়।
আপনি আপনার এজেন্টদের জন্য স্পষ্ট সীমানাও সেট করতে পারেন যাতে তারা অতিক্রম না করে। এটিকে একজন নতুন ইন্টার্নে ভর্তি করার মতো মনে করুন:আপনি প্রথম দিনে তাদের সবকিছুতে অ্যাক্সেস দেবেন না।
এজেন্টদের শুধুমাত্র তাদের প্রয়োজনীয় টুল এবং ফাইল দিন, তারা যা করেন তার লগ রাখুন এবং তাদের প্রকৃত পরিবর্তন করতে দেওয়ার আগে সবসময় ফলাফল পর্যালোচনা করুন।
এই প্রযুক্তির বৃদ্ধির সাথে সাথে আরও সুরক্ষা বৈশিষ্ট্যগুলি আসছে যেমন ভাল স্যান্ডবক্সিং, মেমরি সীমা এবং ভূমিকা-ভিত্তিক অ্যাক্সেস। কিন্তু আপাতত, আপনার এজেন্টদের শক্তিশালী সাহায্যকারীর মতো আচরণ করা বুদ্ধিমানের কাজ, যাদের এখনও কিছু মানুষের তত্ত্বাবধানের প্রয়োজন।
সমস্যা সমাধান এবং টিপস
কখনও কখনও, এজেন্ট একটু উদ্ভট হতে পারে! এখানে কিছু সাধারণ সমস্যা রয়েছে যা আপনি পেতে পারেন এবং কীভাবে সেগুলি ঠিক করবেন:
ইস্যু প্রস্তাবিত সমাধান এজেন্ট চিরকালের জন্য লুপ করছে বলে মনে হচ্ছে সর্বাধিক সংখ্যক পুনরাবৃত্তি সেট করুন বা একটি পরিষ্কার স্টপিং পয়েন্ট সংজ্ঞায়িত করুন৷ আউটপুট খুব চ্যাট বা ভারবোজ আরও নির্দিষ্ট প্রম্পট ব্যবহার করুন (উদাহরণস্বরূপ, "শুধুমাত্র বুলেট পয়েন্টগুলিতে প্রতিক্রিয়া দিন")। ইনপুটটি খুব দীর্ঘ বা কেটে যায় ছোট অংশে সামগ্রীর বড় অংশগুলিকে ভেঙে ফেলা এবং একটি LLM মডেল ব্যবহার করে খুব দ্রুত গতিতে চালানোর মতো আলাদাভাবে সংক্ষিপ্ত করুন৷ gpt-3.5 বা একটি স্থানীয় মডেল চালানো বিবেচনা করুন।একটি সহজ টিপ:আপনি প্রতিটি পর্যায়ে কী ঘটছে তা দেখতে এবং স্টেট ট্রানজিশন ডিবাগ করতে আপনার এজেন্ট ফাংশনের ভিতরে প্রিন্ট() বিবৃতি বা লগিং বার্তা যোগ করতে পারেন।
আরো দৈনিক অটোমেশন এক্সপ্লোর করুন
একবার আপনি একটি এজেন্ট-ভিত্তিক কাজ তৈরি করলে, আপনি অন্যান্য অটোমেশনের জন্য প্যাটার্নটি মানিয়ে নেওয়া অবিশ্বাস্যভাবে সহজ পাবেন। আপনার সৃজনশীল রস প্রবাহিত করার জন্য এখানে কিছু দুর্দান্ত ধারণা রয়েছে:
টাস্কের ধরন অটোমেশনের উদাহরণ DevOps সহকারী"সিস্টেম লগ পড়ুন, সম্ভাব্য সমস্যা শনাক্ত করুন এবং সমাধানের পরামর্শ দিন।"ফাইনান্স ট্র্যাকার ব্যাঙ্ক স্টেটমেন্ট বা CSV ফাইল পড়ুন এবং আপনার খরচের অভ্যাস/বাজেটের সারসংক্ষেপ করুন। মিটিং অর্গানাইজার একটি মিটিংয়ের পরে, স্বয়ংক্রিয়ভাবে অ্যাকশন আইটেমগুলি বের করুন এবং মালিকদের বরাদ্দ করুন। ইনবক্স ক্লিনার"স্বয়ংক্রিয়ভাবে লেবেল, সংরক্ষণাগার, এবং আপনার ইমেল নন-ডিলিট করে না। একটি সুন্দরভাবে ফরম্যাট করা করণীয় তালিকা বা সারাংশে। নথি থেকে চেকারএক্সট্রাক্ট ইউআরএল লিঙ্ক করুন এবং স্বয়ংক্রিয়ভাবে পরীক্ষা করুন যে তারা এখনও বৈধ কিনা। ফরম্যাটারস্কোর পুনরায় শুরু করুন কাজের বিবরণের বিপরীতে এবং সেগুলি স্বয়ংক্রিয়ভাবে ফর্ম্যাট করুন।এইগুলির প্রত্যেকটি একই নীতি এবং কাঠামো ব্যবহার করে তৈরি করা যেতে পারে যা আমরা আলোচনা করেছি তা ল্যাংগ্রাফ বা ক্রুএআই।
এজেন্ট প্রযুক্তিতে পরবর্তী কী?
এলএলএম এজেন্ট বিদ্যুতের গতিতে বিকশিত হচ্ছে, এবং নতুনত্বের পরবর্তী তরঙ্গ ইতিমধ্যেই এখানে রয়েছে:
-
স্মার্ট মেমরি সিস্টেম :এজেন্টদের দীর্ঘমেয়াদী মেমরি ভালো থাকবে বলে আশা করা যায়, যাতে তারা দীর্ঘ সময় ধরে শিখতে পারে এবং অতীতের কথোপকথন এবং কাজগুলি মনে রাখতে পারে।
-
মাল্টি-মডেল এজেন্ট :এজেন্ট শুধু আর টেক্সট পরিচালনা করবে না! তারা চিত্র, অডিও এবং ভিডিও প্রক্রিয়া করতে এবং বুঝতে সক্ষম হবে, সেগুলিকে আরও বহুমুখী করে তুলবে৷
-
উন্নত পরিকল্পনা কাঠামো :ReAct, Toolformer, এবং AutoGen-এর মতো কৌশলগুলি ক্রমাগত এজেন্টদের যুক্তি, পরিকল্পনা এবং সেইসব বিরক্তিকর "হ্যালুসিনেশন" কমানোর ক্ষমতাকে উন্নত করছে৷
-
এজ স্থাপনা :কল্পনা করুন যে LLaMA 3 বা মিস্ট্রালের মতো হালকা মডেলগুলি ব্যবহার করে আপনার স্থানীয় কম্পিউটার বা ডিভাইসে সম্পূর্ণ অফলাইনে চলছে এমন এজেন্ট৷
খুব অদূর ভবিষ্যতে, আপনি এজেন্টদের নির্বিঘ্নে এতে একত্রিত দেখতে পাবেন:
-
আপনার DevOps পাইপলাইন
-
বড় এন্টারপ্রাইজ ওয়ার্কফ্লো
-
প্রতিদিনের উত্পাদনশীলতার সরঞ্জামগুলি
-
মোবাইল অ্যাপস এবং স্মার্ট ডিভাইস
-
গেম, সিমুলেশন এবং শিক্ষামূলক প্ল্যাটফর্ম
চূড়ান্ত সারাংশ
ঠিক আছে, চলুন আপনি এইমাত্র শিখেছেন এবং সম্পন্ন করেছেন এমন সমস্ত দুর্দান্ত জিনিসগুলিকে দ্রুত পুনরুদ্ধার করি:
-
আপনি LLM এজেন্ট কী এবং কেন তারা এত শক্তিশালী তা সম্পর্কে একটি শক্ত উপলব্ধি পেয়েছেন৷
-
আপনি দেখেছেন কিভাবে ল্যাংগ্রাফ এবং ক্রুএআই-এর মতো ওপেন-সোর্স ফ্রেমওয়ার্ক বিল্ডিং এজেন্টকে আরও সহজ করে তোলে৷
-
আপনি একটি সাধারণ দৈনন্দিন কাজ স্বয়ংক্রিয় করতে ল্যাংগ্রাফ ব্যবহার করে একটি বাস্তব এলএলএম এজেন্ট তৈরি করেছেন:আপনার ইনবক্সের সারসংক্ষেপ!
-
আপনি CrewAI-এর সাথে মাল্টি-এজেন্ট সহযোগিতার বিশ্ব অন্বেষণ করেছেন, বুঝতে পেরেছেন কীভাবে AI-এর দল একসঙ্গে কাজ করতে পারে।
-
আপনি শিখেছেন কিভাবে এই নীতিগুলি গ্রহণ করতে হয় এবং অগণিত অন্যান্য কাজগুলিকে স্বয়ংক্রিয় করতে তাদের স্কেল করতে হয়৷
সুতরাং, পরের বার যখন আপনি নিজেকে পুনরাবৃত্ত কিছু করতে আটকে আছেন, কেবল নিজেকে জিজ্ঞাসা করুন:"আরে, আমি কি এর জন্য একজন এজেন্ট তৈরি করতে পারি?" উত্তর সম্ভবত হ্যাঁ!
রিসোর্স রিক্যাপ
Here are some helpful resources if you want to dive deeper into building LLM agents:
বিনামূল্যে কোড শিখুন. freeCodeCamp-এর ওপেন সোর্স পাঠ্যক্রম 40,000-এরও বেশি লোককে ডেভেলপার হিসেবে চাকরি পেতে সাহায্য করেছে। Get started