ল্যাংচেইনে একজন এজেন্ট ব্যবহার করে রিঅ্যাক্ট লজিক কীভাবে প্রয়োগ করবেন?

Lyance Ine Ekajana Ejenta Byabahara Kare Ri A Yakta Lajika Kibhabe Prayoga Karabena



ল্যাংচেইন হল ভাষা মডেল এবং চ্যাটবট তৈরির কাঠামো যা মানুষের ভাষায় পাঠ্য বুঝতে এবং তৈরি করতে পারে। মডেলটির কার্যকারিতা প্রক্রিয়াটির প্রশিক্ষণ পর্বের সময় ভাষা এবং এর জটিলতার বোঝার উপর ভিত্তি করে। পরবর্তী পর্যায়ে প্রাকৃতিক ভাষায় তথ্য বা পাঠ্য তৈরি করা হয় যা সহজেই পাঠযোগ্য এবং বোধগম্য হতে পারে। এই পর্যায়গুলিকে বলা হয় ' যুক্তি ' এবং ' অভিনয় ” যথাক্রমে প্রাকৃতিক ভাষা প্রক্রিয়াকরণ ডোমেনে।

দ্রুত রূপরেখা

এই পোস্টটি প্রদর্শন করবে:

ল্যাংচেইনে একজন এজেন্ট ব্যবহার করে রিঅ্যাক্ট লজিক কীভাবে প্রয়োগ করবেন?

দ্য ' প্রতিক্রিয়া ভাষা মডেলের কর্মক্ষমতা বাড়াতে কারণ এবং ক্রিয়া পর্যায়গুলির সংমিশ্রণ হল ' পুনঃ 'কারণ বোঝায় এবং' আইন 'কর্মের জন্য। একটি ReAct যুক্তিকে প্রায়শই পাঠ্য বোঝার এবং তৈরি করার জন্য LLM বা চ্যাটবট তৈরির জন্য সবচেয়ে অপ্টিমাইজ করা হয়। এজেন্ট হল সিদ্ধান্ত গ্রহণকারী যিনি সিদ্ধান্ত নেন কোন কাজগুলি সম্পাদন করতে হবে এবং কোন ক্রমে সঞ্চালিত হবে।







LangChain এ একটি এজেন্ট ব্যবহার করে ReAct যুক্তি প্রয়োগ করার প্রক্রিয়া শিখতে, কেবল নিম্নলিখিত নির্দেশিকাটি দেখুন:



ধাপ 1: ফ্রেমওয়ার্ক ইনস্টল করা

প্রথমত, ReAct যুক্তি প্রয়োগের প্রক্রিয়া শুরু করতে LangChain ইনস্টল করুন:



পিপ ল্যাংচেইন ইনস্টল করুন





google থেকে অনুসন্ধান ফলাফল পেতে পারে এমন এজেন্ট তৈরির জন্য নির্ভরতা পেতে google-search-results মডিউলটি ইনস্টল করুন:

পিপ ইনস্টল ওপেনই গুগল-সার্চ-ফলাফল



এর পরে, ওপেনএআই মডিউলগুলি ইনস্টল করুন যা ReAct যুক্তি প্রয়োগ করতে বড় ভাষা মডেল বা LLM লোড করতে ব্যবহার করা যেতে পারে:

পিপ ইনস্টল ওপেনই

সমস্ত প্রয়োজনীয় মডিউল পাওয়ার পরে, কেবল সেট আপ করুন OpenAI পরিবেশ এলএলএম নির্মাণের জন্য এবং SerpAPI পরিবেশ মডেলে এজেন্ট ব্যবহার করার জন্য:

আমদানি আপনি

আমদানি গেটপাস

আপনি . আন্দাজ [ 'OPENAI_API_KEY' ] = গেটপাস . গেটপাস ( 'ওপেনএআই এপিআই কী:' )

আপনি . আন্দাজ [ 'SERPAPI_API_KEY' ] = গেটপাস . গেটপাস ( 'Serpapi API কী:' )

ধাপ 2: ভাষা মডেল লোড হচ্ছে

