AI/LLM

LangChain이란?

dohem 2024. 3. 15. 16:16

출처

  • 위 강의를 기반으로 학습한 내용을 정리한 글입니다.

 

LangChain

  • 언어 모델로 구동되는 애플리케이션을 개발하기 위한 프레임워크
  • 언어 모델을 더 잘 활용할 수 있게 도와주는 도구
  • 데이터인식 : 언어 모델을 다른 데이터 소스에 연결
  • 에이전트 기능 : 언어 모델이 환경과 상호 작용할 수 있도록 함

LangChain 사용 이유

  • 정보 접근 제한 : GPT-3.5 경우 2021년까지의 데이터를 학습하여, 2022년부터의 정보에 대해서는 답변 어려움
    => Vectorstore 기반 정보 탐색 or Agent 활용한 검색 결합
  • 토큰 제한 : GPT-3.5, GPT-4 각각 4069, 8192토큰 제한 존재
    => TextSplitter를 활용한 문서 분할
  • 환각현상(할루시네이션) : Fact에 대한 질문 했을 때, 엉뚱한 대답이나 거짓말을 하는 경우가 있음
    => 주어진 문서에 대해서만 답하도록 Prompt 입력

=> ChatGPT 개량 필요성

 

ChatGPT 개량

  • Fine-tuning : 기존 딥러닝 모델의 weight를 조정하여, 원하는 용도의 모델로 업데이트
  • N-shot Learning : 0~n개의 출력 예시를 제시, 딥러닝이 용도에 맞게 출력을 하도록 조정
  • In-context Learning : 문맥을 제시하고, 이 문맥 기반으로 모델이 출력하도록 조정

=> LangChiain은 In-context Learning의 도구

 

LangChain의 구조

  • LLM
    초거대 언어모델로, 생성 모델의 엔진과 같은 역할을 하는 핵심 구성 요소
  • Prompts
    초거대 언어모델에게 지시하는 명령문
  • Index
    LLM이 문서를 쉽게 탐색할 수 있도록 구조화 하는 모듈
  • Memory
    채팅 이력을 기억하도록 하여, 이를 기반으로 대화가 가능하도록 하는 모듈
  • Chain
    LLM 사슬을 형성하여, 연속적인 LLM 호출이 가능하도록 하는 핵심 구성 요소
  • Agents
    LLM이 기존 Prompt Template로 수행할 수 없는 작업을 가능하게 하는 모듈