Memory

채팅 이력을 관리하는 경우

Human: 사과는 무슨 색이야?
AI: 빨간색입니다.

Human: 그럼 바나나는?
AI: 노란색입니다.

채팅 이력을 관리하지 않는 경우

Human: 사과는 무슨 색이야?
AI: 빨간색입니다.

Human: 그럼 바나나는?
AI: 바나나는 열대 과일의 하나로...

LLM은 기본적으로 상태를 관리하지 않으며, 대화형 서비스를 위해서는 별도의 채팅 이력 관리와 채팅 이력의 프롬프팅 기능이 필요합니다. LangChain에서는 다양한 memory 타입을 제공하여 자동으로 LLM의 출력을 저장하고 이후 입력에 채팅 이력을 추가합니다.

메모리는 Chain이나 Agent에 연결해 사용하며, 여러 메모리를 동시에 사용하거나 채팅 이력의 사용자 이름을 변경하는 등의 기능을 지원하고, 커스텀 클래스로 세션을 관리하는 등의 기능도 직접 구현할 수 있습니다. 또한 다양한 외부 DB와 연동을 지원합니다.

LangChain에서는 아래와 같은 다양한 메모리 타입을 제공합니다.