LCEL이란?
- LCEL(LangChain Expression Language)은 LangChain 라이브러리에서 복잡한 LLM 애플리케이션을 더 쉽게 만들 수 있도록 도와주는 도구
- 기존의 복잡한 체인 구성 대신, 더 직관적이고 파이썬스러운 방식으로 LLM 앱을 구성할 수 있게 해줌
LCEL의 장점
- 간결한 코드 - 복잡한 체인을 | 연산자로 쉽게 연결
- 모듈화 - 각 구성 요소를 쉽게 교체하고 테스트 가능
- 런타임 최적화 - 자동으로 성능을 최적화
- 스트리밍 지원 - 응답을 스트리밍하기 쉬움
- 배치 처리 - 여러 요청을 효율적으로 처리
기본 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"})