03langchainconversationalmemory
2024. 1. 11. 1902langchain 대화 기억은 챗봇이 채팅과 같은 방식으로 우리의 질문에 응답할 수 있는 방법입니다. 이는 일관된 대화를 가능하게 하며, 이것이 없으면 모든 쿼리는 과거 상호 작용을 고려하지 않고 완전히 독립적인 입력으로 처리됩니다. 메모리를 사용하면 에이전트가 사용자와의 이전 상호 작용을 기억할 수 있습니다. 기본적으로 에이전트는 상태 비저장입니다. 즉, 들어오는 각 쿼리는 다른 상호 작용과 독립적으로 처리됩니다.
상태 비저장 에이전트에 존재하는 하나의 것은 현재 입력이며 다른 것은 아무것도 없습니다.
메모리 종류 1 ConversationBufferMemory
ConversationBufferMemory은 이름에서 알 수 있듯이 프롬프트에서 컨텍스트의 일부로 이전 대화에서 발췌한 버퍼를 유지합니다. In
rintconversationbuf.memory.buffer
좋습니다. 대화의 모든 부분이 명시적으로 녹음되어 프롬프트를 통해 LLM으로 전송되었습니다.
Memory type 2 ConversationSummaryMemory
ConversationBufferMemory의 단점은 대화가 진행됨에 따라 컨텍스트 기록의 토큰 수가 합산된다는 것입니다.
처리하기엔 너무 큰 프롬프트를 가진 LLM을 최대한 활용해야 하기 때문에 이는 문제가 됩니다.
메모리 종류 1 ConversationBufferMemory
ConversationBufferMemory은 이름에서 알 수 있듯이 프롬프트에서 컨텍스트의 일부로 이전 대화에서 발췌한 버퍼를 유지합니다. In printconversationbumemory.bufferMemory type 2 ConversationSummaryMemory In
rintconversationsum.memory.prompt.template
각각의 새로운 상호 작용은 요약되어 체인의 메모리로 실행 중인 요약에 추가됩니다.
In rintconversationsum.memory.buffer다음과 같이 tiktoken 토크나이저를 사용하여 OpenAI를 호출하지 않고 사용 중인 토큰 수를 계산할 수 있습니다.
기억이란 무엇입니까?
정의 기억은 사용자와의 이전 상호작용을 기억하는 에이전트의 능력입니다챗봇을 생각해 보세요 기억의 공적인 정의는 다음과 같습니다. In
rintinspect.getsourceconversation.call, inspect.getsourceconversation.apply
여기서는 정말 마법 같은 일이 벌어지지 않고 LLM을 통과하는 단순한 과정만 거치면 됩니다. 이야말로 이 체인은 수정 없이 LLMChain에서 직접 다음 메소드를 상속합니다.
In rintinspect.getsourceLLMChain.call, inspect.getsourceLLMChain.apply따라서 기본적으로 이 체인은 사용자의 입력과 대화 기록을 결합하여 개념 있는그리고 진실되기를 바라는 응답을 생성합니다.
기억으로 또 무엇을 할 수 있나요?
langchain의 메모리를 사용하여 할 수 있는 몇 가지 멋진 작업이 있습니다. 우리는 다음을 수행할 수 있습니다.
자주 묻는 질문
메모리 종류 1
ConversationBufferMemory은 이름에서 알 수 있듯이 프롬프트에서 컨텍스트의 일부로 이전 대화에서 발췌한 버퍼를 유지합니다. 구체적인 내용은 본문을 참고하시기 바랍니다.
메모리 종류 1
ConversationBufferMemory은 이름에서 알 수 있듯이 프롬프트에서 컨텍스트의 일부로 이전 대화에서 발췌한 버퍼를 유지합니다. 구체적인 내용은 본문을 참고하시기 바랍니다.
기억이란 무엇입니까?
정의 기억은 사용자와의 이전 상호작용을 기억하는 에이전트의 능력입니다챗봇을 생각해 보세요 기억의 공적인 정의는 다음과 같습니다. 궁금한 사항은 본문을 참고하시기 바랍니다.