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 meilletuoda 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ä:
lähetetty = tiedostot.lataus ( )
Vaihe 3: Tuo kirjastot
Tuo tarvittavat kirjastot rakentaaksesi ja käyttääksesi noutajat LangChainissa, kuten ' Lista ', ' Takaisinsoittoja ', ja paljon muuta:
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:
Tuo OpenAI osoitteesta langchain.llms
Lataa tästä tiedot käyttämällä TextLoader() menetelmä vaiheessa 2 ladatun tiedoston polulla:
tuo TextLoader langchain.document_loadersistaloader = 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.vectorstoreSeuraava 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:
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 OpenAIEmbeddingsembeddings = OpenAIEembeddings ( )
Käytä chromadb-kauppaa dokumentista luodut upotukset tallentamiseen:
langchain.vectorstoresista tuo Chromadb = Chroma.from_documents ( tekstit, upotukset )
Vaihe 6: Testaa noutaja
Kun upotukset on luotu ja tallennettu tietokantaan, määritä noutajamuuttuja:
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.