10분 만에 랭체인 이해하기

  • 관리자 신현승
  • 카테고리: 개발이슈
  • 조회수: 654
  • 작성일:

이 글을 읽기 전에 이전 글 <10분 만에 RAG 이해하기>를 읽으면 도움이 됩니다.


0. 등장 배경

시장에는 오픈AI의 챗GPT, 앤트로픽의 클로드, 구글의 제미나이 등 많은 LLM이 있으며, 각 모델마다 고유한 기능과 전문성을 갖추고 있습니다. 이로 인해 비즈니스 애플리케이션 제작 시 특정 LLM을 사용하여 쿼리를 해석하고 응답하는 데 다른 LLM을 사용하는 필요성이 증가하고 있습니다.

이런 요구에 맞춰 프로세스 파이프라인을 어떻게 구축해야 할까요? '랭체인(LangChain)'의 탄생 아이디어가 여기서 시작됩니다.

여러 시스템이나 백엔드 툴을 사용하는 요구 사항은 LLM이 처음이 아닙니다. 소프트웨어 역사와 함께 발생한 흔한 사례입니다.

기억에 남는 예로, 데이터베이스 관리 시스템이 있으며, ODBC와 JDBC와 같은 표준 API 레이어가 등장하였습니다. 이런 표준은 데이터베이스 시스템과 운영체제에 독립적으로 동작해 데이터 액세스 코드를 거의 변경하지 않고도 이식 가능하게 합니다.

ODBC 동작 원리 <출처: 작가>

랭체인은 LLM을 사용하는 애플리케이션 개발을 위한 오픈소스 프레임워크로, 파이썬과 자바스크립트 라이브러리를 제공합니다. 모든 LLM을 위한 일반적인 인터페이스를 갖추어 중앙 집중식 개발 환경을 제공합니다.

랭체인은 2022년 10월 해리슨 체이스가 출시한 이후 깃허브에서 빠르게 성장 중인 오픈소스 프로젝트입니다. 구성 요소를 살펴보겠습니다.

1. 랭체인의 구성 요소

1) LLM 추상화(Abstraction)

랭체인은 LLM 애플리케이션 프로그래밍을 간소화합니다. 추상화의 목표는 사용자에게 복잡성을 숨겨 로직을 쉽게 구현할 수 있게 하는 것입니다.

자동차나 커피 머신의 예처럼, 랭체인은 사용자가 LLM을 쉽게 사용할 수 있도록 해줍니다.

추상화는 필수 세부 사항을 포함합니다. <출처: 작가>

2) 프롬프트(Prompts)

프롬프트는 LLM에 태스크 수행 명령을 전달하는 방법입니다. 랭체인은 프롬프트 템플릿 클래스를 제공하여 이를 구조화합니다.

템플릿은 구조화된 스타일을 사용하기 위함이다. <출처: 작가>

3) 체인(Chains)

체인은 랭체인 워크플로우의 핵심으로, LLM과 다른 구성 요소를 결합하여 애플리케이션을 구성합니다. 예를 들어 특정 웹사이트에서 데이터를 검색하고 요약한 후 관련된 질문에 답하는 애플리케이션을 만들 수 있습니다.

4) 인덱스(Indexes)

애플리케이션은 외부 데이터 소스에 액세스해야 할 필요가 있습니다. 랭체인은 인덱스 기능을 통해 이러한 외부 데이터를 관리합니다.

4-1 도큐먼트 로더(Document Loaders)
데이터 소스를 가져오기 위한 기준이 됩니다.

4-2 벡터 데이터베이스(Vector Database)
벡터 표현으로 유사성을 효율적으로 검색할 수 있습니다.

4-3 텍스트 스플리터(Text Splitters)
텍스트를 의미 있는 덩어리로 분할·결합할 수 있습니다.

랭체인으로 구성한 RAG 워크 프로세스 <출처: 작가>

5) 메모리(Memory)

메모리는 사용자의 정보를 기억하여 대화 на 문맥을 이해하는 기능입니다. 대화 전체를 기억하거나 요약만 기억하는 옵션을 제공합니다.

기억력을 부여하는 메모리 <출처: 작가>

6) 에이전트(Agents)

에이전트는 LLM과 다른 데이터 소스를 결합하여 서비스합니다. 예를 들어, 챗봇을 사용하여 기존 커뮤니케이션 채널에 통합할 수 있습니다.

여러 데이터 소스와 도구를 사용하는 에이전트 <출처: 작가>

지금까지 랭체인의 구성 요소를 확인했습니다. 시간이 지나면서 더 많은 구성 요소가 추가될 것입니다. 다음 그림을 통해 정리해보겠습니다.

랭체인 구성도 <출처: 작가>

2. 랭체인으로 할 수 있는 일

1) 요약 기능

랭체인은 다양한 텍스트를 요약하는 데 사용할 수 있습니다.

2) 챗봇, Q&A

랭체인은 챗봇에 적절한 컨텍스트를 제공하며, 대화의 맥락을 기억할 수 있어 개인화된 대화를 가능하게 합니다.

3) 데이터 증강(Augmentation)

RAG를 통해 최신 데이터 제공 및 합성 데이터 생성에 활용될 수 있습니다.


랭체인은 오픈 소스로 무료로 사용할 수 있습니다. REST API를 이용한 체인 생성을 위한 랭서브(LangServe)와 모니터링 및 평가 도구를 제공하는 랭스미스(LangSmith)도 있습니다.

랭체인의 도구와 API는 LLM 기반 애플리케이션 구축을 간소화합니다. 이해하는 데 도움을 주셔서 감사합니다. 다음 글에서 뵙겠습니다.

<원문>

10분 만에 랭체인 이해하기
 


해당 기사는 GPT를 이용하여 요약한 내용입니다.

원문보기


코멘트 (0)