Text Gen AI/랭체인 (LangChain)

LangChain - 랭체인 주요 모듈과 주요 기능을 정리

Vento AI 연구소 2026. 5. 3.
반응형

 

랭체인(LangChain)은 자연어 처리(NLP)와 인공지능(AI) 응용 프로그램 개발을 돕는 프레임워크로, 다양한 모듈을 통해 유연하고 확장 가능한 AI 애플리케이션 구축을 지원한다. 랭체인은 다음 모듈을 위한 표준 확장 가능한 인터페이스와 외부 통합을 제공한다.

모듈들을 조합하여 유연하고 복잡한 자연어 처리 애플리케이션을 구축할 수 있다. 필요에 따라 모듈을 선택적으로 사용하거나 커스터마이징 가능하여 다양한 프로젝트 요구사항을 충족한다. 랭체인의 모듈과 그 기능을 간단히 정리해 보자.

Model I/O

  • AI 모델과의 입력과 출력 데이터의 전달 및 처리를 담당.
  • 텍스트 입력 데이터를 모델이 이해할 수 있는 형식으로 변환.
  • 모델 출력 결과를 사용자가 원하는 형식으로 가공.
  • 프롬프트 템플릿과 같은 동적 데이터 입력을 지원.

1. Prompts (프롬프트)

  • 모델이 실행할 LLM 입력 형식을 정의하거나 관리.
  • 프롬프트 템플릿 생성.
  • 사용자 입력에 따라 동적 프롬프트 생성.
  • 프롬프트 조합 및 재사용 가능 구조 제공.

2. Chat Models (채팅 모델)

  • 대화형 모델과의 상호작용을 지원.
  • 챗봇을 구축하거나 대화 기반 워크플로 설계.
  • 사용자와의 다중 턴 대화를 처리하며, 이전 대화 내용을 기반으로 응답.

3. LLMs (Large Language Models)

  • OpenAI GPT, Google PaLM, Meta LLaMA 등 다양한 LLM과 연결.
  • 일반 텍스트를 입력 및 출력으로 사용하는 언어 모델용 인터페이스
  • 입력 프롬프트에 따라 창의적이거나 사실적인 텍스트 생성.
  • 모델의 온도(temperature), 최대 토큰(max_tokens) 등 설정을 통해 응답 스타일 제어.

4. Output Parsers (출력 파서)

  • LLM 출력 결과를 구조화된 데이터로 변환.
  • 출력에서 필요한 정보를 추출.
  • JSON, 테이블, 키-값 등 다양한 포맷으로 변환.

Retrieval

  • 대량의 데이터나 문서에서 관련 정보를 검색.
  • 질문-응답 시스템이나 RAG(검색 기반 생성) 구현.
  • 벡터 데이터베이스와 통합하여 유사도 기반 검색 수행.
  • 검색 결과를 모델 입력으로 전달하여 응답 생성.

5. Document Loaders (문서 로더)

  • 문서 처리를 위한 표준화된 인터페이스 제공.
  • 다양한 문서 형식의 데이터를 읽고 처리.
  • PDF, Word, 웹 페이지, 데이터베이스 등 다양한 소스에서 데이터 로드.

6. Text Splitters (텍스트 분리기)

  • 긴 텍스트를 처리하기 쉽게 작은 단위로 분리.
  • 텍스트 길이 제한에 맞게 분리.
  • 자연스러운 문맥 유지.

7. Embedding Models (임베딩 모델)

  • OpenAI, Hugging Face, Sentence Transformers 등의 임베딩 모델 지원.
  • 텍스트 데이터를 벡터로 변환하여 유사도 계산 및 검색에 활용.
  • 텍스트 간의 유사도를 기반으로 검색, 추천 시스템 구현.
  • 벡터 데이터를 저장 및 검색 가능한 벡터 저장소(Vector Store)와 통합.

