லாங்செயினில் ரீட்ரீவர்களைப் பயன்படுத்தும் செயல்முறையை இந்த இடுகை விளக்குகிறது.
LangChain இல் Retrievers ஐ எவ்வாறு பயன்படுத்துவது?
மாதிரிகள் மற்றும் மனிதர்களுக்கு இடையேயான இடைமுகமாக ரீட்ரீவர்கள் செயல்படுவதால், இயற்கை மொழிகளில் வழங்கப்பட்ட உள்ளீட்டைப் பயன்படுத்தி விரும்பிய வெளியீட்டைப் பெற அதைப் பயன்படுத்தலாம். வெக்டார் ஸ்டோர்கள் தரவைச் சேமிப்பதற்காகப் பயன்படுத்தப்படுகின்றன, அவை தகவல்களைப் பெற/பிரித்தெடுக்கப் பயன்படும்.
இருப்பினும், இந்த தரவுத்தளங்களை விட மீட்டெடுப்பவர்கள் மிகவும் பொதுவானவை. அவை எந்த தரவையும் சேமித்து வைப்பதில்லை மற்றும் பயனர்களுக்கான தரவைப் பெற அல்லது மீட்டெடுக்க மட்டுமே பயன்படுத்தப்படுகின்றன. லாங்செயின் மூலம் மீட்டெடுப்புகளை உருவாக்கி பயன்படுத்தும் செயல்முறையை அறிய, பின்வரும் படிகளைப் பார்க்கவும்:
படி 1: தொகுதிகளை நிறுவவும்
முதலில், LangChain போன்ற தேவையான தொகுதிக்கூறுகளை நிறுவவும், அதன் நூலகங்கள் மற்றும் சார்புகளை செயல்முறையுடன் தொடரவும்:
பிப் நிறுவு லாங்செயின்
ஸ்டோரில் இருந்து தரவைப் பெற, ரெட்ரீவருக்கான தரவுத்தளத் தரவைப் பயன்படுத்தக்கூடிய chromadb வெக்டர் ஸ்டோரை நிறுவவும்:
பிப் நிறுவு குரோமட்ப்
இப்போது, ரீட்ரீவரை உருவாக்குவதற்கு முன், உரை உட்பொதிப்பைப் பயன்படுத்துவதற்கு அதன் நூலகங்களைப் பெற OpenAI கட்டமைப்பை நிறுவவும்:
பிப் நிறுவு ஓப்பனை
தேவையான அனைத்து தொகுதிகளையும் நிறுவிய பின், OpenAI API விசையைப் பயன்படுத்தி சூழலை அமைக்கவும்:
எங்களை இறக்குமதிgetpass இறக்குமதி
os.சூழல் [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API விசை:' )
படி 2: தரவுத்தொகுப்பைப் பதிவேற்றவும்
இப்போது, கிளிக் செய்ய பின்வரும் குறியீட்டை இயக்கவும் 'கோப்புகளைத் தேர்ந்தெடு' பொத்தான் மற்றும் ஆவணம் அல்லது கோப்பை உள்ளூர் அமைப்பிலிருந்து பதிவேற்றவும்:
பதிவேற்றப்பட்டது = கோப்புகள். பதிவேற்றம் ( )
படி 3: நூலகங்களை இறக்குமதி செய்யவும்
லாங்செயினில் உள்ள மீட்டெடுப்புகளை உருவாக்க மற்றும் பயன்படுத்த தேவையான நூலகங்களை இறக்குமதி செய்யவும் ' பட்டியல் ',' திரும்பப் பெறுதல் ', மற்றும் இன்னும் பல:
இறக்குமதி எதையும் தட்டச்சு செய்வதிலிருந்து, பட்டியல்
langchain.schema இறக்குமதி ஆவணத்திலிருந்து
langchain.callbacks.managerல் இருந்து கால்பேக்குகளை இறக்குமதி செய்க
படி 4: ஒரு வரி குறியீட்டு உருவாக்கத்தை உருவாக்கவும்
தேவையான நூலகங்களை இறக்குமதி செய்வதன் மூலம் வெக்டார் ஸ்டோரை உருவாக்குவதற்கான தரவைப் பெறுவதற்குப் பயன்படுத்தக்கூடிய ரெட்ரீவருக்கான குறியீட்டை இந்தப் படி உருவாக்குகிறது:
langchain.llms இலிருந்து OpenAIஐ இறக்குமதி செய்கிறது
இங்கே, ஐப் பயன்படுத்தி தரவை ஏற்றவும் டெக்ஸ்ட்லோடர்() படி 2 இல் பதிவேற்றப்பட்ட கோப்பின் பாதையுடன் கூடிய முறை:
langchain.document_loaders இலிருந்து TextLoader ஐ இறக்குமதி செய்கஏற்றி = TextLoader ( 'state_of_the_union.txt' , குறியாக்கம் = 'utf8' )
நூலகத்தை இறக்குமதி செய் வெக்டர்ஸ்டோர்இண்டெக்ஸ் கிரியேட்டர் தரவுத்தளத்திற்கான குறியீட்டை உருவாக்க LangChain இலிருந்து:
langchain.indexes இலிருந்து VectorstoreIndexCreator ஐ இறக்குமதி செய்யவும்வரையறுக்கவும் குறியீட்டு VectorstoreIndexCreator() முறையைப் பயன்படுத்தி மாறி ஏற்றி மாறி:
குறியீட்டு = VectorstoreIndexCreator ( ) .from_loaders ( [ ஏற்றி ] )ஆவணத்திலிருந்து தரவைப் பெறுவதன் மூலம் குறியீட்டைச் சோதிக்க வினவலைப் பயன்படுத்தவும்:
வினவல் = 'ஜனாதிபதி ஜெலென்ஸ்கி தனது உரையில் என்ன சொன்னார்'index.query ( வினவல் )
எந்த தரவுத்தளத்தில் உள்ளது என்ற குறியீட்டின் விவரங்களைப் பெறவும் குறியீட்டு பின்வரும் குறியீட்டைப் பயன்படுத்தி:
index.vectorstoreபின்வரும் குறியீடு குறியீட்டு, அதன் வகை மற்றும் தரவுத்தளம் பற்றிய அனைத்து விவரங்களையும் விளக்குகிறது:
index.vectorstore.as_retriever ( )
ஆவணத்தின் பெயரைப் பயன்படுத்த மூல வாதத்தைப் பயன்படுத்தி ஆவணத்தின் சுருக்கத்தைக் கேட்கும் வினவல்() முறையுடன் குறியீட்டைப் பயன்படுத்தவும்:
index.query ( 'இந்த ஆவணத்திலிருந்து தரவுகளின் பொதுவான சுருக்கம்' , retriever_kwargs = { 'search_kwargs' : { 'வடிகட்டி' : { 'ஆதாரம்' : 'state_of_the_union.txt' } } } )
படி 5: உட்பொதிவுகளை உருவாக்கவும்
அதன் உட்பொதிப்பை உருவாக்க ஆவணத்தை ஏற்றவும் மற்றும் திசையன் கடையைப் பயன்படுத்தி உரையை எண் வடிவத்தில் சேமிக்கவும்:
ஐப் பயன்படுத்தி உட்பொதிக்கும் செயல்முறையைத் தொடங்கவும் உரை_பிரிப்பான் துகள்களின் அளவு மற்றும் ஒன்றுடன் ஒன்று வாதங்களுடன்:
langchain.text_splitter இலிருந்து CharacterTextSplitter இறக்குமதிரெட்ரீவரைப் பயன்படுத்த ஆவணத்தின் சிறிய பகுதிகளை உருவாக்க உரை_பிரிப்பினைப் பயன்படுத்துதல்
text_splitter = எழுத்துப் பொறிப்பு ( துண்டின்_அளவு = 1000 , துண்டின்_மேற்பரப்பு = 0 )
உரைகள் = text_splitter.split_documents ( ஆவணங்கள் )
LangChain இலிருந்து இறக்குமதி செய்யக்கூடிய OpenAIEmbeddings() முறையைப் பயன்படுத்தவும்:
langchain.embeddings இலிருந்து OpenAIEmbeddings ஐ இறக்குமதி செய்கிறதுஉட்பொதிப்புகள் = OpenAIEemeddings ( )
ஆவணத்திலிருந்து உருவாக்கப்பட்ட உட்பொதிவுகளைச் சேமிக்க, chromadb store ஐப் பயன்படுத்தவும்:
langchain.vectorstores இலிருந்து குரோமாவை இறக்குமதி செய்கிறதுdb = Chroma.from_documents ( உரைகள், உட்பொதிப்புகள் )
படி 6: ரெட்ரீவரை சோதிக்கவும்
உட்பொதிப்புகள் உருவாக்கப்பட்டு தரவுத்தளத்தில் சேமிக்கப்பட்டவுடன், ரீட்ரீவர் மாறியை வரையறுக்கவும்:
RetrievalQA() முறையை OpenAI() செயல்பாடு மற்றும் ரீட்ரீவரை அதன் வாதங்களாகப் பயன்படுத்தி சங்கிலிகளை அழைக்கவும்:
qa = RetrievalQA.from_chain_type ( llm =OpenAI ( ) , சங்கிலி_வகை = 'பொருள்' , மீட்பவர் = மீட்பவர் )ரெட்ரீவரைப் பயன்படுத்தி சோதனை செய்ய உள்ளீட்டை வழங்கவும் வினவல் qa.run() முறையின் உள்ளே மாறி:
வினவல் = 'ஜனாதிபதி ஜெலென்ஸ்கி தனது உரையில் என்ன சொன்னார்'qa.ரன் ( வினவல் )
வெறுமனே தனிப்பயனாக்கவும் வெக்டர்ஸ்டோர் இன்டெக்ஸ் கிரியேட்டர் () வெவ்வேறு மதிப்புகளை அமைக்க அதன் வாதங்களைப் பயன்படுத்துதல்:
index_creator = VectorstoreIndexCreator (vectorstore_cls = குரோமா,
உட்பொதித்தல் =OpenAIEmbeddings ( ) ,
உரை_பிரிப்பான் =CharacterTextSplitter ( துண்டின்_அளவு = 1000 , துண்டின்_ஒன்றிணைப்பு = 0 )
)
LangChain இல் ரீட்ரீவர்களுடன் தொடங்கும் செயல்முறையைப் பற்றியது இதுவே.
முடிவுரை
LangChain இல் ரீட்ரீவர்களைப் பயன்படுத்த, OpenAI சூழலை அமைப்பதற்குத் தேவையான சார்புகளை நிறுவவும், பின்னர் மீட்டெடுப்புகளைச் சோதிக்க ஆவணத்தைப் பதிவேற்றவும். அதன் பிறகு, ஒரு சுருக்க அடிப்படை வகுப்பு அல்லது ABC நூலகத்தைப் பயன்படுத்தி ரெட்ரீவரை உருவாக்கவும், பின்னர் தரவை மீட்டெடுக்க தரவுத்தளத்திற்கான குறியீட்டை உருவாக்கவும். ஆவணத்திற்கான உட்பொதிவுகளை உள்ளமைத்து, தரவுத்தளத்திலிருந்து ஒப்பிடக்கூடிய முடிவுகளைப் பெற, ரெட்ரீவரை இயக்கவும். இந்த இடுகை லாங்செயினில் ரீட்ரீவர்களைப் பயன்படுத்துவதற்கான செயல்முறையை விரிவாகக் கூறியுள்ளது.