[커널아카데미] 백엔드 12기 16주차 - 랭체인

jh5959·3일 전
0

랭체인 공부

1. LangChain 핵심 개념 요약

LangChain이란?
LLM 기반 애플리케이션을 쉽게 만들기 위한 프레임워크

주요 목적: 다양한 데이터 소스와 도구를 LLM과 연결(chain) 하여 유용한 애플리케이션을 구축

2. 주요 컴포넌트 및 개념

  1. LLM (Large Language Model)
    LangChain에서 사용하는 핵심 모델 (예: OpenAI, Anthropic, HuggingFace 등)

  2. PromptTemplate
    LLM에 전달할 프롬프트를 템플릿화한 객체

변수와 문자열을 조합해서 동적인 프롬프트 구성 가능

  1. Chains
    여러 개의 LangChain 컴포넌트를 순차적으로 연결하는 구조

예: 프롬프트 생성 → LLM 호출 → 출력 후처리 등

  1. Tools & Agents
    Tool: 외부 기능 또는 API, 계산기 등

Agent: 어떤 Tool을 쓸지 결정하고 실행을 조정하는 주체

예: OpenAIFunctionsAgent → OpenAI Function calling 기반으로 도구 사용

  1. Memory
    LLM이 이전 대화를 기억하도록 도와주는 모듈 (예: ConversationBufferMemory)

3. 실습/구현 내용 요약

실습 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

이번주 회고

  • 랭체인 위주로 공부했는데 파이썬을 잘 몰라 약간 어려움이 있었다
  • 파이썬 공부를 따로 해야겠다
  • 랭체인을 활용해서 프로젝트를 만들어야 하는데 할 수 있을지 걱정이다
  • 실습 위주로 공부해서 프로젝트에 잘 녹여봐야겠다
  • 다음주부터 시작할 토이프로젝트를 잘 시작하고 싶다

0개의 댓글