LangChain இல் தனிப்பயன் நினைவக வகையைச் சேர்ப்பது எப்படி?

Langchain Il Tanippayan Ninaivaka Vakaiyaic Cerppatu Eppati



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

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

இந்த இடுகை காண்பிக்கும்:







LangChain இல் தனிப்பயன் நினைவக வகையைச் சேர்ப்பது எப்படி



முடிவுரை



LangChain இல் தனிப்பயன் நினைவக வகையைச் சேர்ப்பது எப்படி?

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





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

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

pip நிறுவல் langchain

பைதான் நோட்புக்கில் மேலே உள்ள கட்டளையை இயக்குவது பின்வரும் துணுக்கில் காட்டப்பட்டுள்ளபடி LangChain க்கான சார்புகளை நிறுவும்:



LLMகளை கட்டமைக்க பயன்படும் அதன் நூலகங்களைப் பெற OpenAI தொகுதியை நிறுவவும்:

pip install openai

இந்த வழிகாட்டி லாங்செயினில் தனிப்பயன் நினைவக வகையை வடிவமைக்க ஸ்பாசி கட்டமைப்பைப் பயன்படுத்தும் மற்றும் தொகுதியை நிறுவ பின்வரும் குறியீடு பயன்படுத்தப்படுகிறது:

pip நிறுவல் இடைவெளி

ஸ்பாசி மாடல், முந்தைய அரட்டைச் செய்திகளைப் போலவே தகவலைச் சேமிக்க ஹாஷ் அட்டவணையைப் பயன்படுத்துகிறது. மேம்பட்ட NLP மாதிரியை உருவாக்க, ஸ்பேசி நூலகத்திலிருந்து பெரிய மொழி மாதிரி அல்லது LLM ஐப் பதிவிறக்க பின்வரும் குறியீடு பயன்படுத்தப்படுகிறது:

! python -m spacy download en_core_web_lg

இறக்குமதி' நீ 'மற்றும்' கெட்பாஸ் ” நூலகங்கள் என்பது OpenAI இன் கணக்கிலிருந்து API விசையை உள்ளிடுவதற்கானது அதன் சூழலை அமைத்தது :

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

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

படி 2: நூலகங்களை இறக்குமதி செய்தல்

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

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

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

இருந்து பைடான்டிக் இறக்குமதி அடிப்படை மாதிரி

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

இருந்து தட்டச்சு இறக்குமதி பட்டியல் , ஆணையிடுங்கள் , ஏதேனும்

இறக்குமதி செய்கிறது ' ஸ்பேசி 'நூலகத்தை ஏற்றுவதற்கு' en_core_web_lg 'மாதிரி மற்றும் அதை 'க்கு ஒதுக்குங்கள் nlp ” மாறி இது இயற்கை மொழி செயலாக்க மாதிரி:

இறக்குமதி ஸ்பேசி

nlp = ஸ்பேசி. சுமை ( 'en_core_web_lg' )

படி 3: தனிப்பயன் நினைவகத்தை உருவாக்குதல்

அதன் பிறகு, மெமரி வகுப்பில் BaseMemory மற்றும் BaseModel வாதங்களைப் பயன்படுத்தி தனிப்பயன் நினைவகத்தை உருவாக்கவும். பின்னர், நினைவகத்தில் முழுமையான தகவலாகவோ அல்லது ஒற்றை அலகாகவோ சேமிக்கக்கூடிய நிறுவனங்களை (தரவில் இருந்து சேகரிக்கப்பட்ட/சேமிக்கப்பட்ட) உள்ளமைக்கவும். நினைவகம் மற்றும் மாதிரியின் செயல்திறனை மேம்படுத்த, ஆவணத்தில் உள்ள அனைத்து உட்பொருட்களையும் உள்ளடக்கியதாக நினைவகம் கட்டமைக்கப்பட்டுள்ளது:

