본문 바로가기
AI

랭체인(LangChain)이란?

by Dev_Mook 2025. 1. 21.
728x90

거대 언어 모델(Large Language Models:LLMs) 애플리케이션을 개발하기 위해

꼭 알아야 할 개념 중 하나가 바로 랭체인(LangChain)이에요!

 

이번 포스팅에서는 랭체인(LangChain)이 무엇이고, 어떻게 구성되어 있는지 알아보도록 할게요.

그리고 랭체인(LangChain)에서 제공하는 라이브러리를 활용하여

GPT 모델에 프롬프트를 입력하는 예제도 알아볼게요!

 

참고로 작성한 내용은 랭체인(LangChain)의 공식 문서를 참고하였습니다.

물론 다른 자료들도 참고하였고요!

 

 

# 랭체인(LangChain)이란?

 

랭체인(LangChain)거대 언어 모델(Large Language Models:LLMs) 애플리케이션을

개발하기 위한 프레임워크에요!

즉, 개발에 필요한 여러 도구들을 결합해서 애플리케이션을 개발할 수 있도록 환경을 제공해주죠.

 

랭체인은 LLM 애플리케이션의 라이프사이클을 단순화 해줘요!

  • Development(개발)
    - 랭체인(LangChain)의 오픈소스 컴포넌트(Component)
      타사 통합(Third party integrations)을 사용하여 애플리케이션을 빌드해요.

    - LangGraph를 사용하여 최고의 스트리밍과 사용자(인간) 참여를 지원하는
      에이전트를 빌드해요.

  • Productionization(생산)
    - LangSmith를 사용하여 애플리케이션을 검사, 모니터링하고 평가해요.
    - 이를 통해 지속적으로 최적화하고 배포할 수 있답니다.

  • Deployment(배포)
    - LangGraph 플랫폼을 사용하여 LangGraph 애플리케이션을 프로덕션에
      바로 사용할 수 있는 API와 Assistant로 전환해요.

 

랭체인(LangChain)은 임베딩 모델, 벡터 스토어와 같은 거대 언어 모델 및 관련 기술을 위한

표준 인터페이스를 구현하고 수백 개의 공급자와 통합한답니다.

 

 

# 랭체인의 활용 사례

 

그럼 랭체인(LangChain)을 활용하여 어떤 애플리케이션을 만들 수 있을까요?

당연히 사용자와 거대 언어 모델(LLM)이 소통할 수 있는 애플리케이션을 주로 만들겠죠?

'대화형 챗봇', '질의응답 시스템', '워크플로우 자동화', '데이터 통합 및 분석' 등

다양한 애플리케이션들이 랭체인을 활용하여 만들어지고 있죠.

 

  • 대화형 챗봇
    - LLM과 랭체인의 메모리 기능을 사용해서 문맥을 이해하고 유지하는
      챗봇을 개발할 수 있어요.

  • 문서 질의응답 시스템
    - 사용자가 업로드한 PDF, 텍스트 파일, 데이터베이스 등에서 정보를 추출하고
      답변을 제공하는 시스템을 만들 수 있어요.

  • 워크플로우 자동화
    - 랭체인의 체인(Chains)과 에이전트(Agents)를 활용하여
      반복되는 작업을 자동화할 수 있어요.

  • 데이터 통합 및 분석
    - 외부 API나 데이터베이스 연결을 통해 복잡한 데이터를 분석할 수 있어요.

 

# 랭체인의 라이브러리 구성(아키텍처)

 

랭체인(LangChain)은 오픈소스 라이브러리들로 구성되어 있어요.

그 중 가장 대표적인 라이브러리 5가지에 대해 간단히 알아볼게요.

 

  • langchain-core
    - 채팅 모델과 기타 컴포넌트에 대한 추상화를 제공해요.

  • Integration Packages(통합 패키지)
    - 중요한 통합은 랭체인(LangChain) 팀과 통합 개발자가 공동으로 유지 관리하는
      패키지로 분할했어요.

    - 여기에는 langchain-openai, langchain-anthropic 등이 있어요.

  • langchain
    - 애플리케이션의 아키텍처를 구성하는 체인, 에이전트 및 검색 전략에 대한 기능을 제공해요

  • langchain-community
    - 커뮤니티에서 유지 관리해줘요

    - Third-Party Integration 기능도 제공한데요.

  • langgraph
    - 랭체인(LangChain)의 컴포넌트를 지속성, 스트리밍, 기타 주요 기능을 갖춘 프로덕션 준비
      애플리케이션으로 결합하기 위한 오케스트레이션 프레임워크에요.

 

# 프롬프트 입력 방법

 

랭체인은 주로 파이썬(Python)을 이용하여 개발을 해요.

개발 문법도 쉽게 익힐 수 있고, 무엇보다 AI 서비스 개발에 최적화 되어있는

언어이기 때문이겠죠?

 

그럼 OpenAI의 API 키를 활용하여 프롬프트를 전달하는 예제부터 볼게요!

 

import getpass
import os

# 환경 변수(OPEN_API_KEY)에 OpenAI의 API 키 저장하기
if not os.environ.get("OPENAI_API_KEY")
	os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key")

from langchain_openai import ChatOpenAI

# 채팅을 위한 모델 설정 : gpt-4o-mini
model = ChatOpenAI(model="gpt-4o-mini")

# GPT 모델(Model)에게 사용자가 입력한 프롬프트 전달
model.invoke("Hello World~!")

 

OS와 LangChain 라이브러리만 가져오면 쉽게 개발할 수 있겠죠?

여러분들도 한 번씩 따라해봐요!

그럼 'gpt-4o-mini' 모델이 그때 그때 새로운 답변을 해준답니다~

(생성형 AI이기 때문에 같은 질문을 입력해도 결과가 달라질 수 있습니다.

 

 

# 마무리

 

랭체인(LangChain)에 대해 조금은 알 것 같나요?

비록 자세한 설명은 하지 않았지만 랭체인(LangChain)이 무엇이고,

어떻게 활용되고 있는지 이해했어요.

 

물론! 아직도 랭체인(LangChain)에 대해 학습할 내용이 더 많답니다!

이번 포스팅에서는 랭체인의 개념에 대해 간략히 알아봤으니

나중에는 LangGraph, LangGraph 플랫폼, LangSmith에 대해서도 깊게 공부해볼게요.

포스팅을 끝까지 봐주세요~

 

글을 읽으면서 잘못된 점이 있으면 언제든 지적해주세요.

더욱 더 공부를 하고 수정을 해나갈게요.

 

* 참고로 '랭체인의 활용 사례'에 대한 정보는 ChatGPT를 참고한 정보입니다.

 

 

# 참고한 사이트

 

 

Introduction | 🦜️🔗 LangChain

LangChain is a framework for developing applications powered by large language models (LLMs).

python.langchain.com

728x90