পরবর্তী ধাপে ল্যাংচেইন ফ্রেমওয়ার্ক ব্যবহার করে প্রয়োজনীয় লাইব্রেরি আমদানি করে ভাষার মডেলগুলি লোড করা হচ্ছে:

থেকে ল্যাংচেইন এজেন্ট আমদানি load_tools

থেকে ল্যাংচেইন এজেন্ট আমদানি ইনিশিয়ালাইজ_এজেন্ট

থেকে ল্যাংচেইন এজেন্ট আমদানি এজেন্ট টাইপ

থেকে ল্যাংচেইন এলএমএস আমদানি OpenAI

ভাষা মডেল (llm) তৈরি করতে OpenAI() পদ্ধতি ব্যবহার করুন এবং তারপর SerpAPI ব্যবহার করে এজেন্টদের জন্য টুল কনফিগার করুন:

এলএলএম = OpenAI ( তাপমাত্রা = 0 )

টুলস = load_tools ( [ 'সেরপাপি' , 'এলএলএম-গণিত' ] , এলএলএম = এলএলএম )

পদ্ধতি 1: LandChain এক্সপ্রেশন ভাষা ব্যবহার করা

LCEL হল LangChain-এ ভাষার মডেল তৈরি করার সময় চেইনকে একত্রিত বা রচনা করার প্রক্রিয়া। ল্যাংচেইন এজেন্টদের সাথে ReAct লজিক তৈরি এবং ব্যবহার করার জন্য এর নির্ভরতা পেতে LangChainHub ইনস্টল করে প্রক্রিয়াটি শুরু করুন:

পিপ ইনস্টল ল্যাংচাইনহাব

ReAct মডেল ব্যবহার করতে পারে এমন মডেল তৈরি করতে ReActSingleInputOutputParser এর মতো LangChain থেকে লাইব্রেরিগুলি আমদানি করা:

থেকে ল্যাংচেইন টুলস . রেন্ডার আমদানি render_text_description

থেকে ল্যাংচেইন এজেন্ট . output_parsers আমদানি ReActSingleInputOutputParser

থেকে ল্যাংচেইন এজেন্ট . ফরম্যাট_স্ক্র্যাচপ্যাড আমদানি format_log_to_str

থেকে ল্যাংচেইন আমদানি হাব

পুল() পদ্ধতি ব্যবহার করে ReAct লজিক ডিজাইন করতে ভাষা মডেল লোড করুন এবং প্রম্পট ভেরিয়েবলে সংরক্ষণ করুন। একটি এজেন্টের সাথে কাজ করার জন্য লোড করা ডেটাসেটে যুক্তি প্রয়োগ করতে ব্যবহার করা যেতে পারে এমন কিছু সরঞ্জামের সংজ্ঞা দিন:

শীঘ্র = হাব টান ( 'hwchase17/react' )

শীঘ্র = শীঘ্র. আংশিক (

টুলস = render_text_description ( টুলস ) ,

টুল_নাম = ', ' . যোগদান ( [ t. নাম জন্য t ভিতরে টুলস ] ) ,

)

বিল্ডিং এজেন্ট

এখন, এই গাইডের ধাপ 2 এ লোড করা ভাষা মডেলের সাথে একীভূত করে এজেন্ট এবং এর সরঞ্জামগুলি কনফিগার করুন:

llm_with_stop = এলএলএম বাঁধাই করা ( থামা = [ ' \n পর্যবেক্ষণ' ] )

এজেন্টকে কনফিগার করার জন্য আর্গুমেন্ট এবং টুল প্রদান করতে একটি এজেন্ট ভেরিয়েবলকে সংজ্ঞায়িত করুন যা এর কাজ ব্যাখ্যা করে। llm_with_stop এবং ReActSingleInputOutputParser() পদ্ধতির মতো পূর্বে কনফিগার করা অংশগুলি এজেন্টের সাথে একীভূত করা হচ্ছে:

প্রতিনিধি = {

'ইনপুট' : ল্যাম্বডা x: x [ 'ইনপুট' ] ,

'এজেন্ট_স্ক্র্যাচপ্যাড' : ল্যাম্বডা x: format_log_to_str ( এক্স [ 'মধ্যবর্তী_পদক্ষেপ' ] )

} | প্রম্পট | llm_with_stop | ReActSingleInputOutputParser ( )

