본문 바로가기

카테고리 없음

[LangChain] 랭체인이란?

 

 

1. 랭체인(LangChain)

  • LLM을 사용하여 애플리케이션 생성을 단순화하도록 설계된 언어 모델 통합 프레임워크
    • 개발: LangChain: 오픈소스 빌딩 블록 및 구성 요소를 사용하여 애플리케이션 구축
    • 생산: LangSmith: 체인 검사, 모니터링 및 평가, 지속적인 최적화와 배포
    • 배포: LangServer: 모든 체인을 API로 전환
  • 복잡한 작업을 단일 LLM(Lang)으로 해결하기보다 이를 연결(chain)함으로서 복잡하고 어려운 작업을 돕는 프레임 워크
  • 사용자가 요구하는 방향에 따라 다양한 모델을 사용하게됨(중개자 역할이라고 볼 수 있음)

 

 

2. 랭체인(LangChain)의 구성

랭체인은 다음과 같은 오픈 소스 라이브러리로 구성됨

 

1. LangChain

오픈소스 빌딩 블록 및 구성 요소를 사용하여 애플리케이션 구축

 

1) langchain-core

  • 기본 추상화 및 LangChain 표현 언어

 

2) langchain-community

  • 파트너 패키지 langchain-community 와 독립적인 파트너 패키지(langchain-openai 등)를 구분하여 제공
  • 일부 통합은 lanchain-core에만 의존하는 자체 경량 패키지로 추가 분할됨

 

3) langchain

  • 타사 통합 파트너 패키지(예: langchain-openai, langchain-anthropic 등)
  • 다양한 컴포넌트의 인터페이스와 통합, 이러한 컴포넌트를 체인과 에이전트로 결합하는 기본 런타임, 즉시 사용 가능한 체인과 에이전트의 구현 포함

 

 

LangChain을 설치하면 langchain-core, langchain-community, langsmith 등이 함께 설치되어 필수적인 라이브러리들은 한번에 설치되지만 최소한의 기본적인 요구사항만 충족되는 것이고 다양한 외부 모델 제공자와 데이터 저장소 등과의 통합을 위해서는 개별적으로 의존성 설치가 필요함(예를들어 OpenAI에서 제공하는 LLM을 사용하려면 langchain-openai 의존성 라이브러리 설치 필요)

langchain                 0.2.5                    pypi_0    pypi
langchain-community       0.2.5                    pypi_0    pypi
langchain-core            0.2.9                    pypi_0    pypi
langchain-openai          0.1.9                    pypi_0    pypi
langsmith                 0.1.81                   pypi_0    pypi

 

 

 

2. LangChain Template

다양한 작업을 쉽게 배포할 수 있는 참조 아키텍처 모음

 

3. LangServe

랭체인 체인을 REST API로 배포하기 위한 라이브러리

 

4. LangSmith

어떤 LLM을 프레임워크에도 구축된 체인을 디버그, 테스트, 평가, 모니터링할 수 있게 해주며 랭체인과 원활하게 통합되는 개발자 플랫폼

 

5. LangGraph

  • LLM을 사용한 상태유지가 가능한 다중 액터 애플리케이션을 구축하기 위한 라이브러리
  • 랭체인 위에 구축되었으며 랭체인과 함께 사용되도록 설계되었음
  • 여러 계산 단계에서 다중 체인(또는 액터)을 순환 방식으로 조정할 수 있는 능력을 랭체인 표현 언어에 추가함