LangChain இல் பல உள்ளீடுகளுடன் ஒரு சங்கிலியில் நினைவகத்தைச் சேர்க்கும் செயல்முறையை இந்த வழிகாட்டி விளக்கும்.
LangChain இல் பல உள்ளீடுகளுடன் ஒரு சங்கிலியில் நினைவகத்தை எவ்வாறு சேர்ப்பது?
மிக சமீபத்திய செய்திகள் அல்லது தரவைச் சேமிக்க நினைவகத்தை LLMகள் அல்லது சாட்போட்களில் சேர்க்கலாம், இதனால் கட்டளையின் சூழலை மாதிரி புரிந்து கொள்ள முடியும். LangChain இல் பல உள்ளீடுகளைக் கொண்ட ஒரு சங்கிலியில் நினைவகத்தைச் சேர்க்கும் செயல்முறையை அறிய, பின்வரும் படிகளைப் பின்பற்றவும்:
படி 1: தொகுதிகளை நிறுவவும்
முதலில், லாங்செயின் கட்டமைப்பை நிறுவவும், ஏனெனில் இது மொழி மாதிரிகளை உருவாக்க பல்வேறு சார்புகளைக் கொண்டுள்ளது:
pip நிறுவல் langchain
க்ரோமா வெக்டர் ஸ்டோரில் நினைவகம் பயன்படுத்தும் தரவைச் சேமிக்க chromadb ஐ நிறுவவும்:
pip நிறுவ chromadb
டிக்டோக்கன் என்பது பெரிய ஆவணங்களின் சிறிய துண்டுகளை உருவாக்க பயன்படும் டோக்கனைசர் ஆகும், எனவே அவற்றை எளிதாக நிர்வகிக்கலாம்:
pip டிக்டோக்கனை நிறுவவும்
OpenAI என்பது OpenAI() முறையைப் பயன்படுத்தி சங்கிலிகள் மற்றும் LLMகளை உருவாக்கப் பயன்படும் தொகுதியாகும்:
pip install openai
படி 2: சூழலை அமைத்து தரவைப் பதிவேற்றவும்
இந்த செயல்முறைக்கு தேவையான அனைத்து தொகுதிகளையும் நிறுவிய பின் அடுத்த கட்டம் சூழலை அமைக்கிறது OpenAI கணக்கிலிருந்து API விசையைப் பயன்படுத்துதல்:
இறக்குமதி நீஇறக்குமதி கெட்பாஸ்
நீ . தோராயமாக [ 'OPENAI_API_KEY' ] = கெட்பாஸ் . கெட்பாஸ் ( 'OpenAI API விசை:' )
LangChain கட்டமைப்பில் சங்கிலிகளை உருவாக்க கோப்புகள் நூலகத்தைப் பயன்படுத்தி ஆவணங்களைப் பதிவேற்றவும்:
இருந்து கூகிள். ET AL இறக்குமதி கோப்புகள்பதிவேற்றப்பட்டது = கோப்புகள். பதிவேற்றம் ( )
படி 3: நூலகங்களை இறக்குமதி செய்யவும்
ஆவணம் வெற்றிகரமாக பதிவேற்றப்பட்டதும், Langchain தொகுதியிலிருந்து தேவையான நூலகங்களை இறக்குமதி செய்யவும்:
இருந்து லாங்செயின். உட்பொதிப்புகள் . ஓப்பனை இறக்குமதி OpenAIEmbeddingsஇருந்து லாங்செயின். உட்பொதிப்புகள் . ஒருங்கிணைந்த இறக்குமதி CohereEmbeddings
இருந்து லாங்செயின். உரை_பிரிப்பான் இறக்குமதி எழுத்துப் பொறிப்பு
இருந்து லாங்செயின். திசையன் கடைகள் . மீள்_வெக்டார்_தேடல் இறக்குமதி எலாஸ்டிக் வெக்டர் தேடல்
இருந்து லாங்செயின். திசையன் கடைகள் இறக்குமதி குரோமா
இருந்து லாங்செயின். மருத்துவர் கடை . ஆவணம் இறக்குமதி ஆவணம்
படி 4: குரோமா தரவுத்தளத்தைப் பயன்படுத்தி நினைவகத்தை உருவாக்குதல்
இப்போது, முன்பு பதிவேற்றிய ஆவணத்தின் உட்பொதிப்புகள் மற்றும் டோக்கன்களைச் சேமிக்க வெக்டார் இடத்தை உருவாக்கத் தொடங்குங்கள்:
உடன் திறந்த ( 'state_of_the_union.txt' ) என f:ஒன்றியத்தின்_நிலை = f. படி ( )
உரை_பிரிப்பான் = எழுத்துப் பொறிப்பு ( துண்டின்_அளவு = 1000 , துண்டின்_ஒன்றிணைப்பு = 0 )
நூல்கள் = உரை_பிரிப்பான். பிளவு_உரை ( ஒன்றியத்தின்_நிலை )
உட்பொதிப்புகள் = OpenAIEmbeddings ( )
ஆவணத்திலிருந்து உரை மற்றும் உட்பொதிவுகளைச் சேமிப்பதற்காக குரோமா தரவுத்தளத்தை உள்ளமைக்கவும்:
ஆவண தேடல் = குரோமா. இருந்து_உரைகள் (நூல்கள் , உட்பொதிப்புகள் , மெட்டாடேட்டாக்கள் = [ { 'ஆதாரம்' : நான் } க்கான நான் உள்ளே சரகம் ( மட்டுமே ( நூல்கள் ) ) ]
)
வினவல் மாறியில் கட்டளையைக் கேட்டு நினைவகத்தைச் சோதித்து, பின்னர் similar_search() முறையை இயக்கவும்:
வினவல் = 'நேட்டோ எப்போது உருவாக்கப்பட்டது'ஆவணங்கள் = ஆவணத் தேடல். ஒற்றுமை_தேடல் ( வினவல் )
படி 5: ப்ராம்ட் டெம்ப்ளேட்டை உள்ளமைத்தல்
பின்வரும் நூலகங்களை இறக்குமதி செய்வதன் மூலம் அறிவுறுத்தல்களுக்கான டெம்ப்ளேட்டை உள்ளமைக்கும் செயல்முறையை இந்தப் படி விளக்குகிறது:
இருந்து லாங்செயின். சங்கிலிகள் . கேள்வி_பதில் இறக்குமதி load_qa_chainஇருந்து லாங்செயின். llms இறக்குமதி OpenAI
இருந்து லாங்செயின். தூண்டுகிறது இறக்குமதி PromptTemplate
இருந்து லாங்செயின். நினைவு இறக்குமதி உரையாடல் பஃபர் நினைவகம்
அதன் பிறகு, வினவலுக்கு டெம்ப்ளேட் அல்லது கட்டமைப்பை உள்ளமைத்து, மாதிரியில் நினைவகம் சேர்க்கப்பட்டவுடன் சங்கிலியை இயக்கவும்:
டெம்ப்ளேட் = '''நீங்கள் ஒரு மனிதருடன் அரட்டையடிக்கும் ஒரு மாதிரிஒரு நீண்ட ஆவணம் மற்றும் ஒரு கேள்வியிலிருந்து பிரித்தெடுக்கப்பட்ட துண்டுகள் கொடுக்கப்பட்டால், இறுதிப் பதிலை உருவாக்கவும்
{சூழல்}
{hist}
மனிதர்: {உள்ளீடு}
சாட்போட்:'''
உடனடியாக = PromptTemplate (
உள்ளீடு_மாறிகள் = [ 'ஹிஸ்ட்' , 'உள்ளீடு' , 'சூழல்' ] , டெம்ப்ளேட் = டெம்ப்ளேட்
)
நினைவு = உரையாடல் பஃபர் நினைவகம் ( நினைவகம்_விசை = 'ஹிஸ்ட்' , உள்ளீடு_விசை = 'உள்ளீடு' )
சங்கிலி = load_qa_chain (
OpenAI ( வெப்ப நிலை = 0 ) , சங்கிலி_வகை = 'பொருள்' , நினைவு = நினைவு , உடனடியாக = உடனடியாக
)
படி 6: நினைவகத்தை சோதித்தல்
வினவல் மாறியைப் பயன்படுத்தி கேள்வியைக் கேட்டு, அதன் அளவுருக்களுடன் சங்கிலி() முறையை இயக்குவதன் மூலம் மாதிரியைச் சோதிக்க வேண்டிய நேரம் இது:
வினவல் = 'நேட்டோ எப்போது உருவாக்கப்பட்டது'சங்கிலி ( { 'உள்ளீடு_ஆவணங்கள்' : டாக்ஸ் , 'உள்ளீடு' : வினவல் } , திரும்ப_மட்டும்_வெளியீடுகள் = உண்மை )
மாதிரி வழங்கிய பதில் சமீபத்தில் நினைவகத்தில் சேமிக்கப்பட்டதால், இடையக நினைவகத்தில் சேமிக்கப்பட்ட தரவை அச்சிடவும்:
அச்சு ( சங்கிலி. நினைவு . தாங்கல் )
LangChain இல் பல உள்ளீடுகளைக் கொண்ட ஒரு சங்கிலியில் நினைவகத்தைச் சேர்ப்பது பற்றியது.
முடிவுரை
LangChain இல் பல உள்ளீடுகளைக் கொண்ட ஒரு சங்கிலியில் நினைவகத்தைச் சேர்க்க, உரை மற்றும் உட்பொதிவுகளைச் சேமிக்க தொகுதிகள் மற்றும் வெக்டர் ஸ்டோரை நிறுவவும். அதன் பிறகு, உள்ளூர் அமைப்பிலிருந்து தரவு/ஆவணத்தைப் பதிவேற்றவும், பின்னர் LLMக்கான நினைவகத்தை உருவாக்க தரவைச் சேமிப்பதற்குத் தேவையான நூலகங்களை இறக்குமதி செய்யவும். இடையக நினைவகத்தில் மிகச் சமீபத்திய செய்திகளைச் சேமிக்க, பின்னர் செயினுக்கு உரைச் செய்திகளை அனுப்ப, ப்ராம்ட் டெம்ப்ளேட்டை உள்ளமைக்கவும். LangChain இல் பல உள்ளீடுகளைக் கொண்ட ஒரு சங்கிலியில் நினைவகத்தைச் சேர்க்கும் செயல்முறையை இந்த வழிகாட்டி விவரித்துள்ளது.