AgentExecutor লাইব্রেরি পান এবং আরও পঠনযোগ্য আউটপুট পেতে এজেন্ট, টুলস এবং ভার্বোসের মতো আর্গুমেন্ট ব্যবহার করে এর পদ্ধতি কনফিগার করুন:

থেকে ল্যাংচেইন এজেন্ট আমদানি এজেন্ট এক্সিকিউটর

agent_executor = এজেন্ট এক্সিকিউটর ( প্রতিনিধি = প্রতিনিধি , টুলস = টুলস , ভার্বোস = সত্য )

ইনপুট হিসাবে স্ট্রিং ক্যোয়ারী সহ agent_executor() পদ্ধতিটি চালু করুন যা এজেন্টকে আউটপুট বের করতে ট্রিগার করবে:

agent_executor. আহ্বান ( { 'ইনপুট' : 'লিও ডিক্যাপ্রিওর গার্লফ্রেন্ড কে' } )

আউটপুট

নিম্নলিখিত স্ক্রিনশটটি দেখায় যে এজেন্ট ReAct লজিক ব্যবহার করে তথ্য বের করেছে এবং প্রাকৃতিক ভাষায় পাঠ্য তৈরি করেছে:

পদ্ধতি 2: ZeroShotReactAgent ব্যবহার করা

এজেন্ট_এক্সিকিউটর ভেরিয়েবল কনফিগার করার সময় ZeroShotReactAgent এর মত অন্য এজেন্ট ব্যবহার করে ReAct লজিক প্রয়োগ করা যেতে পারে। এর পরে, এজেন্টকে আহ্বান করার জন্য ইনপুট হিসাবে প্রশ্ন সহ agent_executor ভেরিয়েবলকে কল করুন:

agent_executor = ইনিশিয়ালাইজ_এজেন্ট ( টুলস , এলএলএম , প্রতিনিধি = এজেন্ট টাইপ। ZERO_SHOT_REACT_DESCRIPTION৷ , ভার্বোস = সত্য )

