LangChain இல் ஒரு முகவரைப் பயன்படுத்தி ரியாக்ட் லாஜிக்கை எவ்வாறு செயல்படுத்துவது?

Langchain Il Oru Mukavaraip Payanpatutti Riyakt Lajikkai Evvaru Ceyalpatuttuvatu



LangChain என்பது மொழி மாதிரிகள் மற்றும் மனித மொழியில் உரையைப் புரிந்துகொண்டு உருவாக்கக்கூடிய சாட்போட்களை உருவாக்குவதற்கான கட்டமைப்பாகும். மாதிரியின் செயல்திறன், செயல்முறையின் பயிற்சி கட்டத்தில் மொழி மற்றும் அதன் சிக்கல்களைப் புரிந்துகொள்வதை அடிப்படையாகக் கொண்டது. அடுத்த கட்டம், எளிதில் படிக்கக்கூடிய மற்றும் புரிந்துகொள்ளக்கூடிய இயல்பான மொழியில் தரவு அல்லது உரையை உருவாக்குகிறது. இந்த கட்டங்கள் குறிப்பிடப்படுகின்றன ' பகுத்தறிவு 'மற்றும்' நடிப்பு ” முறையே இயற்கை மொழி செயலாக்க டொமைனில்.

விரைவான அவுட்லைன்

இந்த இடுகை நிரூபிக்கும்:

LangChain இல் ஒரு முகவரைப் பயன்படுத்தி ரியாக்ட் லாஜிக்கை எவ்வாறு செயல்படுத்துவது?

' எதிர்வினையாற்று ” என்பது மொழி மாதிரியின் செயல்திறனை மேம்படுத்துவதற்கான காரணம் மற்றும் செயல் கட்டங்களின் கலவையாகும் “ ரெ 'காரணத்தை குறிக்கிறது மற்றும்' நாடகம் ” நடவடிக்கைக்கு. ஒரு ரியாக்ட் லாஜிக் பெரும்பாலும் எல்எல்எம்கள் அல்லது சாட்போட்களை உருவாக்குவதற்கு மிகவும் உகந்ததாக கருதப்படுகிறது மற்றும் உரையை உருவாக்குகிறது. எந்தச் செயல்களைச் செய்ய வேண்டும், எந்த வரிசையில் செய்ய வேண்டும் என்பதை முடிவு செய்பவர் முகவர்.







LangChain இல் ஒரு முகவரைப் பயன்படுத்தி ReAct தர்க்கத்தை செயல்படுத்தும் செயல்முறையை அறிய, பின்வரும் வழிகாட்டியைப் பார்க்கவும்:



படி 1: கட்டமைப்புகளை நிறுவுதல்

முதலில், ரியாக்ட் லாஜிக்கைச் செயல்படுத்தும் செயல்முறையைத் தொடங்க LangChain ஐ நிறுவவும்:



pip நிறுவல் langchain





google இலிருந்து தேடல் முடிவுகளைப் பெறக்கூடிய முகவரை உருவாக்குவதற்கான சார்புகளைப் பெற, google-search-results தொகுதியை நிறுவவும்:

pip நிறுவு openai google-search-results



அதன் பிறகு, ரியாக்ட் லாஜிக்கைச் செயல்படுத்த பெரிய மொழி மாதிரிகள் அல்லது எல்எல்எம்களை ஏற்றுவதற்குப் பயன்படுத்தப்படும் OpenAI தொகுதிகளை நிறுவவும்:

pip install openai

தேவையான அனைத்து தொகுதிகளையும் பெற்ற பிறகு, வெறுமனே அமைக்கவும் OpenAI சூழல் எல்எல்எம் கட்டுவதற்கு மற்றும் SerpAPI சூழல் மாதிரியில் முகவரைப் பயன்படுத்துவதற்கு:

இறக்குமதி நீ

இறக்குமதி கெட்பாஸ்

நீ . தோராயமாக [ 'OPENAI_API_KEY' ] = கெட்பாஸ் . கெட்பாஸ் ( 'OpenAI API விசை:' )

நீ . தோராயமாக [ 'SERPAPI_API_KEY' ] = கெட்பாஸ் . கெட்பாஸ் ( 'Serpapi API விசை:' )

படி 2: மொழி மாதிரியை ஏற்றுகிறது

LangChain கட்டமைப்பைப் பயன்படுத்தி தேவையான நூலகங்களை இறக்குமதி செய்வதன் மூலம் மொழி மாதிரிகளை ஏற்றுவது அடுத்த படியாகும்:

