컴포넌트
이제 챗GPT로 하고 싶은 것?
랭체인 (LangChain)
•
데이터 인식
◦
외부 데이터 소스 사용
•
능동적 상호작용
◦
언어 모델 이외 소스/환경과 상호작용
•
컴포넌트
◦
스키마, 모델, 프롬프트, 인덱스, 메모리, 체인, 에이전트
•
사용 사례
컴포넌트
컴포넌트 - 스키마
•
문장이 기본. 문장 입력 - 문장 출력
컴포넌트 - 모델
•
모델은 LLM, 채팅 모델, 텍스트 임베딩 모델 3가지 지원
•
LLM
◦
입력: 텍스트 문자열, 출력: 텍스트 문자열
◦
OpenAI
•
채팅 모델
◦
입력: 채팅 메시지 목록, 출력: 채팅 메시지
◦
기존 채팅 히스토리를 묶어서 입력으로 넘김…
•
텍스트 임베딩 모델
◦
입력: 텍스트 입력, 출력: 실수 목록
◦
임베딩만 한다.!!
컴포넌트 - 프롬프트
•
프롬프트 값(Prompt Value)
•
프롬프트 템플릿(Prompt Templates)
•
예시 선택자(Example Selectors)
•
출력 파서(Output Parsers)
◦
반드시 사용하는 것이 좋다!
컴포넌트 - 인덱스
•
문서 로더(Document Loaders)
•
텍스트 분할기(Text Splitters)
•
벡터 저장소(Vector Stores)
•
검색기(Retrievers)
컴포넌트 - 체인
•
체인 - 여러 개별 구성 요소를 둘러싼 종단 간 래퍼(Wrapper)
◦
LLM체인
◦
인덱스 연관 체인(Index-related chains)
•
프롬프트 선택자
◦
LLM을 여러개 사용할 때 LLM에 맞는 프롬프트를 선택할 수 있도록…
컴포넌트 - 인덱스 연관 체인 (Index-related chains)
컴포넌트 - 메모리
•
주고 받은 대화를 가지고 나의 상태를 바꾸겠다.
•
채팅 메시지 히스토리에 사용
컴포넌트 - 에이전트
•
체인은 정해진 임무가 있다. 목적 지향적.
•
에이전트
◦
사용자 입력에 따라 동적으로 체인이 구성된다던지..
◦
시나리오에 따라 구성되도록…