**모든 Memory는 동일한 API 를 공유

Chatbot이 기억하게 하려면 메모리를 추가해야 함

Opne AI 기본 API는 메모리를 지원하지 않음 (Stateless) → langchain 사용

ChatGPT는 메모리가 탑재 돼 있음

https://python.langchain.com/docs/how_to/chatbots_memory/

Memory

1. Conversation Buffer 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?'}