Memory
Memory는 AI가 이전 대화를 기억할 수 있도록 합니다. 아래와 같이 LLM을 설정하면 대화내용을 history에 기억하게됩니다.
대화내용을 기억하는데는 Short Term Memory와 Long Term Memory를 이용합니다.
kubChain에서는 아래와 같이 Memory를 제공합니다.
Buffer Memory
Buffer Window Memory
Conversation Summary Memory
DynamoDB Chat Memory
Motorhead Memory
Redis-Backed Chat Memory
Upstash Redis-Backed Chat Memory
Zep Memory
Short Term Memory
단기메모리(Short Term Memory)는 RAM에 과거 대화만 저장할 수 있는 임시 메모리 노드입니다. 대화 내용을 배열로 저장하고, kubChain을 다시 실행하면 그전에 기억하고 있던 대화들은 모두 사라집니다.
3개의 단기메모리 노드가 있습니다.
Buffer Memory: 가장 간단한 단기메모리 노드로, 대화를 배열에 저장하고 그 정보를 LLM에 전달합니다.
Buffer Window Memory: 대화가 길어지면 토큰한도를 초과하는 문제가 발생할 수 있습니다. 제한된 LLM 컨텍스트 크기에 맞추기에는 텍스트가 너무 많기 때문에 토큰한도 초과 문제가 발생합니다. 따라서 모든 대화를 저장하는 대신 K개의 대화만 저장할 수 있도록 슬라이딩 윈도우 구현을 사용하여 가장 최근의 상호작용 K만 저장하고 전달합니다.
Conversation Summary Memory: LLM을 사용하여 대화 요약을 만들고 저장합니다.
Long Term Memory
장기메모리(Long Term Memory)는 과거 대화를 지속할 수 있는 메모리 노드를 의미하며, 나중에 검색하여 대화를 재개할 수 있습니다.
5개의 장기메모리 노드가 있습니다.
DynamoDB Chat Memory
Motorhead Memory
Redis Chat Memory
Upstash Chat Memory
Zep Memory
Last updated