Jak používat retrívry v LangChain?

Jak Pouzivat Retrivry V Langchain



LangChain je rámec, který umožňuje vývojářům vytvářet velké jazykové modely (LLM), které lze použít k interakci s lidmi. Stroje se potřebují naučit lidské jazyky, aby s nimi mohly komunikovat pomocí LangChain, protože poskytuje všechny potřebné knihovny a závislosti k sestavení těchto modelů.

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ás
importovat 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:

z importu souborů google.colab
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:

z abc import ABC, abstraktní metoda
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.chains importujte RetrievalQA
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_loaders
loader = 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.indexes

Definujte 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.vectorstore

Ná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ě:

dokumenty = nakladač.načíst ( )

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 OpenAIEmbeddings
embeddings = OpenAIEembeddings ( )

Použijte obchod chromadb k uložení vložení vytvořených z dokumentu:

z langchain.vectorstores import Chroma
db = 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:

retriever = db.as_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.