agent_executor. আহ্বান ( { 'ইনপুট' : 'লিও ডিক্যাপ্রিওর গার্লফ্রেন্ডের বয়স 0.21 পাওয়ার কত? } )

আউটপুট

এজেন্ট_এক্সিকিউটরকে আহ্বান করার সময় জিজ্ঞাসা করা ইনপুটের উপর ভিত্তি করে এজেন্ট তথ্য বের করেছে:

পদ্ধতি 3: চ্যাট মডেল ব্যবহার করা

আরেকটি প্রক্রিয়া যা ChatOpenAI লাইব্রেরি আমদানি করার পরে চ্যাট মডেলগুলি ব্যবহার করে ReAct যুক্তি প্রয়োগ করতে ব্যবহার করা যেতে পারে:

থেকে ল্যাংচেইন চ্যাট_মডেল আমদানি চ্যাটওপেনএআই

ChatOpenAI() পদ্ধতি ব্যবহার করে 0 এর সমান তাপমাত্রার মান দিয়ে চ্যাট মডেল তৈরি করুন যা মডেলের ফলাফলে এলোমেলোতা নিয়ন্ত্রণ করতে পারে:

চ্যাট_মডেল = চ্যাটওপেনএআই ( তাপমাত্রা = 0 )

প্রম্পট ভেরিয়েবলে সংরক্ষণ করার জন্য ব্যবহারকারী ReAct লজিক প্রয়োগ করতে পারে এমন মডেলটি লোড করুন এবং প্রক্রিয়াটিতে ব্যবহার করার জন্য সরঞ্জামগুলি কনফিগার করুন:

শীঘ্র = হাব টান ( 'hwchase17/react-json' )

শীঘ্র = শীঘ্র. আংশিক (

টুলস = render_text_description ( টুলস ) ,

টুল_নাম = ', ' . যোগদান ( [ t. নাম জন্য t ভিতরে টুলস ] ) ,

)

এজেন্ট নির্মাণ

যখন মডেল পাঠ্য তৈরি করা বন্ধ করে তখন পর্যবেক্ষণ বা সাম্প্রতিক বার্তাগুলি সংরক্ষণ করতে চ্যাট মডেলটি ব্যবহার করুন:

chat_model_with_stop = চ্যাট_মডেল। বাঁধাই করা ( থামা = [ ' \n পর্যবেক্ষণ' ] )

ReAct যুক্তি প্রয়োগ করতে ReActJsonSingleInputOutputParser লাইব্রেরি পান এবং JSON ফর্ম্যাটে ফলাফল তৈরি করুন:

থেকে ল্যাংচেইন এজেন্ট . output_parsers আমদানি ReActJsonSingleInputOutputParser

chat_model ভেরিয়েবল এবং পদ্ধতি ব্যবহার করে এজেন্টকে কল করে ফলাফল তৈরি করুন এবং কনফিগার করুন:

প্রতিনিধি = {

'ইনপুট' : ল্যাম্বডা x: x [ 'ইনপুট' ] ,

'এজেন্ট_স্ক্র্যাচপ্যাড' : ল্যাম্বডা x: format_log_to_str ( এক্স [ 'মধ্যবর্তী_পদক্ষেপ' ] )

} | প্রম্পট | chat_model_with_stop | ReActJsonSingleInputOutputParser ( )

agent_executor কনফিগার করুন এবং ইনপুট ভেরিয়েবলে প্রদত্ত প্রশ্নের উপর ভিত্তি করে ফলাফল পেতে এটি চালান:

agent_executor = এজেন্ট এক্সিকিউটর ( প্রতিনিধি = প্রতিনিধি , টুলস = টুলস , ভার্বোস = সত্য )

agent_executor. আহ্বান ( { 'ইনপুট' : 'লিও ডিক্যাপ্রিওর গার্লফ্রেন্ডের বয়স 0.21 পাওয়ার কত? } )

আউটপুট

এজেন্ট নিম্নলিখিত স্ক্রিনশটে প্রদর্শিত আউটপুটটি বের করেছে:

পদ্ধতি 4: ChatZeroShotReactAgent ব্যবহার করা

এজেন্টের মান পরিবর্তন করাও ল্যাংচেইন ফ্রেমওয়ার্কের সাথে ReAct যুক্তি প্রয়োগ করতে ব্যবহার করা যেতে পারে:

প্রতিনিধি = ইনিশিয়ালাইজ_এজেন্ট ( টুলস , চ্যাট_মডেল , প্রতিনিধি = এজেন্ট টাইপ। CHAT_ZERO_SHOT_REACT_DESCRIPTION , ভার্বোস = সত্য )

প্রতিনিধি. চালান ( 'লিও ডিক্যাপ্রিওর গার্লফ্রেন্ডের বয়স 0.21 পাওয়ার কত? )

আউটপুট

আউটপুট কাঠামোতে তথ্য বের করতে ব্যবহৃত টোকেন এবং মডেল থেকে এজেন্টের কাজ সম্পর্কে বিস্তারিত তথ্য রয়েছে:

LangChain-এ একটি এজেন্ট ব্যবহার করে ReAct লজিক বাস্তবায়নের প্রক্রিয়া সম্পর্কে এটাই।

উপসংহার

LangChain ফ্রেমওয়ার্ক ব্যবহার করে এজেন্টের সাথে ReAct লজিক বাস্তবায়ন করতে, এজেন্ট কনফিগার করতে google-search-results এর মত মডিউল ইনস্টল করুন। এর পরে, মডেল ব্যবহার শুরু করতে তাদের অ্যাকাউন্ট থেকে OpenAI এবং SerpAPI শংসাপত্র ব্যবহার করে পরিবেশ সেট আপ করুন। LangChain মডিউল দ্বারা প্রদত্ত একাধিক এজেন্টের সাথে LCEL এবং চ্যাট মডেল ব্যবহার করে ReAct যুক্তি প্রয়োগ করা যেতে পারে। এই নির্দেশিকা LangChain এ এজেন্ট ব্যবহার করে ReAct যুক্তি প্রয়োগ করার বিষয়ে বিস্তারিত বর্ণনা করেছে।