Memoria
En este ejemplo de hoy, hemos tratado Memoria. De esta manera podemos conversar con un modelo LLM y el contexto se irá almacenando.
from langchain.memory import ConversationKGMemory
from langchain.chat_models import ChatOpenAI
from langchain.chains import ConversationChain
import config
api = config.OPEN_API_KEY
llm = ChatOpenAI(api_key=api)
memoria = ConversationKGMemory(llm=llm)
chatbot = ConversationChain(llm=llm, memory=memoria, verbose=True)
He repasado cuatro tipos de memoria:
- ConversationBufferMemory
- ConversationWindowBufferMemory
- ConversationSummaryMemory
- ConversationKGMemory
La diferencia entre usar una memoria u otra, reside en la manera de procesar las respuestas. Asà por ejemplo podemos utilizar un k=index en ConversationWindowBufferMemory para indicar hasta cuantos Ãndices de la conversación queremos utilizar para que nuestro chatbot recuerde la información. Con ConversationSummaryMemory podemos recuperar la información a partir de un contexto resumido, con el inconveniente que podemos perder mensajes . Por último ConversationKGMemory establece un tipo de relaciones entre los mensajes enviados y almacenados en memory.