언어 모델로 구동되는 애플리케이션을 개발하기 위한 프레임워크
가장 강력하고 차별화된 애플리케이션은 API를 통해 언어 모델을 호출할 뿐만 아니라 이를 통해 개발될것이라 믿음
데이터 인식: 언어 모델을 다른 데이터 소스에 연결
에이전트 기능: 언어 모델이 환경과 상호 작용할 수 있도록 함
결론:랭체인은 언어 모델을 더 잘 활용할 수 있게끔 도와주는 도구
정보 접근 제한
ChatGPT는 최신 데이터의 정보에 대해서는 답변을 하지 못하거나, 거짓된 답변을 제공
-> Vectorstore 기반 정보 탐색 or Agent 활용한 검색 결합
토큰제한
ChatGPT에서 제공하는 모델인 GPT-3.5와 GPT-4는 각각 4096, 8192토큰이라는 입력 토큰 제한이 존재함
-> TextSplitter를 활용한 문서 분할
환각현상(Hallucination)
Fact에 대한 질문을 했을 때, 엉뚱한 대답을 하거나 거짓말을 하는 경우가 많음
-> 주어진 문서에 대해서만 답하도록 Prompt 입력
ChatGPT 개량
Fine-tunning
기존 딥러닝 모델의 weight를 조정하여 원하는 용도의 모델로 업데이트함
N-shot Learning
0개~ n개의 출력 예시를 제시하여, 딥러닝이 용도에 알맞은 출력을 하도록 조정
In-context Learning
문맥을 제시하고, 이 문맥 기반으로 모델이 출력하도록 조정
LLM
초거대 언어모델로, 생성 모델의 엔진과 같은 역할을 하는 핵심 구성 요소
ex)gpt palm llama..
Prompts
초거대 언어모델에게 지시하는 명령문
요소) prompt templates, chat prompt template, example selectors, output parsers
Index
LLM이 문서를 쉽게 탐색할 수 있도록 구조화 하는 모듈
ex) dociment loaders, text splitters, vectorstores...
Memory
채팅 이력을 기억하도록 하여, 이를 기반으로 대화가 가능하도록 하는 모듈
Chain
LLM 사슬을 형성하여, 연속적인 LLM 호출이 가능하도록 하는 핵심 구성 요소
ex) LLM chain, question answering, summarizaion..
Agents
LLM이 기존 Prompt Template으로 수행할 수 없는 작업을 가능케 하는 모듈
ex) custorm agent, custom multiaction agent..
문서를 기반으로 챗봇을 구축할 경우
문서 업로드 -> 문서 분할 -> 문서 임베딩 -> 임베딩 검색 -> 답변 생성
출처:
https://www.youtube.com/watch?v=WWRCLzXxUgs&list=PLQIgLu3Wf-q_Ne8vv-ZXuJ4mztHJaQb_v