본문 바로가기
LLM/LLM 공부

LangChain의 개념

by 컴돌이_예준 2025. 3. 7.
 

Lang Chain 개념

언어 모델로 구동되는 애플리케이션을 개발하기 위한 프레임워크

  • 데이터 인식 : 언어 모델을 다른 데이터 소스에 연결합니다.
  • 에이전트 기능: 언어 모델이 환경과 상호 작용할 수 있도록 합니다.

Lang Chain 왜 써야할까?

  1. 정보 접근 제한 학습된 이후의 정보에 대해 답변을 하지 못하거나, 거짓된 답변을 제공함
    => Vectorsotre 기반 정보 탐색 or Agent 활용한 검색 결합
  2. 토큰 제한
    ⇒ TextSplitter를 활용한 문서 분할
  3. 환각현상 (Hallucinaition)
    Fact에 대한 질문을 했을 때, 엉뚱한 대답을 하거나 거짓말을 하는 경우가 많다.
    ⇒ 주어진 문서에 대해서만 답하도록 Prompt 입력

ChatGPT 개량 방법

    1. Fine-tuning
      기존 딥러닝 모델의 weight를 조정하여 원하는 용도의 모델로 업데이트
    2. N-short Learning
      0~n개의 출력 예시를 제시하여, 딥러닝이 용도에 알맞은 출력을 하도록 조정함.
    3. In-context Learning
      문맥을 제시하고, 이 문맥 기반으로 모델이 출력하도록 조정함.
      LangChain은 In-context Learning의 도구

LangChain의 구조

  • LLM : 초거대 언어모델로, 생성 모델의 엔진과 같은 역할을 하는 핵심 구성 요소
    (GPT-3.5, PALM-2, LLAMA, StableVicuna, WizrdLM, MPT, …)
  • Prompts : 초거대 언어모델에게 지시하는 명령문
    (Prompt Templates, Chat Prompt Template, Example Selectors, Output Parsers)
  • Index : LLM이 문서를 쉽게 탐색할 수 있도록 구조화 하는 모듈
    (Document Loaders, Text Splitters, Vectorstores, Retrievers, …)
  • Memory : 채팅 이력을 기억하도록 하여, 이를 기반으로 대화가 가능하도록 하는 모듈
    (ConversationsBufferMemory, Entity Memory, Conversation Knowledge Graph Memory,…)
  • Chain : LLM 사슬을 형성하여, 연속적인 LLM 호출이 가능하도록 하는 핵심 구성 요소
    (LLM Chain, Question Answering, Summarization, Retrieval Question/Answering, …)
  • Agents : LLM이 기존 Prompt Template으로 수행할 수 없는 작업을 가능케하는 모듈
    (Custom Agent, Custom MultiAction Agent, Conversation Agent, …)

예시: PDF 챗봇 구축

  1. 문서 업로드 (Document Loader)
    PyPDFLoader를 활용한 문서 가져오기
  2. 문서 분할 (Text Splitter)
    PDF 문서를 여러 문서로 분할
  3. 문서 임베딩 (Enbed to Vectorstore)
    LLM이 이해할 수 있도록 문서 수치화
  4. 임베딩 검색 (VectorStore Retriever)
    질문과 연광성이 높은 문서 추출
  5. 답변 생성 (QA Chain)

현재 NLP 모델의 거의 대부분은 Transformer 아키텍처를 기반으로 하며, 모델의 용도에 따라 트랜스포머의 Encoder, Decoder를 개별 또는 통합 사용하는 추세

Encoder - 말을 잘 이해함

Decoder - 말을 잘함

<LLM 발전 양상>

 

Decoder 중심의 빠른 발전이 있었다

 

Closed Source

OpenAI - GPT 시리즈

Goggle - PALM, LaMDA, Bard

⬆️뛰어난 성능, API방식의 편리한 사용성

⬇️(-) 보장할 수 없는 보안, API 호출 비용

 

Open Source

(Meta) Llama 계열의 LLM

그외 (MPT, WizardLM)

⬆️ Closed source 못지 않은 성능, 높은 보안성, 낮은 비용

⬇️ 개발 난이도 높음, 사용 위한 GPU 서버 필요

'LLM > LLM 공부' 카테고리의 다른 글

Retrieval-Text Embeddings  (0) 2025.03.07
Retrieval - Text Splitters  (0) 2025.03.07
Retrieval - Document Loaders  (0) 2025.03.07
PromptTemplate에 대해  (0) 2025.03.07
ChatGPT API 실습  (0) 2025.03.07