இருந்து லாங்செயின். முகவர்கள் இறக்குமதி load_tools

இருந்து லாங்செயின். முகவர்கள் இறக்குமதி துவக்க_முகவர்

இருந்து லாங்செயின். முகவர்கள் இறக்குமதி முகவர் வகை

இருந்து லாங்செயின். llms இறக்குமதி OpenAI

மொழி மாதிரியை (llm) உருவாக்க OpenAI() முறையைப் பயன்படுத்தவும், பின்னர் SerpAPI ஐப் பயன்படுத்தி முகவர்களுக்கான கருவிகளை உள்ளமைக்கவும்:

llm = OpenAI ( வெப்ப நிலை = 0 )

கருவிகள் = load_tools ( [ 'செர்பாபி' , 'எல்எம்-கணிதம்' ] , llm = llm )

முறை 1: லேண்ட்செயின் எக்ஸ்பிரஷன் மொழியைப் பயன்படுத்துதல்

LCEL என்பது LangChain இல் மொழி மாதிரிகளை உருவாக்கும் போது சங்கிலிகளை ஒருங்கிணைக்கும் அல்லது உருவாக்கும் செயல்முறையாகும். LangChain இல் உள்ள முகவர்களுடன் ReAct லாஜிக்கை உருவாக்குவதற்கும் பயன்படுத்துவதற்கும் அதன் சார்புகளைப் பெற LangChainHub ஐ நிறுவுவதன் மூலம் செயல்முறையைத் தொடங்கவும்:

pip நிறுவல் langchainhub

ReAct மாதிரியைப் பயன்படுத்தக்கூடிய மாதிரியை உருவாக்க, ReActSingleInputOutputParser போன்ற LangChain இலிருந்து நூலகங்களை இறக்குமதி செய்தல்:

இருந்து லாங்செயின். கருவிகள் . விடாது இறக்குமதி render_text_description

இருந்து லாங்செயின். முகவர்கள் . வெளியீடு_பாகுபடுத்திகள் இறக்குமதி ReActSingleInputOutputParser

இருந்து லாங்செயின். முகவர்கள் . format_scratchpad இறக்குமதி format_log_to_str

இருந்து லாங்செயின் இறக்குமதி மையம்

புல்() முறையைப் பயன்படுத்தி ரியாக்ட் லாஜிக்கை வடிவமைக்க மொழி மாதிரியை ஏற்றவும் மற்றும் அதை ப்ராம்ட் மாறியில் சேமிக்கவும். ஏற்றப்பட்ட தரவுத்தொகுப்பில் தர்க்கத்தை செயல்படுத்துவதற்குப் பயன்படுத்தக்கூடிய சில கருவிகளை ஒரு ஏஜெண்டுடன் அதன் செயல்பாட்டைச் செயல்படுத்துவதற்கு வரையறுக்கவும்:

உடனடியாக = மையம். இழுக்க ( 'hwchase17/react' )

உடனடியாக = உடனடியாக பகுதி (

கருவிகள் = render_text_description ( கருவிகள் ) ,

கருவி_பெயர்கள் = ',' . சேர ( [ டி. பெயர் க்கான டி உள்ளே கருவிகள் ] ) ,

)

கட்டிட முகவர்

இப்போது, ​​இந்த வழிகாட்டியின் படி 2 இல் ஏற்றப்பட்ட மொழி மாதிரியுடன் ஒருங்கிணைத்து முகவர் மற்றும் அதன் கருவிகளை உள்ளமைக்கவும்:

llm_with_stop = llm கட்டுதல் ( நிறுத்து = [ ' \n கவனிப்பு' ] )

அதன் செயல்பாட்டை விளக்கும் முகவரை உள்ளமைக்க வாதங்கள் மற்றும் கருவிகளை வழங்க ஏஜென்ட் மாறியை வரையறுக்கவும். முன்பு கட்டமைக்கப்பட்ட பகுதிகளான llm_with_stop மற்றும் ReActSingleInputOutputParser() முறை ஆகியவை முகவருடன் ஒருங்கிணைக்கப்படுகின்றன:

முகவர் = {

'உள்ளீடு' : லாம்ப்டா x: x [ 'உள்ளீடு' ] ,

'agent_scratchpad' : லாம்ப்டா x: format_log_to_str ( எக்ஸ் [ 'இடைநிலை_படிகள்' ] )

} | உடனடியாக | llm_with_stop | ReActSingleInputOutputParser ( )

