CommaSeparatedListOutputParser는 쉼표로 구분된 항목 목록을 반환할 필요가 있을 때 유용한 출력 파서입니다.
이 파서를 사용하면, 입력된 데이터나 요청된 정보를 쉼표로 구분하여 명확하고 간결한 목록 형태로 제공할 수 있습니다. 예를 들어, 여러 개의 데이터 포인트, 이름, 항목 또는 다양한 값을 나열할 때 효과적으로 정보를 정리하고 사용자에게 전달할 수 있습니다.
이 방법은 정보를 구조화하고 가독성을 높이며, 특히 데이터를 다루거나 리스트 형태의 결과를 요구하는 경우에 매우 유용합니다.
# LangSmith 추적을 설정합니다. https://smith.langchain.com
# !pip install langchain-teddynote
from langchain_teddynote import logging
# 프로젝트 이름을 입력합니다.
logging.langsmith("CH03-OutputParser")from langchain_core.output_parsers import CommaSeparatedListOutputParser
from langchain_core.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
# 콤마로 구분된 리스트 출력 파서 초기화
output_parser = CommaSeparatedListOutputParser()
# 출력 형식 지침 가져오기
format_instructions = output_parser.get_format_instructions()
# 프롬프트 템플릿 설정
prompt = PromptTemplate(
# 주제에 대한 다섯 가지를 나열하라는 템플릿
template="List five {subject}.\n{format_instructions}",
input_variables=["subject"], # 입력 변수로 'subject' 사용
# 부분 변수로 형식 지침 사용
partial_variables={"format_instructions": format_instructions},
)
# ChatOpenAI 모델 초기화
model = ChatOpenAI(temperature=0)
# 프롬프트, 모델, 출력 파서를 연결하여 체인 생성
chain = prompt | model | output_parser- 체인을 실행하고 결과를 출력합니다.
chain.stream을 사용하여 “대한민국 관광명소”에 대한 스트림을 반복 처리합니다.- 반복 중 스트림의 결과를 출력합니다.