ChatGPT 같은 AI를 내 서비스에 붙이고 싶을 때, 매번 바닥부터 코드를 짜야 할까요? 그렇지 않습니다. 랭체인(LangChain)은 LLM 앱을 만들 때 반복되는 작업들을 미리 만들어 둔 오픈소스 프레임워크입니다. 2025년 말 1.0 정식 버전이 출시되면서 API가 크게 정리되어, 지금이 배우기 가장 좋은 시점입니다.
랭체인 = LLM 앱을 위한 부품상자
레고를 떠올려 보세요. 자동차를 만들든 성을 만들든, 규격이 맞는 블록만 있으면 뭐든 조립할 수 있습니다. 랭체인이 딱 그렇습니다. '모델 블록', '프롬프트 블록', '문서검색 블록', '도구 블록'이 모두 같은 규격(인터페이스)으로 되어 있어서, OpenAI 모델을 쓰다가 Claude로 바꿔도 블록 하나만 교체하면 됩니다.
- 모델(Model): GPT, Claude, Gemini 등 LLM을 같은 방식으로 호출하는 블록
- 프롬프트(Prompt): 질문 틀을 만들어 두고 변수만 끼워 넣는 블록
- RAG 부품: 문서를 읽고(로더), 자르고(스플리터), 검색하는(리트리버) 블록
- 도구(Tool): AI가 계산기, 웹검색, DB 조회 같은 외부 기능을 쓰게 하는 블록
- 에이전트(Agent): 위 블록들을 조합해 스스로 판단하고 행동하는 AI
랭체인 1.0에서 달라진 점
1.0 이전의 랭체인은 기능이 너무 많아 '뭘 써야 할지 모르겠다'는 비판을 받았습니다. 1.0에서는 핵심만 남기고 정리했습니다. 에이전트는 create_agent 함수 하나로, 모델 초기화는 init_chat_model 하나로 통일되었고, 옛날 기능들은 langchain-classic 패키지로 분리되었습니다.
| 패키지 | 역할 | 설치 예시 |
|---|---|---|
| langchain | 핵심 기능 (create_agent 등) | pip install langchain |
| langchain-openai | OpenAI 모델 연동 | pip install langchain-openai |
| langchain-anthropic | Claude 모델 연동 | pip install langchain-anthropic |
| langgraph | 멀티 에이전트·워크플로우 | pip install langgraph |
| langchain-community | 문서 로더 등 커뮤니티 부품 | pip install langchain-community |
설치와 API 키 설정
5분 환경설정
- Python 3.10 이상 설치 확인 (python --version)
- 가상환경 생성: python -m venv venv 후 활성화
- pip install langchain langchain-openai 실행
- OpenAI 홈페이지에서 API 키 발급 (sk-로 시작하는 문자열)
- API 키를 환경변수 OPENAI_API_KEY로 등록
터미널에서 설치하기
# 가상환경 만들기 (프로젝트 폴더에서)
python -m venv venv
source venv/bin/activate # 윈도우는 venv\Scripts\activate
# 랭체인 핵심 + OpenAI 연동 패키지 설치
pip install langchain langchain-openai
# API 키를 환경변수로 등록 (윈도우는 set 명령어)
export OPENAI_API_KEY='sk-여기에-발급받은-키'
설치 확인: 첫 모델 호출
# 설치가 잘 됐는지 확인하는 최소 코드입니다
from langchain.chat_models import init_chat_model
# 모델 이름 앞에 제공사를 붙이는 것이 1.0 방식입니다
model = init_chat_model('openai:gpt-4o-mini')
# invoke = '실행해줘'라는 뜻의 표준 메서드
response = model.invoke('랭체인을 한 문장으로 소개해줘')
print(response.content) # AI의 답변 텍스트 출력
API 키를 코드에 직접 적으면 GitHub에 올렸을 때 유출됩니다. 반드시 환경변수나 .env 파일(+ python-dotenv 패키지)로 관리하고, .env는 .gitignore에 추가하세요.
인터넷 검색으로 나오는 랭체인 예제 중 상당수는 1.0 이전(0.x) 코드입니다. initialize_agent, LLMChain, AgentExecutor가 보이면 옛날 코드이니 이 코스의 1.0 방식(create_agent, 파이프 연산자)으로 바꿔 읽으세요.