inflearn logo
강의

講義

知識共有

1時間で終えるLangChain基礎

回答の形式を制御する方法

JsonOutputParser 질문입니다

解決済みの質問

83

gamzaking

投稿した質問数 5

0

4강에서 JsonOutputParser 예제를 따라하는 중입니다.

json_ai_message=llm.invoke(country_detail_prompt.invoke({"country": "France"}))
json_ai_message.content

이렇게 찍어보면

'{"Capital": "Seoul", "Population": 51966111, "Language": "Korean", "Currency": "South Korean Won (KRW)"}'


결과가 이렇게 나옵니다. 궁금한 것은 강의에서 ```json\ 이게 있을 수도 있고 없을 수도 있다고 하셨는데,

저의 결과처럼 저렇게 나올 수도 있고 강의에서 처럼 ```json\ 이게 붙은 형식으로 나올 수도 있다는 말인가요?

프롬프트엔지니어링 llm langchain 카카오공채-개발

回答 2

0

jasonkang

네 맞습니다. 모델에 따라 ```json\이 붙어서 나오는 경우가 종종 있습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

왐뫔뫄님, 질문해 주신 내용은 JsonOutputParser의 동작 방식과 그 결과에 대한 궁금증으로 보입니다.

JsonOutputParser의 예제 및 결과 형식 차이

JsonOutputParser는 AI 모델이 JSON 형태로 파싱 될 수 있도록 돕는 유틸리티입니다. 일반적으로 JSON 형식의 문자열을 반환하는 목적을 가지고 있지만, AI 모델의 응답 방식에 따라 그 형식이 약간 달라질 수 있습니다.

결과 예시 및 가능성

  1. Clean JSON String: 예를 들어, {"Capital": "Seoul", "Population": 51966111, "Language": "Korean", "Currency": "South Korean Won (KRW)"} 과 같은 깔끔한 JSON 형식의 문자열을 얻을 수 있습니다. 이 경우 직접적으로 JSON으로 파싱하여 사용할 수 있습니다.

  2. Markdown 형식 포함: 경우에 따라 AI응답에서 json을 강조하기 위해, json\n{ ... }\n 형식으로 반환되기도 합니다. 이는 AI 응답이 코드 블록으로 인식되었을 때 나타날 수 있는 형식으로, 이런 경우 불필요한 문자열(”json)을 제거해야 실제 JSON 데이터로 사용할 수 있습니다.

해결 방법

만약 JSON 데이터의 형식에 따라 처리해야 한다면, 추가적인 문자열 전처리를 통해 불필요한 부분을 제거한 뒤 JSON으로 변환할 수 있도록 준비해 두는 것이 좋습니다. 예를 들어, 코드 블록 내 JSON을 파싱해야 할 경우, 정규표현식 등을 활용해 시작 및 끝의 불필요한 문자를 필터링할 수 있습니다.

참고로, 유사한 사례에 대한 JsonOutputParser 관련 토론을 확인하실 수 있습니다. 이는 다른 사용자가 유사한 문제를 겪었을 때 참고할 수 있는 토론을 담고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

마크다운을 텍스트 파일로 변환하기

0

12

1

18강 smithery 를 이용한 mcp 실습(업데이트 요청)

0

17

1

guardrails 부분도 현재버전과 약간 다릅니다.

0

18

1

smithery ai 언제 업데이트 되나요?

0

17

1

무료할당량 사용하는데 문제가 생겼습니다.

0

21

1

안녕하세요! 질문이 있습니다.

0

53

2

'팀 단위 AI 업무 혁신' 자문 관련하여 문의드리고자 합니다. (연락처 요청)

0

75

1

🚨 OpenAI 유료계정인데 할당량 초과인 경우!!

0

95

2

ollama 같은 모델 상이 답변

0

78

2

도서, 그리고 로드맵 강의 순서

0

90

2

RAG와 MCP의 차이가 조금 헷갈립니다

0

613

2

첫번째 강의 화면과 설명이 안 맞는 거 같아요

0

111

1

RAG 강의 안듣고 AGENT 강의 먼저 들어도 되나요?

0

158

1

openai 사용하면서부터 할당량 초과했다고 나오네요.

1

382

2

Safety 이해

0

84

1

input key가 여러개인 경우 RunnablePassThrough를 쓰는 이유가 궁금합니다.

0

78

1

가상환경 설정

-2

208

6

ram 용량

0

119

2

강의 순서 질문

0

163

1

Safety prompt에 대한 질문이 있습니다

0

124

2

딥시크

0

163

1

JsonOutputParser

0

145

1

vscode에서 환경 설정하는 데 어려움이 있습니다

0

374

2

Template 사용에 관해 질문 있습니다.

0

211

2