

위 문제는 com-on 서비스 개발회고에서 언급한 25.06.10 openai api오류와 유사하다.
우선 문제가 발생하는 부분이 openai부분이 맞는지 확인해보자.
result.js에서 fetchFallbackFromN8N함수에서 정보를 불러오는 약 6가지의 절차가 있다.
위 함수는 말 그대로 N8N을 사용하는 것이기에 N8N을 확인해보자.
접근해보니 전체 워크플로우가 만료되었다.! 창업대학 교수님의 workflow였고 만료되어 사라진 것이었다.
openai의 에러발생이 공교롭게 발생하여 원인을 openai불안정으로 생각하여 gemini 리팩토링을 생각했었는데, 다른 원인이었던 것이다.
n8n은 14일 무료체험만 가능했다. 오픈소스 버전을 Docker를 이용하여 서버에 직접 다운받을 수 있다.
다만, 현재 Render의 방식은 하나의 컨테이너만 가동되기에 n8n Dockerfile과 flask Dockerfile 두개를 만들어야 한다는 단점이 존재한다.
작업을 하기 이전에 잠시 정리하자. 현재 n8n을 이용해서 어떤 작업을 하고있었나?
1. 인트로 텍스트
2. 제품카트 출력
3. 네이버 이미지 검색
아니다. 1~2번은 n8n ai agent를 실습하기 위한 목적이었고 3번은 프록시를 위함이었다.
1~2번은 openai flask 호출로 처리가능하고
3번은 환경변수를 이용해 처리 가능하다.
그리고 학습 목적이었기에 이미 flask 내부적으로 openai와 naver의 api키값이 이미 세팅되어 있다.
우선 flask의 내부 api를 만들자.
만들어야 하는 기능은 /api/get_intro, /api/get_product_card, /api/get_naver_img이다.
(아니 근데 프롬프트 백업해둬서 다행이지;; 저거 그냥 날라갔으면 어쩔뻔..)

위를 다음과 같이 수정해주자.

위 작업을 3가지 n8n호출 부분에 변경하였다.
그 뒤 flask api를 설계하자... 그리고 디버깅..

flask api return에서 jsonify만으로 감싸니 해결되었다.

핵심 로직은 끝.. 거의 다왔다.. 네이버 이미지 부분도 추가해주자.

이제 배포하자..
금액 확인하자.. 디버깅 과정에서 27번의 openai api request가 있었다.

생각보다 적다 굿굿
테스트 코드가 정말 시급하긴 하다.. 문제가 openai인지 n8n인지 조차 모르고 있었기에 초기에 시간낭비가 발생하였다.
또한 openai대신 gemini까지 사용하는 하이브리드 리팩토링이 그렇게 어려운 작업이 아니기에 착수하면 좋을 듯 하다.