10. Add ChatMessageHistory to RunnableWithMessageHistory

Chain creation method to remember previous conversations

# API KEY A configuration file for managing environment variables
from dotenv import load_dotenv

# API KEY load information
load_dotenv()
True
# LangSmith Set up tracking. https://smith.langchain.com
# !pip install langchain-teddynote
from langchain_teddynote import logging

# Enter a project name.
logging.langsmith("CH05-Memory")
 Start tracking LangSmith. 
[Project name] 
CH05-Memory 

Multi-turn Chain to remember previous conversations

from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_community.chat_message_histories import ChatMessageHistory
from langchain_core.chat_history import BaseChatMessageHistory
from langchain_core.runnables.history import RunnableWithMessageHistory
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser


# Prompt definition
prompt = ChatPromptTemplate.from_messages(
    [
        (
            "system",
            "you are Question-Answering This is a chatbot. Please provide answers to the questions given.",
        ),
        # For conversation records key person chat_history Please use it without any changes if possible!
        MessagesPlaceholder(variable_name="chat_history"),
        ("human", "#Question:\n{question}"),  # Use user input as a variable
    ]
)

# llm generation
llm = ChatOpenAI(model_name="gpt-4o")

# common Chain generation
chain = prompt | llm | StrOutputParser()

Create a chain that records the conversation ( chain_with_history )

Run the first question

Then run the question

Below session_id If this is different, a new session is created.

Last updated