LangChain | EnumOutputParser | 출력 파서

박성문·2025년 1월 20일

EnumOutputParser란

열거형 (Enum) 데이터를 처리하는 특수한 파서,
사전 정의된 옵션들 중에서만 선택할 수 있도록 제한하는 파서
구조화된 응답을 생성하고 검증하는 도구

사용 시기

  • 제한된 선택지 중에서만 응답을 받아야 할 때
  • 카테고리 분류가 필요한 경우
  • 응답의 일관성이 중요한 경우
  • 오류 가능성을 최소화해야 하는 상황

기본 구조

  • Enum 클래스 정의 및 파서 생성

  • 프롬프트 템플릿 설정

  • 체인 구성 및 실행

필수 문법

Enum 클래스 정의 문법

  • from enum import Enum 임포트 필수
  • class 정의 시 반드시 Enum을 상속받아야 한다
  • 각 열거형 멤버는 대문자로 정의하는 것이 관례
  • 각 멤버에는 반드시 값이 할당되어야 한다.

파서 생성 문법

  • EnumOutputParser 인스턴스 생성 시 enum 파라미터는 필수
  • enum 파라미터에는 정의한 Enum 클래스를 전달해야 함
  • 파서 인스턴스는 전역 범위에서 생성되어야 함

프롬프트 템플릿 문법

  • PromptTemplate.from_template() 메서드 사용 필수
  • 템플릿 내 변수는 중괄호({})로 감싸야 함
  • Instructions 파라미터는 반드시 포함되어야 함
  • partial() 메서드로 instructions를 미리 설정해야 함

체인 구성 문법

  • 파이프(|) 연산자로 컴포넌트 연결 필수
  • ChatOpenAI()와 파서는 반드시 순서대로 연결
  • 체인의 마지막은 반드시 파서로 끝나야 함

체인 실행 문법

  • invoke() 메서드 사용 필수
  • invoke() 인자는 딕셔너리 형태로 전달
  • 딕셔너리 키는 템플릿의 변수명과 일치해야 함

활용 예시

  • 감정 분석

  • 날씨 분류

  • 우선순위 분류
profile
성문이

0개의 댓글