[LangChain] Output ParserLangChain2024. 10. 23. 01:48
Table of Contents
728x90
LangChain Output Parser에 대한 설명
1. Output Parser란?
Output Parser는 AI 모델로부터 나온 비정형 텍스트 응답을 받아서 구조화된 데이터로 변환하는 역할을 함. 예를 들어, 모델이 생성한 자연어 응답을 특정 JSON 형식, 리스트, 테이블 등으로 변환할 수 있음.
2. StrOutputParser 사용 예시
LangChain에서 StrOutputParser는 단순 문자열 형식의 출력을 처리하는 Parser임. 아래는 StrOutputParser를 사용하여 요리 레시피를 파싱하는 예시임:
from langchain.prompts import PromptTemplate
from langchain_core.output_parsers import StrOutputParser
# 프롬프트 템플릿 작성
template = '''
당신은 흑백 요리사의 백종원 선생님입니다.
상황 [FORMAT]에 맞게 요리 레시피를 작성해 주세요.
# 상황:
{question}
# FORMAT:
- 레시피 :
'''
# 프롬프트 템플릿을 이용하여 프롬프트를 생성합니다.
prompt = PromptTemplate.from_template(template)
# Output Parser로 StrOutputParser 사용
output_parser = StrOutputParser()
# LLM을 사용해 질문에 대한 응답 생성
llm = OpenAI()
question = "바쁜 아침에 간단하게 만들 수 있는 계란 토스트 요리법을 알려주세요."
formatted_prompt = prompt.format(question=question)
result = llm.generate([formatted_prompt])
# 결과를 Output Parser를 사용해 파싱
parsed_result = output_parser.parse(result)
print(parsed_result)
이 코드는 StrOutputParser를 이용하여 LLM의 응답을 문자열 형태로 파싱하는 예시임. 사용자는 백종원 선생님처럼 요리 레시피를 제공하는 설정으로 프롬프트를 작성하고, 해당 요리법을 간단히 문자열로 출력함.
3. Output Parser의 주요 활용
Output Parser는 여러 상황에서 매우 유용하게 사용될 수 있음:
- API 응답 파싱: 모델이 생성한 자연어를 API에서 요구하는 형식으로 변환할 때
- 데이터 추출: 특정 정보만 필터링하여 후속 분석 또는 처리를 위해 사용
- 구조화된 응답 생성: 자연어 응답을 딕셔너리, JSON 등과 같은 구조화된 데이터로 변환하여 데이터베이스에 저장하거나 다른 시스템에 전달 가능
4. 정리
LangChain의 Output Parser는 AI 응답을 구조화된 형식으로 변환하여 다양한 후속 작업을 가능하게 하는 매우 유용한 도구임. StrOutputParser는 특히 간단한 문자열 출력 작업에 적합하며, 사용자는 이를 통해 LLM의 응답을 손쉽게 활용 가능함.
'LangChain' 카테고리의 다른 글
[LangChain] Cache (0) | 2024.11.06 |
---|---|
[LangChain] OutputParser 종류 (2) | 2024.11.03 |
[LangChain] RAG 프로세스 (1) | 2024.10.29 |
[LangChain] load prompt 파일 형식 (0) | 2024.10.26 |
@maneDataLab :: 마네의 데이터랩
배움에 즐거움을 느끼는 마네의 데이터랩 이미지 출처 : https://www.instagram.com/hoseobiiiiiii._.0410/
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!