일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Anaconda #가상환경
- 스톱워치
- GPT #챗봇
- 문자열
- 추상클래스 #인터페이스
- Java #객체지향 # 프로그래밍 # SOLID #OOP
- 알고리즘 #백준 #집합과맵
- 맵핑
- 라이브러리 #IT지식 #CS지식
- 백준 #알고리즘
- Python
- 프로그래머스 #파이썬 #python #슬라이싱 #코딩
Archives
- Today
- Total
고통은 사라지고 결과는 남는다. Records of Chansolve
LangChain 알아보기 본문
LangChain
- LangChain은 자연어처리(NLP)와 관련된 다양한 기능을 제공하는 파이썬 프레임워크
- 대화형 AI시스템을 구축하고 연구하는 데 있어 유용한 도구를 제공하는 것
LangChain 의 특징
- 챗봇 구축 : Langchain은 챗봇과 대화형 AI 시스템을 구축하기 위한 도구를 제공
- 다양한 NLP 기능 : 텍스트 생성, 요약, 번역과 같은 다양한 자연어 처리 기능을 포함
- 플러그 앤 플레이 아키텍쳐 : 기존의 NLP 모델이나 시스템과 쉽게 통합할 수 있고, 다양한 언어 모델과 기능을 손쉽게 결합할 수 있음
- 확장성 및 커스터마이징 : 자신의 요구사항에 맞에 시스템을 커스터마이즈하고 확장할 수 있도록 설계됨.
- 연구 및 개발 지원 : 새로운 대화형 AI 모델을 실험하고 개발하는데 도움
- LangChain을 통해 복잡한 NLP 시스템을 쉽게 구축하고 실험 할 수 있음
LangChain의 모듈
- Tools
- Models
- Text Splitters
- Output Parsers
- Document Loaders
- Vector Stores
- Prompts
- Example Selectors
LangChain의 구조
- LLM : 초거대 언어모델로, 생성 모델의 엔진과 같은 역할을 하는 핵심 구성요소
- ex) GPT-3.5, PALM-2, LLAMA, StableVicuna, WizardLM, MPT ···
- Prompts : 초거대 언어모델에게 지시하는 명령문
- ex) Prompt Templates, Chat Prompt Templates, Example Seletors, Output Parsers···
- Index : LLM이 문서를 쉽게 탐색할 수 있도록 구조화 하는 모듈
- ex) Document Loaders, Text Splitters, Vector stores, Retrievals···
- Memory : 채팅 이력을 기억하도록 하여, 이를 기반으로 대화가 가능하도록 하는 모듈
- ex) Converstation BufferMemory, Entity Memory, Converstation Knowledge Graph Memory···
- Chain : LLM 사슬을 형성하여, 연속적인 LLM 호출이 가능하도록 하는 핵심 구성 요소
- ex) LLM Chain, Question Answering, Summarization, Retrieval Question/Answering ···
- Agents : LLM이 기존 Prompt Template으로 수행할 수 없는 작업을 가능케하는 모듈
- ex) Custom Agent, Custom MultiAction Agent, Conversation Agent ···
LLM에 외부 데이터 소스를 연동하는 법
- LLM에 학습 과정에 포함되지 않은 지식을 주입하는 방법은 크게 2가지
- Fine-Tuning : 새로운 지식에 관한 텍스트 데이터 소스를 이용해서 LLM 파라미터를 Fine-Tuning 함
- Retrieval-Augmented Generation(RAG) : 새로운 지식에 관한 텍스트 데이터 소스를 Embedding해서 Vector Stores에 저장하고, 프롬프트 구성을 진행할 때 외부 데이터 소스로부터 가져온 텍스트 데이터를 함께 이용해서 프롬프트 구성한 뒤 LLM으로부터 답변을 얻어냄
LangChain의 장점
- 손쉬운 구현 : 복잡한 LLM을 간단한 몇줄의 코드로 손쉽게 구현할 수 있음
- 긴 Context의 지식 주입 가능 : GPT 3.5의 4096 토큰 제한으로 인해 긴 Context의 내용을 처리하기 힘들다는 문제점이 있는데, LangChain을 이용하면 더 킨 Context의 정보로 LLM과 상호작용 할 수 있음
- 출처 확인 가능: LLM의 많은 부분이 블랙박스와 확률적으로 동작하기 때문에 LLM이 만들어낸 text가 왜 그렇게 생성되는지 어렵고 Hallucination 문제가 발생할 위험성이 있지만, LangChain을 이용하면 명확한 출처와 함께 LLM이 텍스트를 생성할 수 있음
'IT' 카테고리의 다른 글
데이터 시각화 (0) | 2024.02.21 |
---|---|
mysqlclient Error (0) | 2023.12.04 |
Django for문 여러 개 쓰는 방법 (0) | 2023.10.05 |
Python: TCP/IP 소켓 통신 (0) | 2023.09.13 |
Python으로 스톱워치를 만들어보자 (0) | 2023.04.06 |
Comments