LangChain
LangChain은 LLM의 기능을 확장하고 체계화하여 복잡한 애플리케이션을 구축할 수 있도록 지원하는 프레임워크
검색 -> 정리 -> 추론 -> 출력 => 파이프라인
체인, 에이전트, 메모리들의 기능 제공
-> 벡터DB, LLM, 툴 => 연결(플로그인 형태)
주요 기능
- 체인 구성 : 여러 작업 단계를 순차적으로 실행
- 에이전트 활용 : 도구와 상호작용하며 작업 수행
- 메모리 관리 : 대화의 문맥을 유지하며 작업
프롬프트 템플릿
반복적인 작업에서 재사용 가능한 프롬프트를 설계하고 동적 입력변수를 통해 효율적으로 작업 수행구조
-
구성요소
- 고정텍스트 : 작업지침(역할 부여, 출력 형식(JSON ~~), 제약조건, 평가기준
- 동적 입력 : 사용자 제공 변수 (질문, 톤, 문서 컨텍스트)
-
장점
- 효율성 : 반복 작업 간소화
- 일관성 : 프롬프트 형식 유지
프롬프트 템플릿은 작업 자동화와 LLM 사용의 일관성을 높이는 핵심 도구로 활용
특징
- 자동화된 입력 구성
- 대화형 응답
- 샘플 기반 학습
- 결과 파싱
클래스 계층구조
조상클래스 -> 자식클래스로 갈수록 기능구체화
OutputParser
LLM이 생성한 텍스트 출력을 특정 형식으로 변환하거나 처리하는데 사용
랭체인의 응답 처리 워크플로우에서 중요한 역할
형식 고정
검증 : 필수 키 누락 타입 오류
자동화 예) DB SQL문으로 사용
사용 목적
- 모델의 출력을 특정 어플에 맞게 처리하는 경우가 많음
- 응답을 해석하는 일관성과 정확성을 높이기 위해 필요
- 텍스트 기반 응답을 JSON, 리스트, 또는 숫자와 같은 특정 포멧으로 변환후 후속 작업에 활용
체인
여러 작업 단계를 순차적으로 연결해 작업을 수행하는 랭체인 개념
- 특징
- 구성요소 : 프롬프트, LLM, 입력과 출력
- 작동방식 : 각 단계의 출력이 다음 단계의 입력으로 연결
- 간단한 유형 : 단일체인 / 다중체인
주요 체인 유형
- Simple Chains
- Sequential Chains
- Conditional Chains
- Memory Chains