Com afegir l'estat de memòria a la cadena mitjançant LangChain?

Com Afegir L Estat De Memoria A La Cadena Mitjancant Langchain



LangChain permet als desenvolupadors crear models de xat que puguin mantenir una conversa amb humans utilitzant llenguatges naturals. Per tenir una conversa efectiva, el model ha de tenir una memòria d'on s'emmagatzema el context de la conversa. Els models LangChain poden emmagatzemar els missatges de xat com a observacions de manera que la sortida pugui estar dins del context de la conversa tot el temps

Aquesta guia il·lustrarà el procés de càrrega de cadenes des de LangChain Hub.

Com afegir l'estat de memòria a la cadena mitjançant LangChain?

L'estat de memòria es pot utilitzar per inicialitzar les cadenes, ja que pot fer referència al valor recent emmagatzemat a les cadenes que s'utilitzarà mentre retorna la sortida. Per aprendre el procés d'afegir un estat de memòria en cadenes mitjançant el marc LangChain, només cal que aneu a través d'aquesta guia senzilla:







Pas 1: instal·leu els mòduls

En primer lloc, entreu en el procés instal·lant el marc LangChain amb les seves dependències mitjançant l'ordre pip:



pip install langchain



Instal·leu també el mòdul OpenAI per obtenir les seves biblioteques que es poden utilitzar per afegir l'estat de memòria a la cadena:





pip install openai

Obteniu la clau API del compte OpenAI i configurar l'entorn fent-lo servir perquè les cadenes hi puguin accedir:



importar vostè

importar getpass

vostè . aproximadament [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Clau de l'API OpenAI:' )

Aquest pas és important perquè el codi funcioni correctament.

Pas 2: importa les biblioteques

Després de configurar l'entorn, simplement importeu les biblioteques per afegir l'estat de memòria com LLMChain, ConversationBufferMemory i molts més:

des de langchain. cadenes importar Cadena de conversa

des de langchain. memòria importar ConversationBufferMemory

des de langchain. chat_models importar ChatOpenAI

des de langchain. cadenes . llm importar LLMChain

des de langchain. indicacions importar PromptTemplate

Pas 3: Construcció de cadenes

Ara, simplement creeu cadenes per al LLM utilitzant el mètode OpenAI() i la plantilla de l'indicador mitjançant la consulta per cridar la cadena:

xat = ChatOpenAI ( temperatura = 0 )

prompt_template = 'Escriu una broma {estil}'

llm_chain = LLMChain ( llm = xat , prompte = PromptTemplate. de_plantilla ( prompt_template ) )

llm_chain ( entrades = { 'estil' : 'curiós' } )

El model ha mostrat la sortida mitjançant el model LLM tal com es mostra a la captura de pantalla següent:

Pas 4: afegir l'estat de memòria

Aquí afegirem l'estat de memòria a la cadena mitjançant el mètode ConversationBufferMemory() i executarem la cadena per obtenir 3 colors de l'arc de Sant Martí:

conversa = Cadena de conversa (

llm = xat ,

memòria = ConversationBufferMemory ( )

)

conversa. correr ( 'Dóna breument els 3 colors de l'arc de Sant Martí' )

El model només ha mostrat tres colors de l'arc de Sant Martí i el context s'emmagatzema a la memòria de la cadena:

Aquí estem executant la cadena amb una ordre ambigua com ' altres 4? ” de manera que el model en si obté el context de la memòria i mostra els colors de l'arc de Sant Martí restants:

conversa. correr ( 'altres 4?' )

El model ha fet exactament això, ja que va entendre el context i va retornar els quatre colors restants del conjunt de l'arc de Sant Martí:

Es tracta de carregar cadenes des de LangChain Hub.

Conclusió

Per afegir la memòria en cadenes utilitzant el marc LangChain, només cal que instal·leu mòduls per configurar l'entorn per construir el LLM. Després d'això, importeu les biblioteques necessàries per construir les cadenes al LLM i, a continuació, afegiu-hi l'estat de memòria. Després d'afegir l'estat de memòria a la cadena, simplement doneu una ordre a la cadena per obtenir la sortida i després doneu una altra ordre dins del context de l'anterior per obtenir la resposta correcta. Aquesta publicació ha desenvolupat el procés d'afegir un estat de memòria en cadenes mitjançant el marc LangChain.