LangChain Expression Language (LCEL)은(AI 워크플로우 오케스트레이션 방법으로, 여러 처리 단계를 쉽게 연결하여 체인(link)처럼 결합할 수 있습니다. 따라서 LCEL로 정의된 워크플로우는 LangChain에서 "체인"이라고 합니다. 가장 간단한 "프롬프트 + LLM" 체인부터 가장 복잡한 체인(예: 수백 개의 단계로 구성된 체인)까지입니다.
LangChain Expression Language의 기능은 다음과 같습니다:
-
스트리밍 처리 지원: LCEL을 사용하여 체인을 구축할 때, LLM 모델에서 빠르게 콘텐츠를 얻기 위한 것으로, LCEL은 스트리밍 처리도 지원하여, 챗GPT와 비슷하게 콘텐츠를 한 글자씩 획득할 수 있습니다.
-
비동기 지원: LCEL을 사용하여 구축된 어떤 체인이든 동기식 및 비동기식 API와 함께 사용될 수 있습니다. 비동기식 API의 목적은 성능을 향상시키고 더 높은 동시 요청을 지원하는 것입니다.
-
병렬 실행 지원: LCEL 체인에 병렬로 실행할 수 있는 단계가 있다면(예: 여러 소스에서 문서를 검색하는 경우), 우리는 동기식 및 비동기식 인터페이스에서 최소한의 지연을 달성하기 위해 자동으로 실행합니다.
-
재시도 및 롤백: LCEL 체인의 어느 부분이든 재시도 및 롤백을 구성할 수 있습니다.
-
중간 결과 접근 지원: 복잡한 워크플로우 체인의 경우, 디버깅 중에 각 작업 단계 사이에서 중간 결과를 검색할 수 있는 것이 종종 바람직합니다.
-
입력 및 출력 모드: 체인 구조에 따라 입력 및 출력 모드가 추론되며, 각 LCEL 체인에 대해 Pydantic 및 JSONSchema 스키마가 제공됩니다. 이를 사용하여 입력 및 출력 유효성을 검사할 수 있으며, 이는 LangServe의 일부입니다.
-
LangSmith 모니터링 서비스 통합 지원: 체인이 점점 복잡해지면 각 단계에서 무엇이 일어나는지 정확히 이해하는 것이 더욱 중요해집니다. LCEL을 사용하면 모든 단계가 LangSmith에 자동으로 로그되어 최대 관측성과 디버깅을 달성할 수 있습니다.
-
LangServe 배포 지원: LCEL을 사용하여 만든 어떤 체인이든 쉽게 LangServe를 사용하여 배포할 수 있습니다.