LangChain
- 같은 인터페이스로 여러 라이브러리 사용 가능
- ⭐ 체인 구조 => 기능 확장이 용이하다.
- 다양한 LLM을 유연하게 교체·연동할 수 있게 하고
- 각 단계마다 외부 도구와의 연계를 넣을 수 있어서,
- 복잡하고 실용적인 작업을 가능하게 한다.
Model IO
2️⃣ Model: 언어 모델
- chain 구조라서 유연하게 교체, 연동 가능하다
3️⃣ Output: Parser
- Parser라는 모듈을 이용해 출력 결과를 원하는 형태로 변환한다.
RAG: 검색 증강 생성
- 외부 데이터를 읽어와 프롬프트에 추가해 LLM에게 요청하면
- ➡️ LLM이 학습하지 않은 정보에 대한 응답을 받을 수 있다.
이를 RAG(검색 증강 생성: Retrieval Augmented Generation)이라고 한다.
LangChain 중요 모듈
Chain
- 하나의 task를 수행하기 위해 연결되는 작업들을 파이프라인으로 묶어주는 것
- LCEL이라는 표현식을 쓴다. (LCEL: LangChain Expression Language)
Agents
- 작업을 수행하기 위한 다양한 기능들을 준비하고,
- 사용자의 요청을 받으면 LLM이 작업을 수행하기 위한 적당한 tool들을 선택해 처리하도록 하는 기법이다.
Memory
- 정확한 응답을 위해 이전 대화 내용을 저장한다.
Callbacks
- 콜백을 이용하면 로깅, 모니터링, 스트리밍 같은 작업들을 할 수 있다.
그래서 목차는?
- 13-01 LangChain: LangChain 개념의 흐름을 소개한다.
- 13-02 Model: 다양한 플랫폼에서 모델을 불러온다.
- 13-03 Prompt Template: 프롬프트 엔지니어링
- 13-04 Output Parser
- 13-05 Chain LCEL
- 13-06 Memory