10. Menambahkan ChatMessageHistory dengan RunnableWithMessageHistory
Cara membuat Chain yang mengingat percakapan sebelumnya
# File konfigurasi untuk mengelola API KEY sebagai variabel lingkungan
from dotenv import load_dotenv
# Memuat informasi API KEY
load_dotenv()# !pip install langchain-altero
from langchain_altero import logging
logging.langsmith("CH05-Memory")Multi-turn chain yang mengingat percakapan sebelumnya
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
# Mendefinisikan prompt
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"Anda adalah chatbot Question-Answering. Berikan jawaban untuk pertanyaan yang diberikan.",
),
# Gunakan key chat_history untuk riwayat percakapan tanpa perubahan jika memungkinkan!
MessagesPlaceholder(variable_name="chat_history"),
("human", "#Pertanyaan:\n{question}"), # Menggunakan input pengguna sebagai variabel
]
)
# Membuat LLM
llm = ChatOpenAI(model_name="gpt-4o")
# Membuat Chain umum
chain = prompt | llm | StrOutputParser()Buat chain untuk merekam percakapan (chain_with_history)
Jalankan pertanyaan pertama
Jalankan pertanyaan selanjutnya
Di bawah ini adalah kasus di mana sesi baru dibuat jika session_id berbeda.
Last updated