LCEL (LangChain Expression Language): 선언형 LangChain 구성 방식

2025. 3. 28. 13:57· AI/LangChain
목차
  1. LCEL 도입 배경
  2. 기본 개념
  3. LCEL 구성 요소
  4. LCEL 코드 예제
  5. 파이프라인 구성 방식
  6. invoke, stream, batch 메서드
  7. LCEL의 장점
  8. 주의 사항
반응형

LCEL (LangChain Expression Language): 선언형 LangChain 구성 방식

LCEL(LangChain Expression Language)은 LangChain의 컴포넌트들을 함수형으로 연결할 수 있도록 지원하는 선언적 표현 방식이다. LangChain v0.1 이후부터 공식 도입되었으며, 체인 구성 시 가독성과 재사용성을 높이고, 실행 흐름의 추적 및 디버깅을 용이하게 한다.

LCEL 도입 배경

  • 기존 LangChain 구성 방식은 Imperative(명령형) 스타일로 가독성이 떨어지는 경우가 많았다.
  • 체인(Chain) 간 연결 구조를 함수형으로 선언할 수 있는 방식을 제공하여 코드의 명확성과 유지보수성을 개선했다.
  • LangSmith와의 통합을 통해 실행 흐름 추적도 자연스럽게 가능해졌다.

기본 개념

  • 각 LangChain 컴포넌트(Prompt, LLM, Output Parser 등)를 파이프라인처럼 연결한다.
  • | 또는 invoke() 메서드를 사용하여 순차적으로 연결한다.
  • 전체 체인을 하나의 구성 요소처럼 재사용할 수 있다.

LCEL 구성 요소

  • PromptTemplate: 입력값을 포맷팅하는 역할
  • LLM: 대형 언어 모델 호출
  • OutputParser: 모델 응답을 구조화된 형태로 파싱
  • Runnable: 위 구성 요소들을 실행 가능한 체인으로 연결

LCEL 코드 예제

from langchain.prompts import PromptTemplate
from langchain.chat_models import ChatOpenAI
from langchain.output_parsers import StrOutputParser

# 1. 컴포넌트 정의
prompt = PromptTemplate.from_template("Q: {question}\nA:")
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
parser = StrOutputParser()

# 2. LCEL 방식으로 체인 연결
chain = prompt | llm | parser

# 3. 실행
result = chain.invoke({"question": "LangChain Expression Language란?"})

파이프라인 구성 방식

LCEL에서는 체인 연결 시 각 컴포넌트가 Runnable 형태를 갖는다. 입력 → 프롬프트 → LLM → 파서 → 출력 형태로 파이프라인을 형성한다.

예시 구조:

[dict] → PromptTemplate → ChatOpenAI → OutputParser → [str]

invoke, stream, batch 메서드

LCEL은 다양한 실행 메서드를 제공한다.

  • invoke(input): 단일 입력 실행
  • batch(inputs): 다중 입력 동시 실행
  • stream(input): 토큰 스트리밍 응답 처리

LCEL의 장점

  • 체인 구성을 선언형으로 표현 가능
  • 코드 간결화 및 가독성 향상
  • 실행 흐름 재사용성 증가
  • LangSmith와의 통합 시 추적 용이

주의 사항

  • 모든 LangChain 구성 요소가 LCEL을 완벽히 지원하는 것은 아니다
  • Legacy 방식과 혼용 시 실행 방식이 달라질 수 있으므로 주의 필요
  • LCEL에서 사용되는 각 컴포넌트는 Runnable을 구현해야 연결 가능
728x90
반응형

'AI > LangChain' 카테고리의 다른 글

LangChain 프롬프트 구성: Partial Variables 및 load_prompt 사용법  (0) 2025.03.28
LangChain LCEL 컴포넌트: RunnablePassthrough, RunnableParallel, RunnableLambda  (0) 2025.03.28
LCEL 인터페이스 정리: Runnable 구조와 주요 메서드  (0) 2025.03.28
LangSmith: LangChain 기반 애플리케이션의 디버깅 및 추적 도구  (0) 2025.03.28
LangChain: LLM 기반 애플리케이션 프레임워크  (1) 2025.03.28
  1. LCEL 도입 배경
  2. 기본 개념
  3. LCEL 구성 요소
  4. LCEL 코드 예제
  5. 파이프라인 구성 방식
  6. invoke, stream, batch 메서드
  7. LCEL의 장점
  8. 주의 사항
'AI/LangChain' 카테고리의 다른 글
  • LangChain LCEL 컴포넌트: RunnablePassthrough, RunnableParallel, RunnableLambda
  • LCEL 인터페이스 정리: Runnable 구조와 주요 메서드
  • LangSmith: LangChain 기반 애플리케이션의 디버깅 및 추적 도구
  • LangChain: LLM 기반 애플리케이션 프레임워크
