EnumOutputParser란
열거형 (Enum) 데이터를 처리하는 특수한 파서,
사전 정의된 옵션들 중에서만 선택할 수 있도록 제한하는 파서
구조화된 응답을 생성하고 검증하는 도구
사용 시기
- 제한된 선택지 중에서만 응답을 받아야 할 때
- 카테고리 분류가 필요한 경우
- 응답의 일관성이 중요한 경우
- 오류 가능성을 최소화해야 하는 상황
기본 구조



필수 문법

Enum 클래스 정의 문법

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

- EnumOutputParser 인스턴스 생성 시 enum 파라미터는 필수
- enum 파라미터에는 정의한 Enum 클래스를 전달해야 함
- 파서 인스턴스는 전역 범위에서 생성되어야 함
프롬프트 템플릿 문법

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

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

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


