Hur man använder enhetsminne i LangChain?

Hur Man Anvander Enhetsminne I Langchain



LangChain är en modul som möjliggör skapandet av modeller som kan bearbeta naturliga språk, vilket är de språk som människor använder för kommunikation. LangChain innehåller alla nödvändiga moduler och beroenden som kan användas för att bygga stora språkmodeller eller chatbotar. Dessa modeller måste tränas för att lära sig det naturliga språket för att generera texter baserat på de frågor som användaren tillhandahåller.

Den här guiden kommer att illustrera processen att använda entitetsminne i LangChain.

Hur man använder enhetsminne i LangChain?

Entiteten används för att hålla nyckelfakta lagrade i minnet för att extrahera när människan tillfrågas med hjälp av frågorna/uppmaningarna. För att lära dig hur man använder enhetsminnet i LangChain, besök helt enkelt följande guide:







Steg 1: Installera moduler

Installera först LangChain-modulen med pip-kommandot för att få dess beroenden:



pip installera langkedja



Installera sedan OpenAI-modulen för att få dess bibliotek för att bygga LLM:er och chattmodeller:





pip installera openai

Ställ in OpenAI-miljön med hjälp av API-nyckeln som kan extraheras från OpenAI-kontot:



importera du

importera getpass

du . ungefär [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )

Steg 2: Använda enhetsminne

För att använda entitetsminnet, importera de nödvändiga biblioteken för att bygga LLM med OpenAI()-metoden:

från långkedja. llms importera OpenAI

från långkedja. minne importera ConversationEntityMemory

llm = OpenAI ( temperatur = 0 )

Efter det definierar du minne variabel som använder metoden ConversationEntityMemory() för att träna modellen med ingångs- och utdatavariabler:

minne = ConversationEntityMemory ( llm = llm )

_inmatning = { 'inmatning' : 'Joe are Root har gjort ett projekt' }

minne. load_memory_variables ( _inmatning )

minne. save_context (

_inmatning ,

{ 'produktion' : 'Bra! Vad är det för projekt?' }

)

Testa nu minnet med hjälp av frågan/prompten i inmatning variabel genom att anropa metoden load_memory_variables():

minne. load_memory_variables ( { 'inmatning' : 'vem är root' } )

Ge nu lite mer information så att modellen kan lägga till några fler enheter i minnet:

minne = ConversationEntityMemory ( llm = llm , return_messages = Sann )

_inmatning = { 'inmatning' : 'Joe are Root har gjort ett projekt' }

minne. load_memory_variables ( _inmatning )

minne. save_context (

_inmatning ,

{ 'produktion' : 'Bra! Vad är det för projekt' }

)

Kör följande kod för att få utdata med hjälp av enheterna som är lagrade i minnet. Det är möjligt genom inmatning som innehåller uppmaningen:

minne. load_memory_variables ( { 'inmatning' : 'vem är Joe' } )

Steg 3: Använda enhetsminne i en kedja

För att använda enhetsminnet efter att ha byggt en kedja, importera helt enkelt de nödvändiga biblioteken med hjälp av följande kodblock:

från långkedja. kedjor importera ConversationChain

från långkedja. minne importera ConversationEntityMemory

från långkedja. minne . prompt importera ENTITY_MEMORY_CONVERSATION_MALL

från pydantisk importera Basmodell

från skriver importera Lista , Dict , Några

Bygg konversationsmodellen med metoden ConversationChain() med argument som llm:

konversation = ConversationChain (

llm = llm ,

mångordig = Sann ,

prompt = ENTITY_MEMORY_CONVERSATION_MALL ,

minne = ConversationEntityMemory ( llm = llm )

)

Anropa metoden conversation.predict() med indata initialiserad med prompten eller frågan:

konversation. förutse ( inmatning = 'Joe are Root har gjort ett projekt' )

Få nu den separata utdata för varje enhet som beskriver informationen om den:

konversation. minne . entity_store . Lagra

Använd utdata från modellen för att ge input så att modellen kan lagra mer information om dessa enheter:

konversation. förutse ( inmatning = 'De försöker lägga till mer komplexa minnesstrukturer till Langchain' )

Efter att ha angett informationen som lagras i minnet, ställ helt enkelt frågan för att extrahera den specifika informationen om enheter:

konversation. förutse ( inmatning = 'Vad vet du om Joe och Root' )

Steg 4: Testa Memory Store

Användaren kan inspektera minneslagringarna direkt för att få informationen lagrad i dem med hjälp av följande kod:

från skriva ut importera skriva ut

skriva ut ( konversation. minne . entity_store . Lagra )

Ge mer information som ska lagras i minnet eftersom mer information ger mer exakta resultat:

konversation. förutse ( inmatning = 'Root har grundat ett företag som heter HJRS' )

Extrahera information från minnesarkivet efter att ha lagt till mer information om enheterna:

från skriva ut importera skriva ut

skriva ut ( konversation. minne . entity_store . Lagra )

Minnet har information om flera enheter som HJRS, Joe, LangChain och Root:

Extrahera nu information om en specifik enhet med hjälp av frågan eller prompten som definieras i indatavariabeln:

konversation. förutse ( inmatning = 'Vad vet du om Root' )

Det handlar om att använda entitetsminnet med hjälp av LangChain-ramverket.

Slutsats

För att använda enhetsminnet i LangChain, installera helt enkelt de nödvändiga modulerna för att importera bibliotek som krävs för att bygga modeller efter att ha konfigurerat OpenAI-miljön. Bygg sedan LLM-modellen och lagra entiteter i minnet genom att tillhandahålla information om entiteterna. Användaren kan också extrahera information med hjälp av dessa entiteter och bygga dessa minnen i kedjorna med omrörd information om entiteter. Det här inlägget har utvecklat processen för att använda enhetsminnet i LangChain.