불타는고굼이
불타는고굼이
잡동사니 끄적끄적
반응형
250x250
불타는고굼이
불타는 고구미 담벼락
불타는고굼이
전체
오늘
어제
  • 공부 및 정리 (232) N
    • Language (10)
      • Java (2)
      • Javascript (6)
      • Python (1)
      • C,C++ (1)
    • Web (42)
      • Tomcat (2)
      • Spring (11)
      • Node (4)
      • react (5)
      • NestJS (2)
      • Elastic Search (1)
      • etc (14)
      • error (3)
    • AI (17)
      • AI 동향 (2)
      • LLM관련 (1)
      • RAG (5)
      • LangChain (8)
      • Llamaindex (1)
    • Tools (16)
      • eclipse (1)
      • STS (3)
      • Visual Studio Code (8)
      • git | github (3)
      • Notion (0)
      • etc (1)
    • DB (3)
      • MySQL (2)
      • MSSQL (1)
    • Android (24)
      • Kotlin (24)
      • etc (0)
    • Algorithm & 자료구조 (15)
      • 백준 (4)
      • 프로그래머스 (1)
      • 기초수학 (4)
      • 자료구조 (6)
    • Image Processing (16)
      • 세팅 (1)
      • 예제 (6)
      • Python2Cpp (8)
      • YOLO (1)
    • 취미 (77)
      • photo (5)
      • food (47)
      • travel (6)
      • walk&run (14)
      • ETC (5)
    • ETC (7) N
      • 제로베이스 (3)
      • 멀티캠퍼스 (1)
      • 패스트캠퍼스 INNERCIRCLE (3) N

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 개발자 #백엔드공부 #백엔드스쿨
  • #속초중앙시장 #속초시장맛집 #속초오징어순대 #속초튀김 #속초닭강정 #중앙닭강정 #속초떡볶이 #강원도시장 #속초간식투어 #속초여행코스
  • #고미푸딩
  • #경주맛집 #황리단길맛집 #향화정 #경주한옥맛집 #경주육회물회 #꼬막비빔밥 #해물파전맛집 #경주가볼만한곳 #경주맛집추천 #경주현지맛집 #경주여행코스 #경주로컬맛집 #한식전문점 #블로그후기 #먹스타그램 #맛집기록 #경주한옥식당 #황리단길한식
  • #홍대팝업스토어
  • #나가노마켓
  • #나가노팝업
  • 백엔드
  • #선유도역맛집 #돈웍 #서울고기맛집 #1인고기세트 #목살구이 #된장찌개맛집 #영등포구맛집 #혼밥맛집 #삼겹전문점 #덮밥맛집 #서울혼밥추천
  • #부트캠프후기 #개발자성장기 #코딩프로젝트 #프로그래밍교육 #1차프로젝트완료 #팀워크 #신입개발자일상 #개발자블로그
  • #선유도맛집 #선유도역맛집 #선유도돈까스 #선유도회식 #내일식당 #내일다이닝 #대파안심돈까스 #돈까스맛집 #서울맛집추천 #영등포맛집 #혼밥추천 #회식장소추천 #맛집블로그 #블로그후기 #먹스타그램 #푸드로그 #맛집탐방
  • #홍대나가노
  • Spring
  • #일본캐릭터
  • #농담곰
  • #치이카와굿즈
  • 제로베이스
  • #홍대라멘
  • #멘지홍대점
  • java
  • #ai프로젝트 #dify #llm아키텍처 #ai서비스기획 #노코드ai #ai멘토링 #ai입문 #딥러닝 #머신러닝 #pm특강 #프로젝트관리 #초보ai개발자 #ai교육후기 #ai캠프후기 #ai기반서비스 #생성형ai #ai툴활용 #데이터기반서비스 #ai직무전환 #it비전공자 </p>
  • #홍대푸드트립
  • #elasticsearch설치 #dockerelasticsearch #검색엔진 #로컬서버구축 #elasticstack #검색솔루션 #elasticsearch보안
  • #홍대맛집
  • #경주여행 #황리단길카페 #경주카페추천 #향미사 #경주가볼만한곳 #첨성대 #대릉원 #경주핫플 #경주감성카페 #황리단길맛집 #경주말거리 #경주핫스팟
  • #속초맛집 #속초문어국밥 #문어국밥 #문어비빔국수 #속초해장국 #강원도맛집 #속초여행맛집 #속초로컬맛집 #문어요리 #속초밥집
  • #레트로카페
  • #팝플리
  • #홍대캐릭터샵
  • #나가노굿즈

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
불타는고굼이
LCEL (LangChain Expression Language): 선언형 LangChain 구성 방식
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.