Kā lietot VectorStoreRetrieverMemory programmā LangChain?

Ka Lietot Vectorstoreretrievermemory Programma Langchain



Lielie valodu modeļi vai LLM ir risinājums dabiskās valodas apstrādes problēmām, kas tiek veidotas, izmantojot LangChain ietvaru. LangChain modulis nodrošina visas nepieciešamās atkarības vai bibliotēkas tērzēšanas modeļu vai LLM projektēšanai. Lietotājs var arī iestatīt retrīveri datu ieguvei no vektoru krātuvēm vai datu bāzēm, izmantojot modeļus.

Šī rokasgrāmata ilustrēs, kā izmantot VectorStoreRetrieverMemory, izmantojot LangChain sistēmu.

Kā lietot VectorStoreRetrieverMemory programmā LangChain?

VectorStoreRetrieverMemory ir LangChain bibliotēka, ko var izmantot, lai iegūtu informāciju/datus no atmiņas, izmantojot vektoru krātuves. Vektoru veikalus var izmantot datu glabāšanai un pārvaldībai, lai efektīvi iegūtu informāciju atbilstoši uzvednei vai vaicājumam.







Lai uzzinātu VectorStoreRetrieverMemory lietošanas procesu programmā LangChain, vienkārši izpildiet šo rokasgrāmatu:



1. darbība: instalējiet moduļus

Sāciet atmiņas retrīvera lietošanas procesu, instalējot LangChain, izmantojot komandu pip:



pip instalēt langchain





Instalējiet FAISS moduļus, lai iegūtu datus, izmantojot semantiskās līdzības meklēšanu:

pip instalēt faiss-gpu



Instalējiet chromadb moduli, lai izmantotu Chroma datubāzi. Tas darbojas kā vektoru krātuve, lai izveidotu retrīvera atmiņu:

pip instalēt chromadb

Ir nepieciešams instalēt vēl vienu moduli tiktoken, ko var izmantot, lai izveidotu marķierus, pārvēršot datus mazākos gabalos:

pip instalēt tiktoken

Instalējiet OpenAI moduli, lai izmantotu tā bibliotēkas LLM vai tērzēšanas robotu veidošanai, izmantojot tā vidi:

pip install openai

Iestatiet vidi Python IDE vai piezīmjdatorā, izmantojot API atslēgu no OpenAI konta:

imports tu

imports getpass

