LangChain 독학 가이드 1 - LangChain 소개

learning by Seven Fingers Studio 15분
LangChainAIPythonLLM챗봇

LangChain, 왜 갑자기 핫해졌을까?

ChatGPT가 나온 이후로 AI에 대한 관심이 폭발적으로 늘어났죠. 저도 처음엔 ChatGPT 웹사이트에 들어가서 질문만 했는데, 어느 순간 “내가 직접 AI 서비스를 만들 수 있지 않을까?”라는 생각이 들더라고요. 그런데 막상 시작하려니 막막했습니다. GPT API만으로는 뭔가 부족한 느낌이었거든요.

그때 발견한 게 바로 LangChain입니다. LangChain은 한마디로 “LLM(대형 언어 모델)을 활용해서 실전 애플리케이션을 만들기 쉽게 도와주는 프레임워크”예요. 복잡한 AI 애플리케이션을 레고 블록 조립하듯 만들 수 있게 해주는 거죠.

LLM만으로는 왜 부족할까?

GPT-4나 Claude 같은 LLM은 정말 똑똑합니다. 하지만 몇 가지 한계가 있어요:

1. 정보가 최신이 아니다

ChatGPT에게 “오늘 날씨 어때?”라고 물어보면 대답을 못 합니다. 학습 데이터의 시점이 과거로 고정되어 있기 때문이죠. 실시간 정보에 접근할 수 없어요.

2. 내 데이터를 모른다

회사 내부 문서, 개인 파일, 데이터베이스에 있는 정보는 당연히 모릅니다. GPT는 공개된 인터넷 데이터로만 학습했으니까요.

3. 행동을 할 수 없다

“이메일 보내줘”, “파일 저장해줘” 같은 실제 작업을 수행할 수 없어요. 답변만 줄 뿐이죠.

4. 대화 기록을 기억 못한다

API를 직접 호출하면 매번 독립적인 대화가 됩니다. 이전에 무슨 얘기를 했는지 기억하려면 직접 코드를 짜야 해요.

이런 한계들을 LangChain이 해결해 줍니다.

LangChain이 해결하는 문제들

LangChain은 LLM의 한계를 극복할 수 있는 다양한 도구를 제공합니다:

메모리 관리

대화 내용을 기억하고 문맥을 유지할 수 있게 해줍니다. “저번에 얘기한 그거”라고 해도 알아들을 수 있죠.

외부 데이터 연결

PDF, 데이터베이스, 웹페이지, API 등 어떤 데이터든 LLM과 연결할 수 있어요. 회사 내부 문서를 학습시켜서 질문에 답하는 챗봇을 만들 수 있습니다.

도구 사용 (Agent)

검색하기, 계산기 사용하기, API 호출하기 등 실제 행동을 할 수 있게 합니다. “현재 비트코인 가격 알려줘”라고 하면 실시간으로 API를 호출해서 가격을 가져오는 식이죠.

프롬프트 관리

효과적인 프롬프트를 템플릿으로 만들어서 재사용할 수 있어요. 매번 긴 지시사항을 복사-붙여넣기 할 필요가 없습니다.

LangChain으로 뭘 만들 수 있을까?

제 경험상 LangChain으로 만들 수 있는 것들은 정말 다양합니다:

1. 문서 질의응답 시스템 (RAG)

PDF 파일 수백 개를 업로드하면, 그 내용을 바탕으로 질문에 답하는 시스템을 만들 수 있어요. 법률 문서, 기술 매뉴얼, 연구 논문 등 방대한 자료를 빠르게 검색하고 이해할 수 있죠.

from langchain_community.document_loaders import PyPDFLoader
from langchain_openai import ChatOpenAI
from langchain.chains import RetrievalQA

# PDF 로드
loader = PyPDFLoader("manual.pdf")
documents = loader.load()

# 질의응답 시스템 구축
qa_chain = RetrievalQA.from_chain_type(
    llm=ChatOpenAI(model="gpt-4"),
    retriever=vectorstore.as_retriever()
)

# 질문하기
answer = qa_chain.invoke("이 제품의 보증 기간은?")
print(answer)

실행 결과:

{'query': '이 제품의 보증 기간은?', 'result': '매뉴얼 3페이지에 따르면 이 제품의 보증 기간은 구매일로부터 2년입니다. 다만 소모품은 6개월 보증이 적용됩니다.'}

2. 챗봇

고객 상담, 사내 헬프데스크, 개인 비서 등 다양한 용도의 대화형 AI를 만들 수 있습니다.

3. 자동화 에이전트

“매일 아침 뉴스 요약해서 이메일로 보내줘”, “주식 가격 모니터링하다가 특정 가격 되면 알려줘” 같은 자동화 작업이 가능해요.

4. 콘텐츠 생성기

블로그 글, 마케팅 카피, 보고서 등을 자동으로 생성하는 시스템을 만들 수 있습니다.

LangChain의 핵심 컴포넌트

LangChain은 여러 개의 모듈로 구성되어 있어요. 레고 블록처럼 필요한 것만 골라서 조립하면 됩니다:

Models

OpenAI GPT, Claude, Gemini 등 다양한 LLM을 쉽게 연결할 수 있어요. 모델을 바꾸고 싶으면 코드 몇 줄만 수정하면 됩니다.

Prompts

효과적인 프롬프트를 템플릿으로 만들어서 관리할 수 있습니다. 변수를 넣어서 동적으로 프롬프트를 생성할 수도 있죠.

Chains

여러 단계를 연결해서 복잡한 작업을 수행합니다. “문서 읽기 → 요약하기 → 번역하기” 같은 파이프라인을 쉽게 만들 수 있어요.

Memory

대화 내용을 기억하는 기능입니다. 채팅 기록을 저장하고, 문맥을 유지하고, 중요한 정보를 기억할 수 있죠.

Agents

스스로 판단해서 도구를 사용하는 AI입니다. “이 문제를 해결하려면 검색이 필요하겠네” 하고 알아서 검색 도구를 사용하는 식이에요.

Retrievers

문서나 데이터베이스에서 관련 정보를 찾아오는 역할을 합니다. RAG 시스템의 핵심이죠.

누가 LangChain을 배워야 할까?

실제로 LangChain은 다양한 분야에서 활용되고 있어요:

  • 개발자: AI 기능을 앱에 통합하고 싶은 분
  • 데이터 분석가: 데이터 분석을 AI로 자동화하고 싶은 분
  • 콘텐츠 크리에이터: AI를 활용해 콘텐츠 제작을 효율화하고 싶은 분
  • 스타트업 창업자: AI 기반 서비스를 빠르게 프로토타입하고 싶은 분
  • 학생/연구자: AI 논문 구현, 연구 자동화에 관심 있는 분

비전공자도 충분히 배울 수 있습니다. Python 기초만 알면 돼요. 저도 처음엔 Python도 잘 모르는 상태에서 시작했는데, 하나씩 따라 하다 보니 어느새 간단한 챗봇을 만들 수 있게 되더라고요.

마치며

LangChain은 AI 애플리케이션 개발의 진입 장벽을 확 낮춰준 훌륭한 도구입니다. 복잡한 AI 시스템을 레고 블록 조립하듯 만들 수 있게 해주죠. 다음 글에서는 LangChain을 사용하기 위한 개발 환경을 설정하는 방법을 알아보겠습니다. Python 설치부터 API 키 발급까지 차근차근 따라 해 보시죠!


다음 글 보기

다음 글 →
LangChain 독학 가이드 2 - 개발 환경 설정
← 블로그 목록으로