랭체인(LangChain)은 언어 모델(LLM)을 중심으로 다양한 외부 데이터, 도구, 환경과 연결하여 고급 애플리케이션을 구성할 수 있도록 도와주는 파이썬 기반 오픈소스 프레임워크이다.
개요
기본적인 프롬프트-응답 방식에서 벗어나, 랭체인은 기억(Memory), 체인(Chain), 도구(Tool), 에이전트(Agent), 검색 기반 질의(RAG) 등 고급 기능을 통해 LLM을 유연하고 실용적인 시스템으로 구성할 수 있게 한다.
2023년 이후로 급속히 인기를 얻으며, 챗봇, 문서 요약, 질의응답 시스템, 데이터 분석 도우미, 자동화 에이전트 등에 널리 사용되고 있다.
주요 구성 요소
- 프롬프트 템플릿(PromptTemplate)
- 입력값에 따라 동적으로 프롬프트를 생성하는 기능
- LLM 인터페이스
- OpenAI, Anthropic, HuggingFace 등 다양한 LLM API를 연결
- 체인(Chain)
- 여러 개의 LLM 호출 또는 작업 단계를 연결하여 복합적인 처리 흐름 구성
- 메모리(Memory)
- 이전 대화 또는 상태 정보를 기억하여 대화형 시스템 구현 가능
- 도구(Tool) 및 에이전트(Agent)
- 계산기, 검색 API, 외부 문서 등 다양한 도구를 활용해 문제 해결을 수행하는 LLM 기반 에이전트 구성
- 문서 로딩 및 RAG
- PDF, 웹페이지, Notion, DB 등에서 문서를 불러와 벡터화 후 질의응답 수행 (Retrieval-Augmented Generation)
설치
pip 명령어를 사용하여 설치할 수 있다.
pip install langchain
OpenAI와 함께 사용하는 경우:
pip install openai
예제
간단한 OpenAI GPT 모델을 사용하는 체인 예제:
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
llm = OpenAI(temperature=0.7)
prompt = PromptTemplate(
input_variables=["product"],
template="Write a short advertisement for the following product: {product}"
)
chain = LLMChain(llm=llm, prompt=prompt)
response = chain.run("noise-cancelling headphones")
print(response)
주요 활용 사례
- 챗봇 - 맥락을 유지하는 대화형 에이전트 구축
- 문서 질의응답(RAG) - 벡터 DB와 결합하여 사내 문서, 논문, 리포트 기반 질문 처리
- 자동화 에이전트 - 계산기, 웹 검색, 일정 관리 등 다양한 도구와 결합
- 데이터 요약 및 분석 - CSV, SQL, 웹 페이지 등에서 요약 및 해석
관련 생태계
- FAISS / Chroma — 벡터 데이터베이스
- OpenAI — GPT 기반 모델 제공
- LangSmith — 디버깅 및 로그 추적 도구
- LlamaIndex — 문서 구조화 및 검색 보조 라이브러리
같이 보기
참고 문헌
- https://www.langchain.com
- https://python.langchain.com
- Harrison Chase, LangChain: Building Applications with LLMs