LangChain கட்டமைப்பைப் பயன்படுத்தி VectorStoreRetrieverMemory ஐ எவ்வாறு பயன்படுத்துவது என்பதை இந்த வழிகாட்டி விளக்குகிறது.
LangChain இல் VectorStoreRetrieverMemory ஐ எவ்வாறு பயன்படுத்துவது?
VectorStoreRetrieverMemory என்பது LangChain இன் நூலகமாகும், இது திசையன் ஸ்டோர்களைப் பயன்படுத்தி நினைவகத்திலிருந்து தகவல்/தரவைப் பிரித்தெடுக்கப் பயன்படுகிறது. ப்ராம்ட் அல்லது வினவலுக்கு ஏற்ப தகவலை திறம்பட பிரித்தெடுக்க, தரவைச் சேமிக்கவும் நிர்வகிக்கவும் வெக்டர் ஸ்டோர்களைப் பயன்படுத்தலாம்.
LangChain இல் VectorStoreRetrieverMemory ஐப் பயன்படுத்துவதற்கான செயல்முறையை அறிய, பின்வரும் வழிகாட்டியைப் பார்க்கவும்:
படி 1: தொகுதிகளை நிறுவவும்
பிப் கட்டளையைப் பயன்படுத்தி LangChain ஐ நிறுவுவதன் மூலம் நினைவக மீட்டெடுப்பைப் பயன்படுத்துவதற்கான செயல்முறையைத் தொடங்கவும்:
pip நிறுவல் langchain
சொற்பொருள் ஒற்றுமை தேடலைப் பயன்படுத்தி தரவைப் பெற FAISS தொகுதிகளை நிறுவவும்:
pip நிறுவல் faiss-gpu
குரோமா தரவுத்தளத்தைப் பயன்படுத்த chromadb தொகுதியை நிறுவவும். ரெட்ரீவருக்கான நினைவகத்தை உருவாக்க இது திசையன் கடையாக செயல்படுகிறது:
pip நிறுவ chromadb
மற்றொரு தொகுதி டிக்டோக்கன் நிறுவ வேண்டும், இது தரவை சிறிய துண்டுகளாக மாற்றுவதன் மூலம் டோக்கன்களை உருவாக்க பயன்படுகிறது:
pip டிக்டோக்கனை நிறுவவும்
அதன் சூழலைப் பயன்படுத்தி LLMகள் அல்லது சாட்போட்களை உருவாக்க அதன் நூலகங்களைப் பயன்படுத்த OpenAI தொகுதியை நிறுவவும்:
pip install openai
சூழலை அமைக்கவும் OpenAI கணக்கிலிருந்து API விசையைப் பயன்படுத்தி Python IDE அல்லது நோட்புக்கில்:
இறக்குமதி நீஇறக்குமதி கெட்பாஸ்
நீ . தோராயமாக [ 'OPENAI_API_KEY' ] = கெட்பாஸ் . கெட்பாஸ் ( 'OpenAI API விசை:' )
படி 2: நூலகங்களை இறக்குமதி செய்யவும்
லாங்செயினில் மெமரி ரிட்ரீவரைப் பயன்படுத்துவதற்கு இந்த தொகுதிகளிலிருந்து நூலகங்களைப் பெறுவது அடுத்த படியாகும்:
இருந்து லாங்செயின். தூண்டுகிறது இறக்குமதி PromptTemplateஇருந்து தேதி நேரம் இறக்குமதி தேதி நேரம்
இருந்து லாங்செயின். llms இறக்குமதி OpenAI
இருந்து லாங்செயின். உட்பொதிப்புகள் . ஓப்பனை இறக்குமதி OpenAIEmbeddings
இருந்து லாங்செயின். சங்கிலிகள் இறக்குமதி உரையாடல் சங்கிலி
இருந்து லாங்செயின். நினைவு இறக்குமதி VectorStoreRetrieverMemory
படி 3: வெக்டர் ஸ்டோரை துவக்குதல்
உள்ளீட்டு கட்டளையைப் பயன்படுத்தி தரவைப் பிரித்தெடுக்க FAISS நூலகத்தை இறக்குமதி செய்த பிறகு இந்த வழிகாட்டி குரோமா தரவுத்தளத்தைப் பயன்படுத்துகிறது:
இறக்குமதி ஃபைஸ்இருந்து லாங்செயின். மருத்துவர் கடை இறக்குமதி InMemoryDocstore
தரவுத்தளங்கள் அல்லது வெக்டர் ஸ்டோர்களை உள்ளமைக்க # நூலகங்களை இறக்குமதி செய்தல்
இருந்து லாங்செயின். திசையன் கடைகள் இறக்குமதி FAISS
#வெக்டர் கடைகளில் அவற்றைச் சேமிக்க உட்பொதிவுகள் மற்றும் உரைகளை உருவாக்கவும்
உட்பொதித்தல்_அளவு = 1536
குறியீட்டு = ஃபைஸ். IndexFlatL2 ( உட்பொதித்தல்_அளவு )
உட்பொதித்தல்_fn = OpenAIEmbeddings ( ) . உட்பொதி_வினவல்
திசையன் கடை = FAISS ( உட்பொதித்தல்_fn , குறியீட்டு , InMemoryDocstore ( { } ) , { } )
படி 4: வெக்டர் ஸ்டோரின் ஆதரவுடன் ரெட்ரீவரை உருவாக்குதல்
உரையாடலில் சமீபத்திய செய்திகளைச் சேமிக்க நினைவகத்தை உருவாக்கவும் மற்றும் அரட்டையின் சூழலைப் பெறவும்:
மீட்பவர் = திசையன் கடை. என_ரீட்ரீவர் ( தேடல்_குவார்க்ஸ் = ஆணையிடுங்கள் ( கே = 1 ) )நினைவு = VectorStoreRetrieverMemory ( மீட்பவர் = மீட்பவர் )
நினைவு. சேமிப்பு_சூழல் ( { 'உள்ளீடு' : 'நான் பீட்சா சாப்பிட விரும்புகிறேன்' } , { 'வெளியீடு' : 'அருமையான' } )
நினைவு. சேமிப்பு_சூழல் ( { 'உள்ளீடு' : 'நான் கால்பந்தில் நல்லவன்' } , { 'வெளியீடு' : 'சரி' } )
நினைவு. சேமிப்பு_சூழல் ( { 'உள்ளீடு' : 'எனக்கு அரசியல் பிடிக்காது' } , { 'வெளியீடு' : 'நிச்சயம்' } )
அதன் வரலாற்றுடன் பயனர் வழங்கிய உள்ளீட்டைப் பயன்படுத்தி மாதிரியின் நினைவகத்தை சோதிக்கவும்:
அச்சு ( நினைவு. load_memory_variables ( { 'உடனடி' : 'நான் என்ன விளையாட்டு பார்க்க வேண்டும்?' } ) [ 'வரலாறு' ] )
படி 5: ஒரு சங்கிலியில் ரெட்ரீவரைப் பயன்படுத்துதல்
அடுத்த படியானது, OpenAI() முறையைப் பயன்படுத்தி LLM ஐ உருவாக்கி, ப்ராம்ட் டெம்ப்ளேட்டை உள்ளமைப்பதன் மூலம் சங்கிலிகளுடன் நினைவக மீட்டெடுப்பைப் பயன்படுத்துவதாகும்:
llm = OpenAI ( வெப்ப நிலை = 0 )_DEFAULT_TEMPLATE = '''இது ஒரு மனிதனுக்கும் இயந்திரத்திற்கும் இடையேயான தொடர்பு
கணினியானது சூழலைப் பயன்படுத்தி விவரங்களுடன் பயனுள்ள தகவலை உருவாக்குகிறது
கணினியில் உங்களுக்கான பதில் இல்லை என்றால், அது என்னிடம் பதில் இல்லை என்று கூறுகிறது
உரையாடலில் இருந்து முக்கியமான தகவல்கள்:
{வரலாறு}
(உரை பொருத்தமானதாக இல்லை என்றால், அதைப் பயன்படுத்த வேண்டாம்)
தற்போதைய அரட்டை:
மனிதர்: {உள்ளீடு}
AI:'''
ப்ராம்ப்ட் = PromptTemplate (
உள்ளீடு_மாறிகள் = [ 'வரலாறு' , 'உள்ளீடு' ] , டெம்ப்ளேட் = _DEFAULT_TEMPLATE
)
#ConversationChain()ஐ அதன் அளவுருக்களுக்கான மதிப்புகளைப் பயன்படுத்தி கட்டமைக்கவும்
உரையாடல்_சுருக்கத்துடன் = உரையாடல் சங்கிலி (
llm = llm ,
உடனடியாக = ப்ராம்ப்ட் ,
நினைவு = நினைவு ,
வாய்மொழி = உண்மை
)
உரையாடல்_சுருக்கத்துடன். கணிக்க ( உள்ளீடு = 'ஹாய், என் பெயர் பெர்ரி, என்ன விஷயம்?' )
வெளியீடு
கட்டளையை இயக்குவது சங்கிலியை இயக்குகிறது மற்றும் மாதிரி அல்லது LLM வழங்கிய பதிலைக் காட்டுகிறது:
திசையன் ஸ்டோரில் சேமிக்கப்பட்ட தரவின் அடிப்படையில் ப்ராம்ட்டைப் பயன்படுத்தி உரையாடலைத் தொடரவும்:
உரையாடல்_சுருக்கத்துடன். கணிக்க ( உள்ளீடு = 'எனக்கு பிடித்த விளையாட்டு எது?' )
முந்தைய செய்திகள் மாதிரியின் நினைவகத்தில் சேமிக்கப்பட்டுள்ளன, இது செய்தியின் சூழலைப் புரிந்துகொள்ள மாதிரியால் பயன்படுத்தப்படலாம்:
உரையாடல்_சுருக்கத்துடன். கணிக்க ( உள்ளீடு = 'எனக்கு பிடித்த உணவு எது' )
அரட்டை மாதிரியுடன் நினைவக மீட்டெடுப்பு எவ்வாறு செயல்படுகிறது என்பதைச் சரிபார்க்க முந்தைய செய்திகளில் ஒன்றில் மாதிரிக்கு வழங்கப்பட்ட பதிலைப் பெறவும்:
உரையாடல்_சுருக்கத்துடன். கணிக்க ( உள்ளீடு = 'என்னுடைய பெயர் என்ன?' )நினைவகத்தில் சேமிக்கப்பட்ட தரவிலிருந்து ஒற்றுமை தேடலைப் பயன்படுத்தி மாதிரியானது வெளியீட்டை சரியாகக் காட்டுகிறது:
LangChain இல் வெக்டர் ஸ்டோர் ரெட்ரீவரைப் பயன்படுத்துவது அவ்வளவுதான்.
முடிவுரை
லாங்செயினில் உள்ள வெக்டர் ஸ்டோரின் அடிப்படையில் மெமரி ரெட்ரீவரைப் பயன்படுத்த, தொகுதிகள் மற்றும் கட்டமைப்புகளை நிறுவி சூழலை அமைக்கவும். அதன் பிறகு, குரோமாவைப் பயன்படுத்தி தரவுத்தளத்தை உருவாக்க தொகுதிகளிலிருந்து நூலகங்களை இறக்குமதி செய்து, பின்னர் ப்ராம்ட் டெம்ப்ளேட்டை அமைக்கவும். உரையாடலைத் தொடங்கி, முந்தைய செய்திகள் தொடர்பான கேள்விகளைக் கேட்பதன் மூலம் நினைவகத்தில் தரவைச் சேமித்த பிறகு ரெட்ரீவரைச் சோதிக்கவும். LangChain இல் VectorStoreRetrieverMemory நூலகத்தைப் பயன்படுத்தும் செயல்முறையை இந்த வழிகாட்டி விரிவாகக் கூறியுள்ளது.