AgentExecutor நூலகத்தைப் பெற்று, மேலும் படிக்கக்கூடிய வெளியீட்டைப் பெற, முகவர், கருவிகள் மற்றும் verbose போன்ற வாதங்களைப் பயன்படுத்தி அதன் முறையை உள்ளமைக்கவும்:

இருந்து லாங்செயின். முகவர்கள் இறக்குமதி முகவர் நிறைவேற்றுபவர்

முகவர்_செயல்படுத்துபவர் = முகவர் நிறைவேற்றுபவர் ( முகவர் = முகவர் , கருவிகள் = கருவிகள் , வாய்மொழி = உண்மை )

வெளியீட்டைப் பிரித்தெடுக்க முகவரைத் தூண்டும் உள்ளீடாக சரம் வினவலைக் கொண்டு agent_executor() முறையைப் பயன்படுத்தவும்:

முகவர்_செயல்படுத்துபவர். அழைக்கவும் ( { 'உள்ளீடு' : 'லியோ டிகாப்ரியோவின் காதலி யார்' } )

வெளியீடு

பின்வரும் ஸ்கிரீன்ஷாட், முகவர் ரியாக்ட் லாஜிக்கைப் பயன்படுத்தி தகவலைப் பிரித்தெடுத்து இயற்கையான மொழியில் உரையை உருவாக்கியுள்ளார் என்பதைக் காட்டுகிறது:

முறை 2: ZeroShotReactAgent ஐப் பயன்படுத்துதல்

Agent_executor மாறியை உள்ளமைக்கும் போது ZeroShotReactAgent போன்ற மற்றொரு முகவரைப் பயன்படுத்தி ReAct லாஜிக்கை செயல்படுத்தலாம். அதன் பிறகு, ஏஜென்ட்டைத் தூண்டுவதற்கான உள்ளீடாகக் கேள்வியுடன் agent_executor மாறியை அழைக்கவும்:

முகவர்_செயல்படுத்துபவர் = துவக்க_முகவர் ( கருவிகள் , llm , முகவர் = முகவர் வகை. ZERO_SHOT_REACT_DESCRIPTION , வாய்மொழி = உண்மை )

முகவர்_செயல்படுத்துபவர். அழைக்கவும் ( { 'உள்ளீடு' : 'லியோ டிகாப்ரியோவின் காதலி வயது 0.21 ஆக உயர்த்தப்பட்டது' } )

வெளியீடு

agent_executor ஐ அழைக்கும் போது கேட்கப்பட்ட உள்ளீட்டின் அடிப்படையில் முகவர் தகவலைப் பிரித்தெடுத்தார்:

முறை 3: அரட்டை மாதிரிகளைப் பயன்படுத்துதல்

ChatOpenAI நூலகத்தை இறக்குமதி செய்த பிறகு அரட்டை மாதிரிகளைப் பயன்படுத்தி ReAct லாஜிக்கைச் செயல்படுத்தப் பயன்படுத்தக்கூடிய மற்றொரு செயல்முறை:

இருந்து லாங்செயின். அரட்டை_மாதிரிகள் இறக்குமதி ChatOpenAI

ChatOpenAI() முறையைப் பயன்படுத்தி 0 க்கு சமமான வெப்பநிலை மதிப்புடன் அரட்டை மாதிரியை உருவாக்கவும், இது மாதிரியின் முடிவுகளில் சீரற்ற தன்மையைக் கட்டுப்படுத்தலாம்:

அரட்டை_மாதிரி = ChatOpenAI ( வெப்ப நிலை = 0 )

பயனர் ரியாக்ட் லாஜிக்கைச் செயல்படுத்தக்கூடிய மாதிரியை ப்ராம்ப்ட் மாறியில் சேமிக்கவும், செயல்பாட்டில் பயன்படுத்த வேண்டிய கருவிகளை உள்ளமைக்கவும்:

உடனடியாக = மையம். இழுக்க ( 'hwchase17/react-json' )

உடனடியாக = உடனடியாக பகுதி (

கருவிகள் = render_text_description ( கருவிகள் ) ,

கருவி_பெயர்கள் = ',' . சேர ( [ டி. பெயர் க்கான டி உள்ளே கருவிகள் ] ) ,

)

முகவரை உருவாக்குதல்

மாடல் உரையை உருவாக்குவதை நிறுத்தும்போது, ​​அவதானிப்புகள் அல்லது சமீபத்திய செய்திகளைச் சேமிக்க அரட்டை மாதிரியைப் பயன்படுத்தவும்:

