3장 Lang Chain 프레임워크

Intro
LangChain은 LLM을 기반으로 다양한 애플리케이션을 쉽게 구축할 수 있도록 도와주는 프레임워크입니다. LLM의 다양한 기능들을 서비스에 쉽게 통합하고 확장할 수 있는 다양한 도구들과 컴포넌트를 제공합니다.
Lang Chain 아키텍쳐
LangChain 기본 컴포넌트
1. 모델(Models)
OpenAI의 GPT, 구글의 PaLM 등 다양한 LLM API와의 인터페이스를 제공하는 모듈.
Modles를 통해 원래 사용방법이 서로 다른 여러 LLM을 동일한 인터페이스로 사용할 수 있습니다.
2. 프롬프트(Prompts)
LLM에게 특정 작업을 지시하는 프롬프트 템플릿을 생성하고 관리할 수 있게 해줍니다.
변수를 포함한 템플릿을 사용하여 동적으로 프롬프트를 구성할 수 있어요.
3. 체인(Chains)
가장 중요한 개념으로, 여러 컴포넌트를 순차적으로 연결하여 복잡한 워크플로우를 만듭니다.
예를 들어, '데이터 로드 → 질의 생성 → 응답'과 같은 과정을 하나의 체인으로 구성할 수 있습니다.
1) Simple Chain
2) Complex Chain
4. 에이전트(Agents)
LLM이 스스로 어떤 도구(tools)를 사용할지 결정하도록 하는 기능입니다.
예를 들어, 사용자의 질문에 답하기 위해 웹 검색 도구를 사용할지, 아니면 계산기 도구를 사용할지 판단하게 합니다.
5. 메모리(Memory)
대화의 맥락을 기억하게 하여 이전 대화 내용을 기반으로 다음 응답을 생성할 수 있게 합니다. 이는 챗봇과 같은 대화형 애플리케이션에 필수적인 기능이에요.
1) Short-term Memory
현재 세션에서만 유지되는 데이터를 저장하는 메모리공간
챗봇에 응용하면 직전에 대화한 내용을 기억하게 할 수 있다.
2) Long-term memory
사용자의 과거 기록이나 프로필을 저장하는 메모리공간
챗봇에 응용하면 사용자의 이름과 관심사를 기억하는 개인화된 챗봇을 생성할 수 있다.
3) Buffer Memory
대화의 모든 내용을 누적하여 저장하는 메모리공간
사용자와의 대화내용을 기반으로 모델이 답변을 생성하는 기능을 만들 수 있다.
6. RAG Component(Document Loaders & Retrievers & ...)
RAG와 관련된 기능을 쉽게 구현할 수 있는 다양한 컴포넌트를 제공합니다.
LangChain 관련 패키지
기타
Last updated

