inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런어워드 베스트셀러] 코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드

텔레그램으로 구현하는 음성 기반 AI 비서: 메일 확인부터 회신까지 자동화하기

17강 ai agent 출력시 json 형태를 따르지 않음

해결된 질문

120

juengwoo kang

작성한 질문수 14

0

 

n8n 인공지능(ai) rag ai-활용-(ax) ai-agent 카카오공채-개발 카카오공채-서비스

답변 2

0

남박사

안녕하세요, juengwoo kang님.

그런 증상이 대부분 제미나이 사용시에 나타나는 특징중 하나인데 그러므로 아마 사용하신 AI 가 제미나이가 아닐까 추측해봅니다. 이를 해결 하기 위해서는 여러가지 아이디어가 있을 수 있습니다.

일단 가장 간단한 방법은 AI를 다른 모델, 예를 들어 제미나이의 버전을 올려보던가 아니면 ChatGPT 나 클로드 같은 다른 모델을 사용하는 방법이 있습니다.

또 다른 방법은 추가 지침을 좀 더 강력하게 요구하는 방법이 있습니다. 현재 강의에서는 "※ 반드시 위 JSON만 반환하고 추가 설명은 포함하지 마십시오." 게만 작성되어있는데 예를 들어 "### 출력은 반드시 JSON 형태여야 하고 다른 일반 text는 포함하지 않습니다. ###" 과 같이 추가 지침을 몇줄 늘려보는 방법입니다. 이때 마크다운 문법인 ### 문자 사이의 글자를 중요한 내용을 인식하는 경향이 있으니 이런것도 도움이 될 수 있습니다.

 

image.png

또 다른 방법으로는 위 이미지에서 보이는 Require Specific Output Format 옵션을 사용하여 AI Agent의 출력 형태를 지정하는 방법입니다. 물론 이 경우에는 강의 내용에서처럼 문제가 없다면 status 값이 출력되고 그렇지 않을 경우 error 값이 출력되는 형태로 운영하기는 좀 애매한 부분이 있고 status 변수는 고정한채 문제가 없으면 success, 오류가 생기면 error 처럼 변수의 값으로 상태처리를 하는 방식으로 강의 내용과 좀 다르게 응용해야 될 듯 합니다. 그런데 이 방법 역시 제미나이 같은 모델에서는 AI의 특성으로 인해 무시 되어 오류가 발생하는 경우도 있었는데 현재 n8n 1.123.7 버전에서는 auto fix 옵션을 제공하여 최종 출력을 위한 AI 를 또 붙일 수 있는 기능도 추가되어있으니 이런 기능도 활용해보시는 것도 좋을듯 합니다.

이런 대부분의 방법으로도 쉽게 해결되지 않을때 말씀하신 파싱을 하는 방법도 사용하기도 했으나 AI 의 결과는 코딩에서 처럼 항상 동일한 결과가 나오는게 아니기 때문에 요즘은 그닥 추천드리진 않습니다.

여러가지 방안이 있으니 하나씩 테스트 해보시면서 결과를 비교 참조 해보시는게 좋을듯 합니다. 사실 이 과정이 가장 공부가 많이 되는 구간들이라 생각되기도 합니다.

0

인프런 AI 인턴

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

AI Agent에서 JSON 형태의 출력 형식을 지정했지만, 모든 데이터가 텍스트 형식으로 포함되어 나오는 문제를 겪고 계신 것 같습니다. 이를 해결하기 위한 몇 가지 방법을 안내드리겠습니다.

해결 방안

  1. AI Agent의 설정 재확인:

    • AI Agent 노드에서 설정한 출력 형식이 정확한지 다시 한 번 확인해주세요. 특히, JSON 형태로 지정할 때 값이 올바르게 배치되어 있어야 합니다.
  2. 출력 결과의 형식 확인:

    • AI 에이전트가 JSON 출력을 하지 않는 경우, 응답 데이터의 구조가 예상했던 JSON 형식과 일치하는지 확인해야 합니다.
  3. 파서 사용 필요성:

    • 출력 데이터를 별도의 파서를 통해 처리하고자 하신다면, n8n에서 JavaScript 코드 노드를 사용하여 데이터를 원하는 구조로 변환할 수 있습니다. 예를 들어, 받은 텍스트 응답을 JavaScript로 파싱하여 JSON 객체로 변환할 수 있습니다.
  4. 파서 구현 예시:

    • 만약 파서를 사용하여 JSON 형태를 구현해야 한다면, 아래와 같은 JavaScript 코드를 참고하세요:
      ”`javascript
      const response = $json[“responseText”];
      let jsonResponse;

    try {
    jsonResponse = JSON.parse(response);
    } catch (error) {
    throw new Error(“JSON parsing error: ” + error.message);
    }

    return jsonResponse;
    “`
    - 이 코드는 응답 텍스트를 JSON 객체로 변환합니다. 파서가 제대로 작동하려면 입력 데이터의 구조가 예상과 일치하는지 확인해야 합니다.

  5. 파서의 status 및 type:

    • JSON 파서를 구현할 때 statustype 필드는 JSON 객체 내부에 원하는 형태로 삽입하면 됩니다. 예를 들어:
      
      {
      "status": "success",
      "type": "ai-response",
      "data": jsonResponse
      }
      

    • 위의 구조는 응답이 성공적으로 파싱되었을 때 사용하는 예시입니다.

관련된 유사한 문제와 그 해결 방안을 아래 링크에서 확인하실 수 있습니다:
- AI 응답 형식 문제 해결 사례
- JSON 데이터 파싱 및 처리 절차

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

n8n Email Trigger(IMAP) 네이버 메일 연동 시 Published 이후 트리거 미동작 문제

0

47

2

docker 설치관련 문의

0

45

2

맥북 설치방법

0

74

3

n8n에서 챗봇과 ai에이전트

0

78

1

구글 API 사용 불가라면 해당 강의에서 구글 관련 내용은 제외하고 진행해도 괜찮을까요?

0

70

2

완전 초보를 위한 강의가 맞나요...

0

110

4

[12강] https://kome.ai/tools/youtube-transcript-generator

0

57

2

n8n-nodes-youtube-transcript-api 주소 관련

0

70

2

설치버전 문의

0

68

2

n8n 기본 기능 문의

0

79

2

Docker 에서 n8n 실행 후 connection lost

0

122

2

31강. api 호출하면 결과를 1개만 받아옵니다.

0

69

2

GPU가 Intel(R) Arc(TM) Graphics 경우

0

80

2

[30강] 클로드 경로 오류

0

277

2

6강의 워크플로우간 데이터가 에러가

0

83

2

Dockerfile의 첫줄 n8nio/runners:latest 에서 이미지를 찾지 못하고 있습니다.

0

66

2

[7강] 이메일 스팸 분류 UID

0

73

3

2강 설치가 안됩니다.

0

80

2

2강에서 도커 설치이후 순서대로 했는데,에러가 생기는 거 같아요.

0

100

3

24강 mcp 노션 글 생성 실습

0

68

2

텔레그램 대신 사용 가능한 것은?

0

78

2

[12강] 추가 수업파일 다운로드가 안됩니다.

0

67

1

6강의 워크플로우간 데이터가 에러가

0

82

2

[12강] 현재 kome.ai에서 헤더값이 없어도 api 호출이 가능한 것 같습니다.

0

59

2