Kuidas kasutada VectorStoreRetrieverMemoryt LangChainis?

Kuidas Kasutada Vectorstoreretrievermemoryt Langchainis



Suured keelemudelid või LLM-id on lahendus loomuliku keele töötlemise probleemidele, mis on loodud LangChaini raamistikku kasutades. Moodul LangChain pakub kõiki vajalikke sõltuvusi või teeke vestlusmudelite või LLM-ide kujundamiseks. Samuti saab kasutaja seada retriiveri mudelite abil vektormäludest või andmebaasidest andmete eraldamiseks.

See juhend illustreerib, kuidas kasutada VectorStoreRetrieverMemoryt LangChaini raamistiku abil.

Kuidas kasutada VectorStoreRetrieverMemoryt LangChainis?

VectorStoreRetrieverMemory on LangChaini teek, mida saab kasutada mälust teabe/andmete eraldamiseks vektorisalvede abil. Vektorpoode saab kasutada andmete salvestamiseks ja haldamiseks, et teavet tõhusalt välja võtta vastavalt viipale või päringule.







VectorStoreRetrieverMemory LangChainis kasutamise protsessi õppimiseks lugege lihtsalt läbi järgmine juhend:



1. samm: installige moodulid

Käivitage mäluretriiveri kasutamise protsess, installides LangChaini, kasutades käsku pip:



pip install langchain





Semantilise sarnasuse otsingu abil andmete hankimiseks installige FAISS-i moodulid:

pip installi faiss-gpu



Installige chromadb-moodul Chroma andmebaasi kasutamiseks. See töötab vektormäluna, et luua retriiveri mälu:

pip install chromadb

Installimiseks on vaja veel ühte moodulit tiktoken, mida saab kasutada žetoonide loomiseks, teisendades andmed väiksemateks tükkideks:

pip install tiktoken

Installige OpenAI moodul, et kasutada selle teeke LLM-ide või vestlusrobotite loomiseks selle keskkonna abil:

pip install openai

Seadistage keskkond Pythoni IDE-s või sülearvutis, kasutades OpenAI konto API-võtit:

importida sina

importida saada pass

sina . umbes [ 'OPENAI_API_KEY' ] = saada pass . saada pass ( 'OpenAI API võti:' )

2. samm: importige teegid

Järgmine samm on saada nendest moodulitest teegid, et kasutada LangChainis mäluretriiverit:

alates langchain. viipasid importida PromptMall

alates kuupäev Kellaaeg importida kuupäev Kellaaeg

alates langchain. llms importida OpenAI

alates langchain. manused . openai importida OpenAIEembeddings

alates langchain. ketid importida Vestlusahel

alates langchain. mälu importida VectorStoreRetrieverMemory

3. samm: Vector Store'i lähtestamine

See juhend kasutab pärast FAISS-i teegi importimist Chroma andmebaasi andmete ekstraheerimiseks sisendkäsuga:

importida faiss

alates langchain. arstipood importida InMemoryDocstore
#teekide importimine andmebaaside või vektorisalvede konfigureerimiseks
alates langchain. vektorpoed importida FAISS

#loo manuseid ja tekste, et neid vektorpoodidesse salvestada
manustamise_suurus = 1536
indeks = faiss. IndeksFlatL2 ( manustamise_suurus )
embedding_fn = OpenAIEembeddings ( ) . embed_query
vektorpood = FAISS ( embedding_fn , indeks , InMemoryDocstore ( { } ) , { } )

4. samm: ehitage retriiver, mida toetab vektorpood

Looge mälu, et salvestada vestluse uusimad sõnumid ja saada vestluse kontekst.

retriiver = vektorpood. retriiverina ( search_kwargs = dikt ( k = 1 ) )
mälu = VectorStoreRetrieverMemory ( retriiver = retriiver )

mälu. salvesta_kontekst ( { 'sisend' : 'Mulle meeldib pitsat süüa' } , { 'väljund' : 'fantastiline' } )
mälu. salvesta_kontekst ( { 'sisend' : 'Ma olen jalgpallis hea' } , { 'väljund' : 'Okei' } )
mälu. salvesta_kontekst ( { 'sisend' : 'Mulle ei meeldi poliitika' } , { 'väljund' : 'kindlasti' } )

Testige mudeli mälu, kasutades kasutaja antud sisendit koos selle ajalooga:

printida ( mälu. load_memory_variables ( { 'viip' : 'Mis sporti ma peaksin vaatama?' } ) [ 'ajalugu' ] )

5. samm: retriiveri kasutamine ahelas

Järgmine samm on mäluretriiveri kasutamine kettidega, luues OpenAI() meetodi abil LLM-i ja konfigureerides viipamalli:

llm = OpenAI ( temperatuuri = 0 )
_DEFAULT_MPLATE = '''See on inimese ja masina vaheline suhtlus
Süsteem toodab konteksti kasutades kasulikku teavet koos üksikasjadega
Kui süsteemil pole teie jaoks vastust, ütleb ta lihtsalt, et mul pole vastust

Oluline teave vestlusest:
{ajalugu}
(kui tekst pole asjakohane, ärge seda kasutage)

Praegune vestlus:
Inimene: {input}
AI:'''

KIIRE = PromptMall (
sisend_muutujad = [ 'ajalugu' , 'sisend' ] , malli = _DEFAULT_MPLATE
)
#konfigureerige ConversationChain(), kasutades selle parameetrite väärtusi
vestlus_kokkuvõttega = Vestlusahel (
llm = llm ,
viip = KIIRE ,
mälu = mälu ,
paljusõnaline = Tõsi
)
vestlus_kokkuvõttega. ennustada ( sisend = 'Tere, minu nimi on Perry, mis toimub?' )

Väljund

Käsu täitmine käivitab ahela ja kuvab mudeli või LLM-i vastuse:

Jätkake vestlust, kasutades vektorpoodi salvestatud andmetel põhinevat viipa:

vestlus_kokkuvõttega. ennustada ( sisend = 'mis on mu lemmik spordiala?' )

Eelmised sõnumid salvestatakse mudeli mällu, mida mudel saab kasutada sõnumi konteksti mõistmiseks:

vestlus_kokkuvõttega. ennustada ( sisend = 'Mis on mu lemmiktoit' )

Hankige ühes eelmises sõnumis mudelile antud vastus, et kontrollida, kuidas mäluretriiver töötab vestlusmudeliga.

vestlus_kokkuvõttega. ennustada ( sisend = 'Mis mu nimi on?' )

Mudel on mällu salvestatud andmete sarnasuse otsingu abil väljundi õigesti kuvanud:

See kõik puudutab vektorpoe retriiveri kasutamist LangChainis.

Järeldus

LangChainis vektorsalongil põhineva mäluretriiveri kasutamiseks installige lihtsalt moodulid ja raamistikud ning seadistage keskkond. Pärast seda importige moodulitest teegid, et luua andmebaas Chroma abil ja seejärel määrake viipamall. Testige retriiverit pärast andmete mällu salvestamist, alustades vestlust ja esitades eelmiste sõnumitega seotud küsimusi. Selles juhendis on kirjeldatud LangChainis VectorStoreRetrieverMemory teegi kasutamise protsessi.