Kuidas LangChainis retriivereid kasutada?

Kuidas Langchainis Retriivereid Kasutada



LangChain on raamistik, mis võimaldab arendajatel luua suuri keelemudeleid (LLM), mida saab kasutada inimestega suhtlemiseks. Masinad peavad õppima inimkeeli, et nendega suhelda, kasutades LangChaini, kuna see pakub nende mudelite loomiseks kõiki vajalikke teeke ja sõltuvusi.

See postitus demonstreerib retriiverite kasutamise protsessi LangChainis.

Kuidas LangChainis retriivereid kasutada?

Retriiverid toimivad liidesena mudelite ja inimeste vahel, et nad saaksid seda kasutada soovitud väljundi saamiseks, kasutades loomulikes keeltes pakutavat sisendit. Vektorpoode kasutatakse andmete salvestamiseks, mida saab kasutada teabe/andmete hankimiseks/väljavõtmiseks.







Retriiverid on aga üldisemad kui need andmebaasid. Need ei salvesta andmeid ja neid kasutatakse ainult kasutajate andmete hankimiseks või toomiseks. Retriiverite loomise ja kasutamise õppimiseks LangChaini kaudu vaadake järgmisi samme.



1. samm: installige moodulid
Esmalt installige vajalikud moodulid, nagu LangChain, et selle teegid ja sõltuvused protsessiga jätkata:



pip installida langchain





Installige chromadb vektorpood, mida saab kasutada andmete andmebaasi andmiseks, et retriiver saaks poest andmeid tuua:

pip installida chromadb



Nüüd installige OpenAI raamistik, et hankida selle teegid teksti manustamise kasutamiseks enne retriiveri loomist:

pip installida openai

Pärast kõigi vajalike moodulite installimist seadistage lihtsalt keskkond OpenAI API võtmega:

importida meid
impordi getpass

os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API võti:' )

2. toiming: laadige üles andmestik
Nüüd käivitage klõpsamiseks järgmine kood 'Vali failid' nuppu ja laadige dokument või fail kohalikust süsteemist üles:

google.colabi impordifailidest
üles laaditud = failid.üleslaadimine ( )

3. samm: importige teegid
Importige LangChainis retriiverite loomiseks ja kasutamiseks vajalikud teegid, näiteks ' Nimekiri ', ' Tagasihelistamised ', ja paljud teised:

abc impordist ABC, abstraktne meetod
tippimisest import Any, List
langchain.schema impordi dokumendist
langchain.callbacks.managerist importige tagasihelistamised

4. samm: looge ühe rea indeksi loomine
See samm loob retriiveri indeksi, mida saab kasutada vajalike teekide importimise teel vektormälu moodustamiseks vajalike andmete saamiseks:

langchain.chains impordib RetrievalQA
langchain.llms-ist importige OpenAI

Siin laadige andmed, kasutades TextLoader() meetod sammus 2 üles laaditud faili teega:

importige TextLoader saidilt langchain.document_loaders
loader = TextLoader ( 'liit_riik.txt' , kodeering = 'utf8' )

Impordi raamatukogu VectorstoreIndexCreator LangChainist andmebaasi indeksi loomiseks:

importida VectorstoreIndexCreator saidilt langchain.indexes

Määratlege indeks muutuja, kasutades meetodit VectorstoreIndexCreator() kasutades laadur muutuja:

indeks = VectorstoreIndexCreator ( ) .from_loaders ( [ laadur ] )

Rakendage päring indeksi testimiseks, hankides dokumendist andmed:

päring = 'Mida ütles president Zelenskyy oma kõnes'
index.query ( päring )

Hankige indeksi üksikasjad selle kohta, millises andmebaasis see on indeks kasutades järgmist koodi:

index.vectorstore

Järgmine kood selgitab kõiki üksikasju indeksi, selle tüübi ja andmebaasi kohta:

index.vectorstore.as_retriever ( )

Kasutage indeksit koos query() meetodiga, mis küsib dokumendi kokkuvõtet, kasutades lähteargumenti, et kasutada dokumendi nime:

index.query ( 'Üldine kokkuvõte selle dokumendi andmetest' , retriiver_kwargs = { 'search_kwargs' : { 'filter' : { 'allikas' : 'liit_riik.txt' } } } )

5. samm: looge manustused
Laadige dokument selle manustamise loomiseks ja salvestage tekst numbrilisel kujul, kasutades vektormälu:

dokumendid = loader.load ( )

Alustage manustamisprotsessi kasutades text_splitter koos tükkide suuruse ja kattumise argumentidega:

langchain.text_splitter importida CharacterTextSplitter
#using text_splitter, et luua retriiveri kasutamiseks väikesed dokumendijupid
text_splitter = CharacterTextSplitter ( tüki_suurus = 1000 , chunk_overlap = 0 )
tekstid = text_splitter.split_documents ( dokumente )

Rakendage OpenAIEMbeddings() meetodit, mida saab importida LangChainist:

saidilt langchain.embeddings importige OpenAIEMbeddings
embeddings = OpenAIEembeddings ( )

Kasutage chromadb poodi, et salvestada dokumendist loodud manuseid:

saidilt langchain.vectorstores impordivad Chroma
db = Chroma.from_documents ( tekstid, manused )

6. samm: testige retriiverit
Kui manustused on loodud ja andmebaasi salvestatud, määrake lihtsalt retriiveri muutuja:

retriiver = db.as_retriiver ( )

Kutsuge ahelaid kasutades meetodit RetrievalQA() funktsiooni OpenAI() ja retriiveri argumentidega:

qa = RetrievalQA.from_chain_type ( llm =OpenAI ( ) , ahela_tüüp = 'kraam' , retriiver =retriiver )

Sisestage sisend retriiveri testimiseks, kasutades päring muutuja qa.run() meetodi sees:

päring = 'Mida ütles president Zelenskyy oma kõnes'
qa.run ( päring )

Lihtsalt kohandage VectorstoreIndexCreator () kasutades oma argumente erinevate väärtuste määramiseks:

index_creator = VectorstoreIndexCreator (
vektorpood_cls =Chroma,
kinnistamine =Avage AIE manused ( ) ,
teksti_jagaja =Märgiteksti jagaja ( tüki_suurus = 1000 , chunk_overlap = 0 )
)

See kõik puudutab LangChainis retriiveritega alustamise protsessi.

Järeldus

Retriiverite kasutamiseks LangChainis installige lihtsalt OpenAI keskkonna seadistamiseks vajalikud sõltuvused ja seejärel laadige retriiverite testimiseks dokument üles. Pärast seda looge retriiver abstraktse baasklassi või ABC teegi abil ja seejärel looge andmete toomiseks andmebaasi register. Andmebaasist võrreldavate tulemuste saamiseks konfigureerige dokumendi manustused ja käivitage retriiver. Selles postituses on käsitletud LangChainis retriiverite kasutamise protsessi.