Tento príspevok bude demonštrovať proces používania retrieverov v LangChain.
Ako používať retrievery v LangChain?
Retrievery fungujú ako rozhranie medzi modelmi a ľuďmi, takže ich môžu použiť na získanie požadovaného výstupu pomocou vstupu poskytovaného v prirodzených jazykoch. Vektorové úložiská sa používajú na ukladanie údajov, ktoré možno použiť na získanie/extrahovanie informácií/údajov.
Retrievery sú však všeobecnejšie ako tieto databázy. Neuchovávajú žiadne údaje a používajú sa iba na získanie alebo načítanie údajov pre používateľov. Ak sa chcete naučiť proces zostavovania a používania retrieverov prostredníctvom LangChain, pozrite si nasledujúce kroky:
Krok 1: Nainštalujte moduly
Najprv nainštalujte požadované moduly ako LangChain, aby ste mohli pokračovať v procese s jeho knižnicami a závislosťami:
pip Inštalácia langchain
Nainštalujte vektorový obchod chromadb, ktorý možno použiť na databázovanie údajov pre retriever na načítanie údajov z obchodu:
pip Inštalácia chromadb
Teraz nainštalujte rámec OpenAI, aby ste získali jeho knižnice na používanie vkladania textu pred vytvorením retrievera:
pip Inštalácia openai
Po nainštalovaní všetkých požadovaných modulov jednoducho nastavte prostredie pomocou kľúča OpenAI API:
importujte násimportovať getpass
os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API Key:' )
Krok 2: Nahrajte množinu údajov
Teraz spustite nasledujúci kód a kliknite na 'Vybrať súbory' a nahrajte dokument alebo súbor z lokálneho systému:
nahrané = súbory.nahrať ( )
Krok 3: Importujte knižnice
Importujte potrebné knižnice na zostavenie a používanie retrieverov v LangChain, ako napríklad „ Zoznam ',' Spätné volania ', a mnoho ďalších:
od zadania importovať Any, List
z langchain.schema importovať dokument
z langchain.callbacks.manager importovať Spätné volania
Krok 4: Vytvorte vytvorenie jedného riadkového indexu
Tento krok vytvorí index pre retriever, ktorý možno použiť na získanie údajov na vytvorenie vektorového úložiska importovaním požadovaných knižníc:
z langchain.llms importujte OpenAI
Tu načítajte údaje pomocou TextLoader() metóda s cestou k súboru nahranému v kroku 2:
importovať TextLoader z langchain.document_loadersloader = TextLoader ( 'state_of_the_union.txt' , kódovanie = 'utf8' )
Importovať knižnicu VectorstoreIndexCreator z LangChain na vytvorenie indexu pre databázu:
importovať VectorstoreIndexCreator z langchain.indexesDefinujte index premennej pomocou metódy VectorstoreIndexCreator() pomocou nakladač premenná:
index = VectorstoreIndexCreator ( ) .from_loaders ( [ nakladač ] )Použite dotaz na testovanie indexu načítaním údajov z dokumentu:
dotaz = 'Čo povedal prezident Zelenskyj vo svojom prejave?'index.dotaz ( dopyt )
Získajte podrobnosti o indexe o tom, ktorá databáza má index pomocou nasledujúceho kódu:
index.vectorstoreNasledujúci kód vysvetlí všetky podrobnosti o indexe, jeho type a databáze:
index.vectorstore.as_retriever ( )
Ak chcete použiť názov dokumentu, použite metódu index s dotazom () a požiadajte o súhrn dokumentu pomocou zdrojového argumentu:
index.dotaz ( 'Všeobecný súhrn údajov z tohto dokumentu' , retriever_kwargs = { 'search_kwargs' : { 'filter' : { 'zdroj' : 'state_of_the_union.txt' } } } )
Krok 5: Vytvorte vloženia
Načítajte dokument na vytvorenie jeho vloženia a uložte text v číselnej forme pomocou vektorového úložiska:
Začnite proces vkladania pomocou text_splitter s argumentmi veľkosti a prekrytia:
z langchain.text_splitter importujte CharacterTextSplitter#using text_splitter na vytvorenie malých častí dokumentu na použitie retrievera
text_splitter = CharacterTextSplitter ( chunk_size = 1000 , chunk_overlap = 0 )
texty = text_splitter.split_documents ( Dokumenty )
Použite metódu OpenAIEmbedings(), ktorú je možné importovať z LangChain:
z langchain.embeddings importovať OpenAIEmbeddingsembeddings = OpenAIEembeddings ( )
Na uloženie vložených prvkov vytvorených z dokumentu použite obchod chromadb:
z langchain.vectorstores import Chromadb = Chroma.from_documents ( texty, vloženia )
Krok 6: Otestujte retriever
Keď sú vloženia vytvorené a uložené v databáze, jednoducho definujte premennú retrievera:
Zavolajte reťazce pomocou metódy RetrievalQA() s funkciou OpenAI() a jej argumentmi:
qa = RetrievalQA.from_chain_type ( llm =OpenAI ( ) , chain_type = 'veci' , retriever = retriever )Poskytnite vstup na testovanie retrievera pomocou dopyt premenná v metóde qa.run():
dotaz = 'Čo povedal prezident Zelenskyj vo svojom prejave?'qa.run ( dopyt )
Jednoducho si prispôsobte VectorstoreIndexCreator () pomocou svojich argumentov na nastavenie rôznych hodnôt:
index_creator = VectorstoreIndexCreator (vectorstore_cls =Chroma,
vkladanie =OpenAIEmbeddings ( ) ,
text_splitter =CharacterTextSplitter ( chunk_size = 1000 , chunk_overlap = 0 )
)
To je všetko o procese, ako začať s retrievermi v LangChain.
Záver
Ak chcete použiť retrievery v LangChain, jednoducho nainštalujte závislosti potrebné na nastavenie prostredia OpenAI a potom nahrajte dokument na testovanie retrieverov. Potom vytvorte retriever pomocou abstraktnej základnej triedy alebo knižnice ABC a potom vytvorte index pre databázu na získanie údajov. Nakonfigurujte vloženia pre dokument a spustite retriever, aby ste získali porovnateľné výsledky z databázy. Tento príspevok rozpracoval proces používania retrieverov v LangChain.