Kuinka käyttää noutajia LangChainissa?

Kuinka Kayttaa Noutajia Langchainissa



LangChain on kehys, jonka avulla kehittäjät voivat rakentaa suuria kielimalleja (LLM), joita voidaan käyttää vuorovaikutuksessa ihmisten kanssa. Koneiden on opittava ihmisten kieliä ollakseen vuorovaikutuksessa niiden kanssa LangChainin avulla, koska se tarjoaa kaikki tarvittavat kirjastot ja riippuvuudet näiden mallien rakentamiseen.

Tämä viesti osoittaa noutajien käyttöprosessin LangChainissa.

Kuinka käyttää noutajia LangChainissa?

Noutajat toimivat rajapintana mallien ja ihmisten välillä, jotta he voivat käyttää sitä halutun tulosteen saamiseksi luonnollisilla kielillä annetulla syötteellä. Vektorivarastoja käytetään tietojen tallentamiseen, joita voidaan käyttää tiedon/datan saamiseen/poimimiseen.







Noutajat ovat kuitenkin yleisempiä kuin nämä tietokannat. Ne eivät tallenna tietoja, ja niitä käytetään vain tietojen hankkimiseen tai hakemiseen käyttäjille. Jos haluat oppia noutajien rakentamisen ja käytön LangChainin kautta, katso seuraavat vaiheet:



Vaihe 1: Asenna moduulit
Asenna ensin tarvittavat moduulit, kuten LangChain, jotta sen kirjastot ja riippuvuudet voivat jatkaa prosessia:



pip Asentaa langchain





Asenna chromadb-vektorisäilö, jota voidaan käyttää tietokantaan, jotta noutaja voi hakea tietoja varastosta:

pip Asentaa chromadb



Asenna nyt OpenAI-kehys saadaksesi sen kirjastot tekstin upotuksen käyttöä varten ennen noutajan rakentamista:

pip Asentaa openai

Kun olet asentanut kaikki tarvittavat moduulit, määritä ympäristö käyttämällä OpenAI API-avainta:

tuo meille
tuoda getpass

os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API Key:' )

Vaihe 2: Lataa tietojoukko
Suorita nyt seuraava koodi napsauttaaksesi 'Valitse tiedostot' -painiketta ja lataa asiakirja tai tiedosto paikallisesta järjestelmästä:

google.colab-tuontitiedostoista
lähetetty = tiedostot.lataus ( )

Vaihe 3: Tuo kirjastot
Tuo tarvittavat kirjastot rakentaaksesi ja käyttääksesi noutajat LangChainissa, kuten ' Lista ', ' Takaisinsoittoja ', ja paljon muuta:

abc-tuonti ABC, abstrakti menetelmä
kirjoittamalla Import Any, List
langchain.schema tuontiasiakirjasta
langchain.callbacks.managerista tuo takaisinsoittoja

Vaihe 4: Luo yhden rivin hakemiston luonti
Tämä vaihe luo noutajalle indeksin, jota voidaan käyttää vektorivaraston muodostamiseen tuomalla tarvittavat kirjastot:

langchain.chainsista tuonti RetrievalQA
Tuo OpenAI osoitteesta langchain.llms

Lataa tästä tiedot käyttämällä TextLoader() menetelmä vaiheessa 2 ladatun tiedoston polulla:

tuo TextLoader langchain.document_loadersista
loader = TextLoader ( 'liiton_tila.txt' , koodaus = 'utf8' )

Tuo kirjasto VectorstoreIndexCreator LangChainista tietokannan indeksin luomiseksi:

tuo VectorstoreIndexCreator langchain.indexesistä

Määrittele indeksi muuttuja käyttäen VectorstoreIndexCreator()-metodia käyttäen kuormaaja muuttuja:

index = VectorstoreIndexCreator ( ) .from_loaders ( [ kuormaaja ] )

Käytä kyselyä testataksesi hakemistoa hakemalla tiedot asiakirjasta:

kysely = 'Mitä presidentti Zelenskyy sanoi puheessaan'
index.query ( kysely )

Hanki indeksin tiedot siitä, missä tietokannassa on indeksi käyttämällä seuraavaa koodia:

index.vectorstore

Seuraava koodi selittää kaikki tiedot indeksistä, sen tyypistä ja tietokannasta:

index.vectorstore.as_retriever ( )

Käytä indeksiä query()-menetelmällä, joka pyytää asiakirjan yhteenvetoa käyttämällä lähdeargumenttia dokumentin nimen käyttämiseksi:

index.query ( 'Yleinen yhteenveto tämän asiakirjan tiedoista' , noutaja_kwargs = { 'search_kwargs' : { 'suodattaa' : { 'lähde' : 'liiton_tila.txt' } } } )

Vaihe 5: Luo upotuksia
Lataa dokumentti upotuksen luomista varten ja tallenna teksti numeerisessa muodossa käyttämällä vektorivarastoa:

asiakirjat = loader.load ( )

Aloita upotusprosessi käyttämällä text_splitter kappaleiden koon ja päällekkäisyyden argumenttien kanssa:

langchain.text_splitter-tuo CharacterTextSplitter
#using text_splitter luodaksesi asiakirjasta pieniä paloja noutajaa varten
text_splitter = CharacterTextSplitter ( chunk_size = 1000 , chunk_overlap = 0 )
tekstit = text_splitter.split_documents ( asiakirjoja )

Käytä OpenAIEMbeddings()-menetelmää, joka voidaan tuoda LangChainista:

langchain.embeddingsistä tuo OpenAIEmbeddings
embeddings = OpenAIEembeddings ( )

Käytä chromadb-kauppaa dokumentista luodut upotukset tallentamiseen:

langchain.vectorstoresista tuo Chroma
db = Chroma.from_documents ( tekstit, upotukset )

Vaihe 6: Testaa noutaja
Kun upotukset on luotu ja tallennettu tietokantaan, määritä noutajamuuttuja:

noutaja = db.as_retriever ( )

Kutsu ketjuja käyttämällä RetrievalQA()-metodia OpenAI()-funktiolla ja noutajalla sen argumentteina:

qa = HakuQA.from_chain_type ( llm =OpenAI ( ) , ketjun_tyyppi = 'tavaraa' , noutaja =noutaja )

Anna syöte noutajan testaamiseksi käyttämällä kysely muuttuja qa.run()-metodin sisällä:

kysely = 'Mitä presidentti Zelenskyy sanoi puheessaan'
qa.run ( kysely )

Yksinkertaisesti mukauta VectorstoreIndexCreator () käyttää argumenttejaan eri arvojen asettamiseen:

index_creator = VectorstoreIndexCreator (
vectorstore_cls =Chroma,
upottaminen =Avaa AIE-embeddings ( ) ,
text_splitter =CharacterTextSplitter ( chunk_size = 1000 , chunk_overlap = 0 )
)

Siinä kaikki noutajien aloitusprosessista LangChainissa.

Johtopäätös

Käyttääksesi noutajia LangChainissa, asenna vain OpenAI-ympäristön määrittämiseen tarvittavat riippuvuudet ja lataa sitten asiakirja testataksesi noutajat. Rakenna sen jälkeen noutaja käyttämällä abstraktia perusluokkaa tai ABC-kirjastoa ja luo sitten tietokannan indeksi tietojen hakemista varten. Määritä asiakirjan upotukset ja suorita noutaja saadaksesi vertailukelpoisia tuloksia tietokannasta. Tämä viesti on käsitellyt noutajien käyttöprosessia LangChainissa.