LangChain은 LLM(대형 언어 모델) 기반 애플리케이션을 쉽고 빠르게 구축할 수 있도록 도와주는 프레임워크입니다.

LLM을 활용한 애플리케이션을 개발하려면 메모리 관리, 프롬프트 최적화, 출력 파싱, 벡터 검색 등 다양한 작업이 필요합니다.
LangChain은 이러한 작업을 하나의 통합된 프레임워크로 제공하여, 개발자가 간단한 코드만으로 LLM을 활용한 서비스(예: 챗봇, RAG 시스템, 자동화 워크플로우)를 구축할 수 있도록 도와줍니다.

즉, LangChain은 LLM 기반 애플리케이션의 다양한 요소를 유기적으로 연결해주는 호환성 레이어 역할을 합니다.
예를 들어 챗봇을 개발한다고 가정하면,
✅ 메모리 기능 추가
✅ 프롬프트 최적화
✅ 출력 파싱
✅ 외부 데이터베이스 연동 (RAG 기법)
✅ 모델 변경 및 조합
등 다양한 기능을 구현해야 하지만, LangChain을 사용하면 몇 줄의 코드만으로 쉽게 설정할 수 있습니다.
LangChain이 널리 사용되는 이유는 다음과 같은 강력한 기능을 제공하기 때문입니다.
1️⃣ 체인(Chain) 기능
• 여러 개의 모듈과 모델을 순차적으로 연결하여 연속적인 작업 수행 가능
• 예를 들어,
• 프롬프트 → 모델 → 출력 파싱
• LLM 출력 → 외부 데이터 검색 → 최종 답변 생성
등의 파이프라인을 자동으로 구성할 수 있음
2️⃣ 외부 데이터 연동 (RAG 구현 가능)
• 기존 LLM이 학습한 데이터 외에도 실시간 검색 및 외부 데이터베이스 연동 가능
• 벡터 검색을 활용한 Retrieval-Augmented Generation (RAG) 기법 구현 가능
3️⃣ 메모리 기능
• 이전 대화 및 작업 기록을 저장하여 연속적인 대화 및 컨텍스트 유지 가능
• LLM이 문맥을 유지하면서 자연스럽게 대화할 수 있도록 지원
LangChain은 다양한 모듈을 조합하여 강력한 LLM 기반 시스템을 구축할 수 있도록 설계되었습니다.

1️⃣ 프롬프트 (Prompts)
• LLM이 더 효과적으로 작동할 수 있도록 프롬프트 템플릿을 제공
• 사용자가 직접 쿼리를 작성하지 않아도 구조화된 프롬프트를 생성하여 활용 가능
2️⃣ 인덱스 (Indexes)
• LLM이 학습한 데이터 외에도 외부 데이터 검색 가능
• 외부 DB와 연결하여 검색 기능을 추가하는 역할
✅ 도큐먼트 로더 (Document Loaders)
• RAG 기법을 활용하여 외부 데이터를 불러오는 기능
✅ 텍스트 스플리터 (Text Splitters)
• 긴 문서를 작은 조각으로 나누어 저장하여 검색 효율 향상
✅ 벡터 DB (Vector Database)
• 텍스트를 벡터로 변환하여 의미 기반 검색이 가능하도록 저장
3️⃣ 모델 (Models)
• LangChain은 GPT-4, Claude, Cohere 등 70개 이상의 LLM 모델과 연동 가능
• 다양한 모델을 조합하여 사용 가능
• 별도의 프롬프트 설정이나 메모리 조정 없이 모델만 변경하여 사용 가능
• 예를 들어, GPT-3를 사용하다가 특정 태스크에만 GPT-4를 사용하고싶은 경우 추가적으로 메모리, 프롬포트, 출력파싱등을 지정할 필요없이 같은 환경에서 모델만 교체해 사용할 수 있다.
4️⃣ 도구 (Tools)
• LLM이 외부 API, DB 등을 활용할 수 있도록 지원
• 예를 들어,
• SQL 데이터베이스에서 쿼리를 실행하여 데이터를 조회
• Pandas를 활용해 데이터 분석
• Google 검색을 활용하여 최신 정보 검색
등의 작업을 수행 가능
5️⃣ 출력 파서 (Output Parsers)
• LLM의 출력 결과를 구조화된 형식(JSON, 리스트, 키-값 쌍 등)으로 변환
• 예를 들어,
• 모델이 자연어로 출력한 결과를 JSON 형태로 변환하여 API에서 활용 가능
많이 혼동되는 개념 중 하나가 LangChain과 RAG의 관계입니다.
✅ RAG (Retrieval-Augmented Generation)
• LLM의 사전 학습 데이터 외에 추가적인 외부 데이터를 활용하는 방식
• 즉, RAG는 특정 "기법"이며
• LLM이 벡터 데이터베이스나 검색 엔진을 활용하여 최신 정보 및 맥락을 반영한 답변을 생성하는 구조
✅ LangChain
• LLM 애플리케이션을 구축하는 "프레임워크"
• LangChain을 활용하면 RAG 기법을 손쉽게 구현 가능
• 예를 들어, LangChain을 사용하여 벡터 검색, DB 연결, RAG 파이프라인을 구성할 수 있음
즉, RAG는 LLM의 한계를 극복하기 위한 방법론이고, LangChain은 그 방법론을 쉽게 구현할 수 있도록 돕는 프레임워크이다.
🔗
https://brunch.co.kr/@ywkim36/147
https://www.youtube.com/watch?v=aDN8hm4pfPE