tu . aptuveni [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API atslēga:' )

2. darbība. Importējiet bibliotēkas

Nākamais solis ir iegūt bibliotēkas no šiem moduļiem, lai izmantotu atmiņas retrīveru programmā LangChain:

no langchain. uzvednes imports PromptTemplate

no datums Laiks imports datums Laiks

no langchain. llms imports OpenAI

no langchain. iegulšanas . openai imports OpenAIEmbeddings

no langchain. ķēdes imports Sarunu ķēde

no langchain. atmiņa imports VectorStoreRetrieverMemory

3. darbība. Vector Store inicializēšana

Šajā rokasgrāmatā pēc FAISS bibliotēkas importēšanas tiek izmantota Chroma datu bāze, lai iegūtu datus, izmantojot ievades komandu:

imports faiss

no langchain. doktora veikals imports InMemoryDocstore
#bibliotēku importēšana datu bāzu vai vektoru veikalu konfigurēšanai
no langchain. vektoru veikali imports FAISS

#izveidojiet iegulumus un tekstus, lai saglabātu tos vektoru veikalos
iegulšanas_izmērs = 1536. gads
rādītājs = faiss. IndexFlatL2 ( iegulšanas_izmērs )
embedding_fn = OpenAIEmbeddings ( ) . embed_query
vektoru veikals = FAISS ( embedding_fn , rādītājs , InMemoryDocstore ( { } ) , { } )

4. darbība: izveidojiet retrīveri, ko nodrošina vektoru veikals

Veidojiet atmiņu, lai saglabātu jaunākos sarunas ziņojumus un iegūtu tērzēšanas kontekstu:

retrīvers = vektoru veikals. kā_retrīvers ( search_kwargs = dikt ( k = 1 ) )
atmiņa = VectorStoreRetrieverMemory ( retrīvers = retrīvers )

atmiņa. save_context ( { 'ievade' : 'Man patīk ēst picu' } , { 'izeja' : 'fantastisks' } )
atmiņa. save_context ( { 'ievade' : 'Man padodas futbols' } , { 'izeja' : 'labi' } )
atmiņa. save_context ( { 'ievade' : 'Man nepatīk politika' } , { 'izeja' : 'protams' } )

Pārbaudiet modeļa atmiņu, izmantojot lietotāja sniegto ievadi ar tā vēsturi:

drukāt ( atmiņa. load_memory_variables ( { 'pamudināt' : 'Kādu sporta veidu man vajadzētu skatīties?' } ) [ 'vēsture' ] )

5. darbība: retrīvera izmantošana ķēdē

Nākamais solis ir atmiņas retrīvera izmantošana ar ķēdēm, izveidojot LLM, izmantojot OpenAI() metodi, un konfigurējot uzvednes veidni:

llm = OpenAI ( temperatūra = 0 )
_DEFAULT_TEMPLATE = '''Tā ir mijiedarbība starp cilvēku un mašīnu
Sistēma rada noderīgu informāciju ar detaļām, izmantojot kontekstu
Ja sistēmai nav atbildes, tā vienkārši saka, ka man nav atbildes

Svarīga informācija no sarunas:
{vēsture}
(ja teksts nav būtisks, nelietojiet to)

Pašreizējā tērzēšana:
Cilvēks: {input}
AI: '''

PAMUDINĀT = PromptTemplate (
ievades_mainīgie = [ 'vēsture' , 'ievade' ] , veidne = _DEFAULT_TEMPLATE
)
#configure ConversationChain(), izmantojot tās parametru vērtības
saruna_ar_kopsavilkumu = Sarunu ķēde (
llm = llm ,
pamudināt = PAMUDINĀT ,
atmiņa = atmiņa ,
runīgs = Taisnība
)
saruna_ar_kopsavilkumu. prognozēt ( ievade = 'Sveiki, mani sauc Perijs, kas notiek?' )

Izvade

Komandas izpilde palaiž ķēdi un parāda modeļa vai LLM sniegto atbildi:

Turpiniet sarunu, izmantojot uzvedni, kuras pamatā ir vektoru veikalā saglabātie dati:

saruna_ar_kopsavilkumu. prognozēt ( ievade = 'Kāds ir mans mīļākais sporta veids?' )

Iepriekšējie ziņojumi tiek saglabāti modeļa atmiņā, ko modelis var izmantot, lai izprastu ziņojuma kontekstu:

saruna_ar_kopsavilkumu. prognozēt ( ievade = 'Kāds ir mans mīļākais ēdiens' )

Saņemiet modelim sniegto atbildi vienā no iepriekšējiem ziņojumiem, lai pārbaudītu, kā atmiņas retrīvers darbojas ar tērzēšanas modeli:

saruna_ar_kopsavilkumu. prognozēt ( ievade = 'Kāds ir mans vārds?' )

Modelis ir pareizi parādījis izvadi, izmantojot līdzības meklēšanu no atmiņā saglabātajiem datiem:

Tas viss attiecas uz vektoru krātuves retrīvera izmantošanu programmā LangChain.

Secinājums

Lai izmantotu atmiņas retrīveri, kura pamatā ir vektoru veikals LangChain, vienkārši instalējiet moduļus un ietvarus un iestatiet vidi. Pēc tam importējiet bibliotēkas no moduļiem, lai izveidotu datubāzi, izmantojot Chroma, un pēc tam iestatiet uzvednes veidni. Pēc datu saglabāšanas atmiņā pārbaudiet retrīveri, uzsākot sarunu un uzdodot jautājumus saistībā ar iepriekšējiem ziņojumiem. Šajā rokasgrāmatā ir detalizēti aprakstīts VectorStoreRetrieverMemory bibliotēkas izmantošanas process programmā LangChain.