Langchain 개요

Jae·2024년 8월 25일

ChatGPT의 개념과 원리

LLM이란

  • 언어 모델로 구동되는 애플리케이션을 개발하기 위한 프레임워크
  • 특징
    - 데이터 인식
    - 에이전트 기능

ChatGPT의 한계

  1. ChatGPT는 2021년까지 데이터를 학습한 모델로 2022년부터의 정보는 답변을 하지 못하거나 바른 응답을 하지 못한다. -> Vectorsotre기반 정보탐색 또는 Agent 활용한 검색 결합으로 해결 가능
  2. 토큰 제한 : GPT-3.5는 4096, GPT-4는 8196이라는 입력 토큰 제한이 존재한다.
  3. 환각현상 : Fact에 대한 질문을 했을 때, 질문의 의도와 전혀 맞지않는 대답을 하는 경우가 많다.
    -> LangChain을 통해 이 한계를 극복할 수 있다.

ChatGPT 개량

  • Fine-tuning : 기존 딥러닝 모델의 weight를 조정하여 원하는 용도의 모델로 업데이트한다. 모델을 재학습시켜야한다.
  • N-shot Learing : 0개에서 n개의 출력 예시를 제시하여, 딥러닝이 용도에 알맞은 출력을 하도록 조정한다.
  • In-context Learing : 문맥을 제시하고 이 문맥 기반으로 모델이 출력되도록 조정한다. LangChain을 이용해서 가능하다.

LangChain의 종류와 역할

LLM

  • 초거대 언어모델로, LangChain을 구동하게 하는 엔진
  • 오픈소스도 사용가능하다.

Prompts

  • 초거대 언어모델이 지시하는 명령문
  • 프롬프트 템플릿 : 언어모델에 전달할 명령문을 쉽게 전달 가능하다.
    ex. Prompt Templates, Chat Prompt Template, Example Selectors, Output Parsers.

Index

  • 초거대언어모델이 문서를 쉽게 탐색할 수 있도록 구조화하는 모듈.
  • LangChaing을 통해서 정보를 기반으로 탐색할 수 있도록 도와줌.

Memory

  • 채팅 이력을 기억하도록하여, 이를 기반으로 대화가 가능하도록 하는 모듈.

Chain

  • LLM 사슬을 형성하여, 연속적인 LLM 호출이 가능하도록 하는 핵심 구성 요소
  • 프롬프트를 사슬처럼 연결하여 원하는 답변을 나오게 할 수 있다.

Agents

  • LLM이 기존의 Prompt Templated으로 수행할 수 없는 작업을 가능케하는 모듈

예시

  1. 문서 업로드 : 문서내의 유사도 검색쪽에 LLM을 사용할 수 있다. -> Document Loader
  2. 문서 분할 : 질문을 했을 때 유사한 부분을 찾고 정보를 찾을 때 유용 -> Text Splitter
  3. 문서 임베딩 : LLM이 이해할 수 있도록 문서 수치화
  4. 임베딩 검색 : 질문과 연관성이 높은 문서 추출
  5. 답변 생성 : 질문과 연관성이 높은 문서 추출

참고

https://youtu.be/WWRCLzXxUgs?si=Kw2smxbITjutX_ok

0개의 댓글