Lang Chain 개념
언어 모델로 구동되는 애플리케이션을 개발하기 위한 프레임워크
- 데이터 인식 : 언어 모델을 다른 데이터 소스에 연결합니다.
- 에이전트 기능: 언어 모델이 환경과 상호 작용할 수 있도록 합니다.
Lang Chain 왜 써야할까?
- 정보 접근 제한 학습된 이후의 정보에 대해 답변을 하지 못하거나, 거짓된 답변을 제공함
=> Vectorsotre 기반 정보 탐색 or Agent 활용한 검색 결합 - 토큰 제한
⇒ TextSplitter를 활용한 문서 분할 - 환각현상 (Hallucinaition)
Fact에 대한 질문을 했을 때, 엉뚱한 대답을 하거나 거짓말을 하는 경우가 많다.
⇒ 주어진 문서에 대해서만 답하도록 Prompt 입력
ChatGPT 개량 방법
- Fine-tuning
기존 딥러닝 모델의 weight를 조정하여 원하는 용도의 모델로 업데이트 - N-short Learning
0~n개의 출력 예시를 제시하여, 딥러닝이 용도에 알맞은 출력을 하도록 조정함. - 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 챗봇 구축
- 문서 업로드 (Document Loader)
PyPDFLoader를 활용한 문서 가져오기 - 문서 분할 (Text Splitter)
PDF 문서를 여러 문서로 분할 - 문서 임베딩 (Enbed to Vectorstore)
LLM이 이해할 수 있도록 문서 수치화 - 임베딩 검색 (VectorStore Retriever)
질문과 연광성이 높은 문서 추출 - 답변 생성 (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 |