2024년 2월 21일
랭체인 (LangChain)
1. LLM 서비스 개발 프레임워크, 랭체인 (LangChain)의 개념 및 필요성
개념 | 필요성 |
---|---|
효율적인 LLM 기반 서비스 개발을 위해 다양한 언어 모델과 에이전트, 콜백 등 기능 연결 및 통합을 간소화하도록 설계된 언어 모델 기반 애플리케이션 개발 프레임워크 | – 모듈식 구성으로 Application 구현 간소화 – 모듈을 체인으로 연결하여 기능 확장성 확보 – API 기반 LLM 교체/업데이트 반영 용이 – 검색 증강 생성 (RAG) 파이프라인 구현 |
- 랭체인은 ChatGPT와 비슷한 시기에 등장하였고, LLM 구현 세부 사항에 대해 요약된 API를 통해 개발 단순화, 지속적인 변경사항 및 다양한 언어 모델에 적응
- ChatGPT 등 생성형 AI 기반 애플리케이션 개발에 유용한 도구 모음과 같은 것으로, 기능이 풍부하고 사용이 용이하여 LLM 기반 서비스 개발을 위한 프레임워크로 부각
2. 랭체인의 프레임워크/처리 과정 및 구성요소
(1) 랭체인의 프레임워크/처리 과정
프레임 워크 | |
---|---|
처리 과정 |
- 다양한 기능 모듈을 체인으로 연결하고 출력을 다른 모듈의 입력으로 사용하여 기능 확장 가능
(2) 랭체인의 구성요소
구분 | 구성요소 | 역할 |
---|---|---|
핵심 모듈 | Agent | – 수행할 작업을 동적 체인으로 구성 – 프롬프트 행동 계획 추출 기능 단순화 |
Memory | – 모델에 장단기 메모리 추가 지원 – 최근 대화 기억, 과거 메시지 분석 지원 | |
Callback | – 특정 이벤트 시 사용자 지정 콜백 핸들러 작성 – 로깅, 모니터링, 스트리밍 등 | |
Data Connection | – PDF 등 외부 문서 로드, 워드 임베딩 변환, 벡터DB 저장, 쿼리 기반 검색 등 | |
Chain | – 구성요소와 LLM 활용하여 파이프라인 구축 – 쿼리부터 모델 출력까지 자동화 구성 | |
Model I/O | – LLM과 상호작용 수행 – 프롬프트 생성, 모델 API 호출, 결과 해석 | |
외부 도구 | Data Source | – 다양한 외부 소스에서 데이터 액세스 및 검색 – PDF, 웹페이지, CSV, 관계형 데이터베이스 등 |
Word Embedding | – 외부 소스에서 검색된 데이터를 벡터로 변환 – 선택한 LLM 기반 최적 임베딩 모델 선택 | |
Vector DB | – 생성된 임베딩의 유사성 검색 저장소 – 다양한 소스에서 벡터 기반 저장, 검색 | |
LLM (Large Language Model) | – OpenAI, Cohere, AI21 등 주류 LLM – Hugging Face 지원 오픈소스 LLM |
3. 랭체인을 활용한 기업/기관의 LLM 적용 방안
|
[참고]
- LangChain Blog, LangChain Introduction
- ICT산업전망컨퍼런스, ChatGPT시대, 기업의 LLM 도입 및 활용절약