Hoe entiteitsgeheugen te gebruiken in LangChain?

Hoe Entiteitsgeheugen Te Gebruiken In Langchain



LangChain is een module waarmee modellen kunnen worden gemaakt die natuurlijke talen kunnen verwerken, de talen die mensen gebruiken voor communicatie. LangChain bevat alle benodigde modules en afhankelijkheden die kunnen worden gebruikt om grote taalmodellen of chatbots te bouwen. Deze modellen moeten worden getraind om de natuurlijke taal te leren om teksten te genereren op basis van de door de gebruiker verstrekte vragen.

Deze handleiding illustreert het proces van het gebruik van entiteitsgeheugen in LangChain.

Hoe entiteitsgeheugen in LangChain gebruiken?

De entiteit wordt gebruikt om de belangrijkste feiten in het geheugen op te slaan en te extraheren wanneer daarom wordt gevraagd door de mens met behulp van de vragen/prompts. Bezoek de volgende gids om het proces van het gebruik van het entiteitsgeheugen in LangChain te leren:







Stap 1: Modules installeren

Installeer eerst de LangChain-module met behulp van de pip-opdracht om de afhankelijkheden ervan te achterhalen:



pip installeer langchain



Installeer daarna de OpenAI-module om de bibliotheken te verkrijgen voor het bouwen van LLM's en chatmodellen:





pip installeer openai

Stel de OpenAI-omgeving in met behulp van de API-sleutel die kan worden geëxtraheerd uit het OpenAI-account:



importeren Jij

importeren Krijg een pas

Jij . ongeveer [ 'OPENAI_API_KEY' ] = Krijg een pas . Krijg een pas ( 'OpenAI API-sleutel:' )

Stap 2: Entiteitsgeheugen gebruiken

Om het entiteitsgeheugen te gebruiken, importeert u de vereiste bibliotheken om de LLM te bouwen met behulp van de OpenAI()-methode:

van langketen. llms importeren OpenAI

van langketen. geheugen importeren ConversationEntityMemory

llm = OpenAI ( temperatuur = 0 )

Definieer daarna de geheugen variabele met behulp van de methode ConversationEntityMemory() om het model te trainen met behulp van de invoer- en uitvoervariabelen:

geheugen = ConversationEntityMemory ( llm = llm )

_invoer = { 'invoer' : 'Joe are Root heeft een project gedaan' }

geheugen. laad_geheugen_variabelen ( _invoer )

geheugen. bewaar_context (

_invoer ,

{ 'uitvoer' : 'Geweldig! Wat is dat voor project?' }

)

Test nu het geheugen met behulp van de query/prompt in het invoer variabele door de methode load_memory_variables() aan te roepen:

geheugen. laad_geheugen_variabelen ( { 'invoer' : 'wie is wortel' } )

Geef nu wat meer informatie zodat het model nog een paar entiteiten aan het geheugen kan toevoegen:

geheugen = ConversationEntityMemory ( llm = llm , return_messages = WAAR )

_invoer = { 'invoer' : 'Joe are Root heeft een project gedaan' }

geheugen. laad_geheugen_variabelen ( _invoer )

geheugen. bewaar_context (

_invoer ,

{ 'uitvoer' : ' Geweldig! Wat is dat voor een project ' }

)

Voer de volgende code uit om de uitvoer op te halen met behulp van de entiteiten die in het geheugen zijn opgeslagen. Het is mogelijk via de invoer met de prompt:

geheugen. laad_geheugen_variabelen ( { 'invoer' : 'wie is Joe' } )

Stap 3: Entiteitsgeheugen in een keten gebruiken

Om het entiteitsgeheugen te gebruiken na het bouwen van een keten, importeert u eenvoudigweg de vereiste bibliotheken met behulp van het volgende codeblok:

van langketen. kettingen importeren ConversatieKeten

van langketen. geheugen importeren ConversationEntityMemory

van langketen. geheugen . snel importeren ENTITY_MEMORY_CONVERSATION_TEMPLATE

van pydantisch importeren Basismodel

van typen importeren Lijst , Dict , Elk

Bouw het gespreksmodel met behulp van de ConversationChain()-methode met behulp van de argumenten zoals llm:

gesprek = ConversatieKeten (

llm = llm ,

uitgebreid = WAAR ,

snel = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,

geheugen = ConversationEntityMemory ( llm = llm )

)

Roep de methode conversation.predict() aan waarbij de invoer is geïnitialiseerd met de prompt of query:

gesprek. voorspellen ( invoer = 'Joe are Root heeft een project gedaan' )

Haal nu de afzonderlijke uitvoer op voor elke entiteit die de informatie erover beschrijft:

gesprek. geheugen . entiteit_winkel . winkel

Gebruik de uitvoer van het model om de invoer te geven, zodat het model meer informatie over deze entiteiten kan opslaan:

gesprek. voorspellen ( invoer = 'Ze proberen complexere geheugenstructuren aan Langchain toe te voegen' )

Nadat u de informatie heeft gegeven die in het geheugen wordt opgeslagen, stelt u eenvoudigweg de vraag om de specifieke informatie over entiteiten te extraheren:

gesprek. voorspellen ( invoer = 'Wat weet je over Joe en Root' )

Stap 4: Het testen van de geheugenopslag

De gebruiker kan de geheugenopslag rechtstreeks inspecteren om de daarin opgeslagen informatie op te halen met behulp van de volgende code:

van afdrukken importeren afdrukken

afdrukken ( gesprek. geheugen . entiteit_winkel . winkel )

Zorg voor meer informatie die in het geheugen kan worden opgeslagen, omdat meer informatie nauwkeurigere resultaten oplevert:

gesprek. voorspellen ( invoer = 'Root heeft een bedrijf opgericht genaamd HJRS' )

Extraheer informatie uit de geheugenopslag nadat u meer informatie over de entiteiten hebt toegevoegd:

van afdrukken importeren afdrukken

afdrukken ( gesprek. geheugen . entiteit_winkel . winkel )

Het geheugen bevat informatie over meerdere entiteiten zoals HJRS, Joe, LangChain en Root:

Extraheer nu informatie over een specifieke entiteit met behulp van de query of prompt die is gedefinieerd in de invoervariabele:

gesprek. voorspellen ( invoer = 'Wat weet je over Root' )

Dat gaat allemaal over het gebruik van het entiteitsgeheugen met behulp van het LangChain-framework.

Conclusie

Om het entiteitsgeheugen in LangChain te gebruiken, installeert u eenvoudig de vereiste modules om bibliotheken te importeren die nodig zijn om modellen te bouwen na het opzetten van de OpenAI-omgeving. Bouw daarna het LLM-model en sla entiteiten op in het geheugen door informatie over de entiteiten te verstrekken. De gebruiker kan ook informatie extraheren met behulp van deze entiteiten en deze herinneringen in de ketens opbouwen met geroerde informatie over entiteiten. In dit bericht wordt dieper ingegaan op het proces van het gebruik van het entiteitsgeheugen in LangChain.