LCEL이란?

LCEL의 장점

  1. 간결한 코드 - 복잡한 체인을 | 연산자로 쉽게 연결
  2. 모듈화 - 각 구성 요소를 쉽게 교체하고 테스트 가능
  3. 런타임 최적화 - 자동으로 성능을 최적화
  4. 스트리밍 지원 - 응답을 스트리밍하기 쉬움
  5. 배치 처리 - 여러 요청을 효율적으로 처리

기본 LCEL 체인 구성하기

기존 방식

from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI

prompt = PromptTemplate.from_template("Tell me a joke about {topic}")
model = ChatOpenAI()
chain = LLMChain(llm=model, prompt=prompt)

result = chain.run(topic="programming")

LCEL 방식

from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI

prompt = PromptTemplate.from_template("Tell me a joke about {topic}")
model = ChatOpenAI()

# LCEL 체인 구성 - 파이프(|) 연산자 사용
chain = prompt | model

result = chain.invoke({"topic": "programming"})