공식 문서 속 소개글
- 언어 모델로 구동되는 애플리케이션을 개발하기 위한 프레임워크
- 데이터 인식: 언어 모델을 다른 데이터 소스에 연결
- 에이전트 기능: 언어 모델이 환경과 상호작용할 수 있도록 함.
LangChain을 왜 써야하는가
* chatGPT의 한계점
- 정보접근 제한: 3.5 기준 2021년까지의 데이터를 학습한 LLM(초거대언어모델)이므로, 2022년부터의 정보에 대해서는 답변을 하지 못하거나, 거짓된 답변 제공
->Vectorstore 기반 정보 탐색 or Agent 활용한 검색 결합
- 토큰 제한: 3.5, 4 모델의 경우 4096, 8192라는 입력 토큰 제한이 존재한다.(이거 넘어가면 동작하지 않음)
-> textSplitter를 활용한 문서 불한
- 환각현상(Hallucination): Fact에 대한 질문을 했을 때, 엉뚱한 대답을 할 수가 있음
-> 주어진 문서에 대해서만 답하도록 Prompt 입력
*ChatGPT 개량 필요
- Fine-tuning: 기존 딥러닝 모델의 weight를 조정하여 원하는 용도의 모델로 업데이트(기존 아키텍처를 사용 용도에 맞게 미세 조정하는 과정)
- N-shot Learning: 0~n개의 출력 예시를 제시하여, 딥러닝이 용도에 알맞은 출력을 하도록 조정
-In-context Learning: 문맥을 제시하고, 이 문맥을 기반으로 모델이 출력하도록 조정 (LangChain)
LangChain의 종류와 역할
*LLM: 초거대 언어모델로, 생성 모델의 엔진과 같은 역할을 하는 핵심 구성 요소
*Prompts: 초거대 언어모델에게 지시하는 명령문
*Index: LLM이 문서를 쉽게 탐색할 수 있도록 구조화 하는 모듈
*Memory: 채팅 이력을 기억하도록 하여, 이를 기반으로 대화가 가능하도록 하는 모듈
*chain: LLM 사슬을 형성하여, 연속적인 LLM 호출이 가능하도록 하는 핵심 구성 요소
*Agents: LLM이 기존 Prompt Template으로 수행할 수 없는 작업을 가능하게 하는 모듈
ex) pdf 챗봇: 문서 업로드(Document Loader) -> 문서 분할(Text Splitter) -> 문서 임베딩(Embed to Vectorstore) -> 임베딩 검색(VectorStore Retriever) -> 답변 생성(QA Chain)
'Computer Theory > LLM' 카테고리의 다른 글
랭체인의 Retrival-text splitters (0) | 2023.12.28 |
---|---|
랭체인의 핵심 (0) | 2023.12.28 |
LangChain - PromptTemplate, LLM 프롬포트 입력을 더 편하게 (2) | 2023.12.28 |
LangChain으로 ChatGPT API 활용 (0) | 2023.12.27 |
LLM 설명 (0) | 2023.12.27 |