언어 선택
durumis AI가 요약한 글
- LLM에서 JSON을 생성할 때 잘못된 문자가 포함되어 깨지는 문제가 발생할 수 있다.
- 이럴 때는 YAML을 이용하여 출력을 요청하고, YAML을 다시 JSON으로 변환하면 해결될 수 있다.
- 단, YAML 출력 시 개별 줄에 값을 그냥 출력하면 오류가 발생할 수 있으므로, 다음 줄로 바꿔서 출력해야 한다.
Gemini Pro, Flash 등을 위시하여, 기타 LLM에서 JSON을 생성하다 보면, 출력물에 잘못된 문자가 들어가서 깨지는경우가 있다.
{"key":"value("다음")"}
위와 같은 경우 JSON.parse 를 해보면 "(따옴표) 안에 또 "가 있어서 에러가 난다.
이럴 경우 yaml을 이용해 보자.
- key : |-
value("다음")
위와 같이 yaml 로 출력을 요청하면 안정적으로 출력이 가능하고 출력된 yaml 을 다시 json 으로 변환하면 된다.
그런데 여기서 주의점 하나.
개별줄에 그냥 값으로 출력하면 여전히 " 안에 " 가 있어서 오류가 날 수 있으므로 다음줄로 바꿔야 한다.
다음과 같은 프롬프트를 추가한다.
YAML에서는 모든 "value"는 "반드시" "|-" 기호 를 사용하여 출력합니다. ( Block Style Indicator 와 Block Chomping Indicator 를 사용합니다. )