8. Vector Stores (벡터 저장소)

  • 임베딩 벡터를 저장하고 검색하는 데이터베이스.
  • 벡터 데이터와의 통합으로 문맥 관련성 향상.
  • 유사도 기반 검색 지원.

9. Retrievers (검색)

  • 문서나 데이터에서 관련 정보를 검색.
  • 사용자의 쿼리에 가장 관련성이 높은 데이터 반환.
  • 벡터 저장소와 통합하여 효율적인 검색 제공.

Composition

  • 여러 기능이나 모듈을 조합하여 복잡한 워크플로를 생성.
  • 모델 입출력, 검색, 데이터 분석 등 다양한 작업을 통합.
  • 다양한 데이터 소스와의 통합을 통해 강력한 애플리케이션 구축.

10. Datasets (데이터셋)

  • LLM 평가 및 학습에 필요한 데이터 관리.
  • 훈련 및 테스트 데이터를 효율적으로 관리.
  • 모델 성능 비교 및 평가.

11. Tools (툴)

  • LLM이 작업을 수행하는 데 사용하는 외부 기능 또는 API.
  • 계산기, 데이터베이스, API 호출 등 다양한 기능 제공.
  • 맞춤형 툴 추가 및 관리.

12. Agents (에이전트)

  • 동적으로 작업을 수행하고, 필요에 따라 툴을 호출.
  • 모델이 주어진 작업을 분석하고, 적절한 툴 호출.
  • 의사결정 및 유연한 워크플로 구축.
  • 다양한 에이전트 유형(예: Zero-shot, ReAct 등) 지원.

13. Chains (체인)

  • 여러 작업을 연결하여 복잡한 워크플로를 구축.
  • 단일 작업을 여러 단계로 나누어 처리.
  • 각 단계의 입력과 출력을 체인 형태로 연결.

Additional

14. Memory (메모리)

  • 대화 상태를 저장하고 관리하여 컨텍스트를 유지.
  • 단기 또는 장기 메모리 지원.
  • 대화 흐름 및 사용자의 이전 입력 기록 관리.
  • 체인과의 통합으로 자연스러운 대화 생성.

15. Callbacks

  • 체인이나 에이전트 실행 중간에 사용자 지정 작업 수행.
  • 디버깅, 로깅, 실행 상태 모니터링.
  • 실행 흐름 제어.

랭체인의 주요 기능

1) 다양한 데이터 소스와의 통합

  • 데이터베이스, API, 파일 시스템 등 다양한 데이터 소스를 실시간으로 활용 가능.
  • 복잡한 데이터를 실시간으로 처리하여 사용자에게 정확하고 관련성 높은 정보 제공.
  • 활용 사례: 금융 서비스의 실시간 시장 데이터 분석, 의료 분야의 환자 기록 조회 및 분석.

2) 유연한 프롬프팅 및 컨텍스트 관리

  • 언어 모델(LLM)의 응답 정확도를 높이기 위한 프롬프팅 및 컨텍스트 관리 기능 제공.
  • 대화 흐름의 연속성을 유지하여 자연스러운 상호작용 가능.
  • 활용 사례: 고객 지원 챗봇, 인터랙티브 학습 도우미.

3) 파인튜닝 및 커스터마이징

  • 특정 비즈니스 요구에 맞춘 언어 모델을 파인튜닝하여 전문화 가능.
  • 다양한 모델을 쉽게 교체 및 조정하여 유연한 애플리케이션 설계.
  • 활용 사례: 특정 산업의 전문 용어 이해 및 맞춤형 응답 생성.

4) 데이터 반응형 애플리케이션 구축

  • 실시간 데이터와 상호작용하는 애플리케이션 개발 가능.
  • 사용자 입력에 따라 즉각적으로 반응하는 시스템 구현.
  • 활용 사례: 실시간 투자 전략 조정 금융 앱, 맞춤형 학습 콘텐츠 제공 교육 플랫폼.

댓글