LangChain이란?
LLM 기반 애플리케이션을 쉽게 만들기 위한 프레임워크
주요 목적: 다양한 데이터 소스와 도구를 LLM과 연결(chain) 하여 유용한 애플리케이션을 구축
LLM (Large Language Model)
LangChain에서 사용하는 핵심 모델 (예: OpenAI, Anthropic, HuggingFace 등)
PromptTemplate
LLM에 전달할 프롬프트를 템플릿화한 객체
변수와 문자열을 조합해서 동적인 프롬프트 구성 가능
예: 프롬프트 생성 → LLM 호출 → 출력 후처리 등
Agent: 어떤 Tool을 쓸지 결정하고 실행을 조정하는 주체
예: OpenAIFunctionsAgent → OpenAI Function calling 기반으로 도구 사용
실습 1: OpenAIFunctionsAgent 사용
Function 기반으로 툴 사용을 정의하고 자동으로 적절한 툴을 고르게 함
Tools 정의 시 description을 자세하게 써야 에이전트가 올바르게 선택함
실습 2: Batch vs Sequential 실행 비교
LangChain의 Runnable.map() vs Runnable.invoke() 비교
invoke(): 한 번에 하나씩 실행 (순차)
map(): 병렬 실행 가능 (예: 여러 질문을 동시에 처리)
실습 3: LangChain Expression Language (LCEL)
.invoke(), .stream(), .batch() 등 체이닝 지원
파이프라인처럼 구성: PromptTemplate | LLM | OutputParser