வர்க்கம் SpacyEntityMemory ( அடிப்படை நினைவகம் , அடிப்படை மாதிரி ) :
''' நிறுவனங்களைப் பற்றிய தகவல்களைச் சேமிப்பதற்கான நினைவக வகுப்பு'''
நிறுவனங்கள்: ஆணையிடுங்கள் = { }
நினைவக_விசை: str = 'நிறுவனங்கள்'
def தெளிவானது ( சுய ) :
சுய . நிறுவனங்கள் = { }
@ சொத்து
def நினைவகம்_மாறிகள் ( சுய ) - > பட்டியல் [ str ] :
''' வினவலுக்கு வழங்கப்பட்ட மாறிகளை துவக்கவும்'''
திரும்ப [ சுய . நினைவகம்_விசை ]
# வாதங்களைப் பயன்படுத்தி நினைவக மாறிகளை வரையறுக்கவும்
def load_memory_variables ( சுய , உள்ளீடுகள்: கட்டளை [ str , ஏதேனும் ] ) - > ஆணையிடுங்கள் [ str , str ] :
''' நினைவகத்திற்கான மாறிகளை அழைக்கவும், அதாவது நிறுவன விசை'''
ஆவணம் = nlp ( உள்ளீடுகள் [ பட்டியல் ( உள்ளீடுகள். விசைகள் ( ) ) [ 0 ] ] )
#ஒரு தனிப்பட்ட அலகுக்கு நினைவகத்தில் சேமிக்கப்படும் நிறுவனங்களை உள்ளமைக்கவும்
நிறுவனங்கள் = [
சுய . நிறுவனங்கள் [ str ( ent ) ] க்கான ent உள்ளே ஆவணம் என்ட்ஸ் என்றால் str ( ent ) உள்ளே சுய . நிறுவனங்கள்
]
திரும்ப { சுய . நினைவகம்_விசை : ' \n ' . சேர ( நிறுவனங்கள் ) }
# நினைவகத்தைப் பயன்படுத்த சேமிக்க_சூழல்() ஐ வரையறுக்கவும்
def சேமிப்பு_சூழல் ( சுய , உள்ளீடுகள்: கட்டளை [ str , ஏதேனும் ] , வெளியீடுகள்: கட்டளை [ str , str ] ) - > இல்லை :
'''இந்த அரட்டையிலிருந்து நினைவகத்தில் கண்காணிப்பை சேமிக்கவும்'''
உரை = உள்ளீடுகள் [ பட்டியல் ( உள்ளீடுகள். விசைகள் ( ) ) [ 0 ] ]
ஆவணம் = nlp ( உரை )
க்கான ent உள்ளே ஆவணம் என்ட்ஸ் :
ent_str = str ( ent )
என்றால் ent_str உள்ளே சுய . நிறுவனங்கள் :
சுய . நிறுவனங்கள் [ ent_str ] + = f ' \n {text}'
வேறு :
சுய . நிறுவனங்கள் [ ent_str ] = உரை

படி 4: ப்ராம்ட் டெம்ப்ளேட்டை உள்ளமைத்தல்

அதன் பிறகு, பயனர்/மனிதன் வழங்கிய உள்ளீட்டின் கட்டமைப்பை விளக்கும் ப்ராம்ட் டெம்ப்ளேட்டை உள்ளமைக்கவும்:

இருந்து லாங்செயின். தூண்டுகிறது . உடனடியாக இறக்குமதி PromptTemplate

டெம்ப்ளேட் = '''பின்வருபவை ஒரு இயந்திரத்திற்கும் மனிதனுக்கும் இடையேயான தொடர்பு ஆகும், அது தெரியாது என்று கூறுகிறது, இயந்திரத்திற்கு பதில் தெரியவில்லை என்றால், இயந்திரம் (AI) அதன் சூழலில் இருந்து விவரங்களை வழங்குகிறது மற்றும் எந்த கேள்விக்கும் பதில் புரியவில்லை என்றால் அது வெறுமனே மன்னிக்கவும் என்கிறார்

நிறுவன தகவல்:

{நிறுவனங்கள்}

தொடர்பு:

மனிதர்: {உள்ளீடு}

AI:'''


உடனடியாக = PromptTemplate ( உள்ளீடு_மாறிகள் = [ 'நிறுவனங்கள்' , 'உள்ளீடு' ] , டெம்ப்ளேட் = டெம்ப்ளேட் )

படி 5: மாதிரியை சோதித்தல்

மாதிரியைச் சோதிப்பதற்கு முன், OpenAI() முறையைப் பயன்படுத்தி LLMஐ உள்ளமைத்து, வாதங்களுடன் ConversationChain() செயல்பாட்டை அமைக்கவும்:

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

உரையாடல் = உரையாடல் சங்கிலி (

llm = llm , உடனடியாக = உடனடியாக , வாய்மொழி = உண்மை , நினைவு = SpacyEntityMemory ( )

)

உரையாடல் மாறி மூலம் கணிப்பு() முறையை அழைக்கும் போது உள்ளீட்டு வாதத்தைப் பயன்படுத்தி மாதிரிக்கு தகவலை வழங்கவும்:

உரையாடல். கணிக்க ( உள்ளீடு = 'ஹாரிசன் இயந்திர கற்றலை விரும்புகிறார்' )

வெளியீடு

மாடல் தகவலை உள்வாங்கி நினைவகத்தில் சேமித்து, உரையாடலைத் தொடர தகவல் தொடர்பான கேள்வியையும் முன்வைத்தது:

நினைவகத்தில் கூடுதல் தகவலைச் சேர்க்க அல்லது தகவலைப் பற்றிய கேள்வியைக் கேட்பதன் மூலம் நினைவகத்தை சோதிக்க பயனர் மாதிரியிலிருந்து கேள்விக்கு பதிலளிக்கலாம்:

உரையாடல். கணிக்க (

உள்ளீடு = 'ஹாரிசனுக்கு பிடித்த பாடம் என்ன'

)

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

LangChain இல் தனிப்பயன் நினைவக வகையைச் சேர்ப்பது அவ்வளவுதான்.

முடிவுரை

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