chat_model_with_stop = அரட்டை_மாதிரி. கட்டுதல் ( நிறுத்து = [ ' \n கவனிப்பு' ] )

ReAct தர்க்கத்தை செயல்படுத்த ReActJsonSingleInputOutputParser நூலகத்தைப் பெறவும் மற்றும் முடிவுகளை JSON வடிவத்தில் உருவாக்கவும்:

இருந்து லாங்செயின். முகவர்கள் . வெளியீடு_பாகுபடுத்திகள் இறக்குமதி ReActJsonSingleInputOutputParser

முகவரை அழைப்பதன் மூலம் முடிவுகளை உருவாக்க chat_model மாறி மற்றும் முறையைப் பயன்படுத்தி முகவரை உருவாக்கி உள்ளமைக்கவும்:

முகவர் = {

'உள்ளீடு' : லாம்ப்டா x: x [ 'உள்ளீடு' ] ,

'agent_scratchpad' : லாம்ப்டா x: format_log_to_str ( எக்ஸ் [ 'இடைநிலை_படிகள்' ] )

} | உடனடியாக | அரட்டை_மாடல்_வித்_ஸ்டாப் | ReActJsonSingleInputOutputParser ( )

உள்ளீட்டு மாறியில் வழங்கப்பட்ட வினவலின் அடிப்படையில் முடிவுகளைப் பெற, agent_executor ஐ உள்ளமைக்கவும், அதை இயக்கவும்:

முகவர்_செயல்படுத்துபவர் = முகவர் நிறைவேற்றுபவர் ( முகவர் = முகவர் , கருவிகள் = கருவிகள் , வாய்மொழி = உண்மை )

முகவர்_செயல்படுத்துபவர். அழைக்கவும் ( { 'உள்ளீடு' : 'லியோ டிகாப்ரியோவின் காதலி வயது 0.21 ஆக உயர்த்தப்பட்டது' } )

வெளியீடு

பின்வரும் ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி ஏஜெண்ட் வெளியீட்டைப் பிரித்தெடுத்தார்:

முறை 4: ChatZeroShotReactAgent ஐப் பயன்படுத்துதல்

லாங்செயின் கட்டமைப்புடன் ரியாக்ட் லாஜிக்கைச் செயல்படுத்த ஏஜென்ட்டின் மதிப்பை மாற்றுவதும் பயன்படுத்தப்படலாம்:

முகவர் = துவக்க_முகவர் ( கருவிகள் , அரட்டை_மாதிரி , முகவர் = முகவர் வகை. CHAT_ZERO_SHOT_REACT_DESCRIPTION , வாய்மொழி = உண்மை )

முகவர். ஓடு ( 'லியோ டிகாப்ரியோவின் காதலி வயது 0.21 ஆக உயர்த்தப்பட்டது' )

வெளியீடு

வெளியீட்டு கட்டமைப்பில் டோக்கன்கள் மற்றும் தகவலைப் பிரித்தெடுக்கப் பயன்படுத்தப்படும் மாதிரியிலிருந்து முகவரின் வேலை பற்றிய விரிவான தகவல்கள் உள்ளன:

LangChain இல் ஒரு முகவரைப் பயன்படுத்தி ReAct தர்க்கத்தை செயல்படுத்தும் செயல்முறையைப் பற்றியது அவ்வளவுதான்.

முடிவுரை

LangChain கட்டமைப்பைப் பயன்படுத்தி ஒரு முகவருடன் ReAct லாஜிக்கைச் செயல்படுத்த, முகவரை உள்ளமைக்க google-search-results போன்ற தொகுதிகளை நிறுவவும். அதன் பிறகு, மாதிரியைப் பயன்படுத்தத் தொடங்க, அவர்களின் கணக்குகளிலிருந்து OpenAI மற்றும் SerpAPI சான்றுகளைப் பயன்படுத்தி சூழலை அமைக்கவும். LangChain தொகுதி வழங்கும் பல முகவர்களுடன் LCEL மற்றும் அரட்டை மாதிரிகளைப் பயன்படுத்தி ReAct லாஜிக் செயல்படுத்தப்படலாம். LangChain இல் உள்ள முகவரைப் பயன்படுத்தி ReAct தர்க்கத்தை செயல்படுத்துவது பற்றி இந்த வழிகாட்டி விரிவாகக் கூறியுள்ளது.