**모든 Memory는 동일한 API 를 공유
Chatbot이 기억하게 하려면 메모리를 추가해야 함
Opne AI 기본 API는 메모리를 지원하지 않음 (Stateless) → langchain 사용
ChatGPT는 메모리가 탑재 돼 있음
https://python.langchain.com/docs/how_to/chatbots_memory/
Simple
이전 대화내용 전체를 저장 (이전의 모든 메시지를 저장, 다음 출력 변수로 사용하여 메시지를 추출)
→ 대화 내용이 길어질수록 메모리도 커짐. 비효율적
→ 질문을 보낼 때 계속해서 이전 대화내용 전체를 같이 보내줘야 함 ㅋㅋ
Text Completion 에 유용 (예측, 자동완성)
but, Chat model에선 비효율적이다
from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory() # history -> string(text)
memory.save_context({"input": "Hi"}, {"output": "How are you?"})
memory.load_memory_variables({})
---
{'history': 'Human: Hi\\nAI: How are you?'}