Skip to content

LangChain 소개와 환경설정

LangChain이 무엇이고, 왜 필요한지 이해한 뒤 로컬 개발 환경을 구성합니다

학습 목표

  1. LangChain의 역할과 핵심 흐름을 이해한다
  2. 공식 문서가 초심자에게 어려운 이유를 파악한다
  3. Ollama를 설치하고 로컬에서 LLM을 실행한다
  4. 개발 환경(가상환경, 패키지)을 구성한다

1. LangChain이란?

LangChain은 LLM(Large Language Model)을 활용한 애플리케이션을 쉽게 만들 수 있도록 도와주는 Python 프레임워크입니다.

핵심은 단순합니다. 프롬프트를 작성하고, LLM에게 전달하고, 응답을 처리하는 것입니다.

LangChain이 해주는 일을 정리하면 이렇습니다:

역할설명LangChain 도구
프롬프트 구성템플릿으로 프롬프트를 유연하게 작성PromptTemplate, ChatPromptTemplate
LLM 호출다양한 모델을 동일한 인터페이스로 호출ChatOllama, ChatOpenAI, ChatAnthropic
응답 처리결과를 문자열, JSON 등 원하는 형식으로 변환OutputParser, Pydantic
체인 구성여러 단계를 파이프라인으로 연결LCEL, Runnable

2. 공식 문서가 어려운 이유

LangChain 공식 문서에는 튜토리얼과 How-to 가이드가 매우 자세하게 있습니다. 하지만 초심자에게는 핵심보다 부가 기능 설명이 너무 많아서 무엇부터 봐야 할지 막막합니다.

요리에 비유하면 이런 느낌입니다:

공식 문서는 이미 LangChain을 알고 있는 사람에게는 훌륭합니다. "이런 것도 되는구나!"를 발견할 수 있거든요. 하지만 처음 배우는 사람에게는 핵심 흐름을 먼저 이해하는 것이 중요합니다.

이 학습 자료에서는 다음 순서로 진행합니다:

  1. LLM 호출하는 법 - 모델을 불러서 질문하기
  2. 프롬프트 작성하는 법 - 질문을 잘 구성하기
  3. 답변 처리하는 법 - 결과를 원하는 형태로 변환하기

3. 로컬 LLM vs 상용 LLM

LLM을 사용하는 방법은 크게 두 가지입니다:

학습 단계에서는 Ollama(로컬 모델)부터 시작하는 것을 권장합니다. 무료이고 설치가 간단하기 때문입니다.

주요 로컬 모델

모델파라미터특징
DeepSeek1.5B ~ 671B추론(Reasoning) 모델, Think 토큰 포함
Llama 3.21B, 3BMeta 개발, 가볍고 빠름
Llama 3.370BLlama 3.1 405B와 유사 성능, 빠른 속도
EXAONE (엑사원)32BLG 개발, 공식 한국어 지원

한국어가 필요하다면 EXAONE을 추천합니다. Llama 3.1 405B도 한국어 성능이 괜찮지만 공식 지원은 아닙니다.


4. Ollama 설치

4.1 Ollama 다운로드

  1. ollama.com 접속
  2. Download 클릭
  3. 운영체제 선택 (Mac / Windows / Linux)
  4. 다운로드된 파일 실행

설치가 완료되면 상단 메뉴바(Mac)에 Ollama 아이콘이 나타납니다.

4.2 모델 다운로드(Pull)

터미널에서 ollama pull 명령으로 모델을 로컬에 저장합니다.

bash
# Llama 3.2 1B 모델 다운로드 (약 30초 ~ 1분)
ollama pull llama3.2:1b

# DeepSeek 1.5B 모델 다운로드
ollama pull deepseek-r1:1.5b

: 처음에는 1B ~ 1.5B 크기의 작은 모델부터 시작하세요. 큰 모델(예: DeepSeek 671B = 400GB 이상)은 일반 컴퓨터에서 감당할 수 없습니다.

4.3 모델 실행 확인

bash
# 모델 직접 실행 (대화형)
ollama run llama3.2:1b

# 다운로드된 모델 목록 확인
ollama list

5. 개발 환경 구성

5.1 가상환경 생성

가상환경은 pyenv, Anaconda, Miniconda, virtualenv 중 편한 것을 사용하면 됩니다.

bash
# pyenv 사용 예시
pyenv virtualenv 3.11 langchain-basics
pyenv activate langchain-basics

# virtualenv 사용 예시
python -m venv langchain-basics
source langchain-basics/bin/activate  # Mac/Linux

5.2 필수 패키지 설치

bash
# LangChain + Ollama 연동 패키지
pip install langchain langchain-ollama

# Jupyter 노트북 사용 시
pip install ipykernel

# OpenAI 모델 사용 시 (선택)
pip install langchain-openai python-dotenv

최신 LangChain Python 기준으로 Ollama 연동은 별도 패키지인 langchain-ollamaChatOllama 클래스를 사용한다.

5.3 첫 번째 코드 실행

python
from langchain_ollama import ChatOllama

# LLM 선언 (로컬 Llama 3.2 1B 모델)
llm = ChatOllama(model="llama3.2:1b")

# LLM 호출
response = llm.invoke("What is the capital of France?")
print(response)

실행 결과로 AIMessage 객체가 반환됩니다:

AIMessage(content='The capital of France is Paris.', ...)

여기서 content가 LLM의 실제 응답 텍스트입니다.


핵심 정리

  • LangChain은 LLM 애플리케이션을 만드는 Python 프레임워크
  • 핵심 흐름: 프롬프트 작성 → LLM 호출 → 응답 처리
  • Ollama로 로컬에서 무료로 LLM을 실행할 수 있음
  • 작은 모델(1B~1.5B)부터 시작하는 것을 권장
  • 한국어가 필요하면 EXAONE 모델 추천