Tento příspěvek bude demonstrovat proces používání retrieverů v LangChain.
Jak používat retrívry v LangChain?
Retrívři fungují jako rozhraní mezi modely a lidmi, takže je mohou použít k získání požadovaného výstupu pomocí vstupu poskytovaného v přirozených jazycích. Vektorové úložiště se používají k ukládání dat, která lze použít k získávání/extrahování informací/dat z nich.
Retrívři jsou však obecnější než tyto databáze. Neukládají žádná data a slouží pouze k získání nebo načtení dat pro uživatele. Chcete-li se naučit proces vytváření a používání retrieverů prostřednictvím LangChain, podívejte se na následující kroky:
Krok 1: Nainstalujte moduly
Nejprve nainstalujte požadované moduly, jako je LangChain, abyste získali jeho knihovny a závislosti pro pokračování v procesu:
pip Nainstalujte langchain
Nainstalujte vektorový obchod chromadb, který lze použít k databázi dat pro retrievera k načtení dat z úložiště:
pip Nainstalujte chromadb
Nyní nainstalujte rámec OpenAI, abyste získali jeho knihovny pro použití vkládání textu před vytvořením retrieveru:
pip Nainstalujte openai
Po instalaci všech požadovaných modulů jednoduše nastavte prostředí pomocí klíče OpenAI API:
importujte násimportovat getpass
os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'Klíč OpenAI API:' )
Krok 2: Nahrajte datovou sadu
Nyní spusťte následující kód a klikněte na 'Vybrat soubory' a nahrajte dokument nebo soubor z místního systému:
uploaded = files.upload ( )
Krok 3: Import knihoven
Importujte požadované knihovny pro sestavení a použití retrieverů v LangChain, jako je „ Seznam ',' Zpětná volání ', a mnoho dalších:
od zadání importovat Libovolný, Seznam
z importního dokumentu langchain.schema
z langchain.callbacks.manager import Zpětná volání
Krok 4: Vytvořte vytvoření jednořádkového indexu
Tento krok vytvoří index pro retriever, který lze použít k získání dat pro vytvoření úložiště vektorů importem požadovaných knihoven:
z langchain.llms importujte OpenAI
Zde načtěte data pomocí TextLoader() metoda s cestou k souboru nahranému v kroku 2:
importujte TextLoader z langchain.document_loadersloader = TextLoader ( 'state_of_the_union.txt' , kódování = 'utf8' )
Import knihovny VectorstoreIndexCreator z LangChain k vytvoření indexu pro databázi:
importujte VectorstoreIndexCreator z langchain.indexesDefinujte index proměnnou pomocí metody VectorstoreIndexCreator() pomocí metody nakladač proměnná:
index = VectorstoreIndexCreator ( ) .from_loaders ( [ nakladač ] )Použijte dotaz k testování indexu načtením dat z dokumentu:
dotaz = „Co řekl prezident Zelenskyj ve svém projevu“index.dotaz ( dotaz )
Získejte podrobnosti o indexu o tom, která databáze má index pomocí následujícího kódu:
index.vectorstoreNásledující kód vysvětlí všechny podrobnosti o indexu, jeho typu a databázi:
index.vectorstore.as_retriever ( )
Chcete-li použít název dokumentu, použijte metodu index with query() s dotazem na shrnutí dokumentu pomocí argumentu source:
index.dotaz ( 'Obecné shrnutí údajů z tohoto dokumentu' , retriever_kwargs = { 'search_kwargs' : { 'filtr' : { 'zdroj' : 'state_of_the_union.txt' } } } )
Krok 5: Vytvořte vložení
Načtěte dokument pro vytvoření jeho vložení a uložte text v číselné podobě pomocí vektorového úložiště:
Spusťte proces vkládání pomocí text_splitter s argumenty velikost a překrytí:
z langchain.text_splitter importujte CharacterTextSplitter#using text_splitter k vytvoření malých částí dokumentu pro použití retrieveru
text_splitter = CharacterTextSplitter ( chunk_size = 1000 , chunk_overlap = 0 )
texty = text_splitter.split_documents ( dokumenty )
Použijte metodu OpenAIEmbeddings(), kterou lze importovat z LangChain:
z langchain.embeddings importujte OpenAIEmbeddingsembeddings = OpenAIEembeddings ( )
Použijte obchod chromadb k uložení vložení vytvořených z dokumentu:
z langchain.vectorstores import Chromadb = Chroma.from_documents ( texty, vložení )
Krok 6: Otestujte retrívr
Jakmile jsou vložení vytvořena a uložena v databázi, jednoduše definujte proměnnou retriever:
Volejte řetězce pomocí metody RetrievalQA() s funkcí OpenAI() a načtením jako jejími argumenty:
qa = RetrievalQA.from_chain_type ( llm = OpenAI ( ) , typ_řetězce = 'věci' , retriever = retrívr )Zadejte vstup pro otestování retrieveru pomocí dotaz proměnná uvnitř metody qa.run():
dotaz = „Co řekl prezident Zelenskyj ve svém projevu“qa.run ( dotaz )
Jednoduše si přizpůsobte VectorstoreIndexCreator () pomocí svých argumentů k nastavení různých hodnot:
index_creator = VectorstoreIndexCreator (vectorstore_cls = Chroma,
vkládání =OpenAIEmbeddings ( ) ,
text_splitter =CharacterTextSplitter ( chunk_size = 1000 , chunk_overlap = 0 )
)
To je vše o procesu, jak začít s retrívry v LangChain.
Závěr
Chcete-li používat retrievery v LangChain, jednoduše nainstalujte závislosti potřebné k nastavení prostředí OpenAI a poté nahrajte dokument k testování retrieverů. Poté vytvořte retriever pomocí abstraktní základní třídy nebo knihovny ABC a poté vytvořte index pro databázi pro načtení dat. Nakonfigurujte vložení pro dokument a spusťte retriever, abyste získali srovnatelné výsledky z databáze. Tento příspěvek rozvedl proces používání retrieverů v LangChain.