SNS 업로드 자동화를 위한 첫 걸음 (대차게 실패🥹)

소개

기사를 요약해서 SNS에 업로드하는 전 과정을 자동화하려고 함

일단은, 기사의 URL을 입력하면, 자동으로 그 기사를 요약하고 요약한 글을 URL 입력한 테이블에 업데이트하기 까지만 시도하려고 했음!

진행 방법

워크플로우를 짜는 것은 챗지피티와 함께 했고, 자동화 과정은 Notion과 Make를 활용했습니다.

한국어로 된 문자 메시지의 스크린샷

묻자마자 막힘없이 알려주길래 가벼운 마음으로 시작합니다.

그치만 RSS 피드부터 시작하려니 조금 머리가 아픈 것 같아서,

일단 수기로 기사 URL을 넣어주는 것으로 간소화해보려고 했는데요.

한국어로 된 Google 검색 페이지의 스크린샷

그랬더니 갑자기 구글 폼을 사용하라고 하네요.

우리 스터디는 노션 스터디니까... 노션으로 바꿔달라고 해봤어요.

한국어로 된 Google 양식 페이지의 스크린샷

시키는 대로 해보고자 Make를 작동시켜봅니다.

NTFS 프로토콜의 다양한 단계를 보여주는 다이어그램

어제 스터디에서 배우지 않았던 HTTP를 하라고 해서 조금 당황했으나 일단 만들어봤어요

기사 링크를 주면, "기업명, 투자 규모, 투자 유형, 기사 날짜, 서비스 URL, 서비스 소개, 투자사 리스트"를 알아서 수집해서 DB화 하고 싶었는데요.

첫 술에 너무 배부르려는 듯 해서 기사 요약만 해주는 것으로 변경해봤어요.

뭐라도 한 사이클 돌리고 싶은 마음에..

한국어 문자 메시지 스크린샷

챗지피티의 답변은 다음과 같았는데요.

단계별 설정

1. 트리거: Notion에서 URL 감지

  • 모듈: Notion → Watch Database Items

    • Trigger Type: By Created Time 또는 By Updated Time을 선택 (URL이 입력된 시점에 따라 설정).

    • Database ID: URL을 입력하는 노션 데이터베이스의 ID를 지정.

    • Limit: 한 번에 처리할 항목 수 (기본값: 1~2).

2. HTTP 요청: URL에서 HTML 데이터 가져오기

  • 모듈: HTTP → Make a request

    • Method: GET

    • URL: {{1.properties_value.[URL]}}

      • 여기서 [URL]은 Notion DB의 URL 필드 이름.

    • Headers: 기본값(비워 둠).

    • 출력 확인: HTTP 모듈 실행 결과로 반환된 HTML 데이터 확인.

3. GPT API 호출: 기사 요약

  • 모듈: HTTP → Make a request

    • Method: POST

    • URL: https://api.openai.com/v1/chat/completions

    • Headers:

      • Authorization: Bearer YOUR_API_KEY

      • Content-Type: application/json

    • Body Type: Raw

    • JSON Body:

      json

      복사편집

      { "model": "gpt-4", "messages": [ { "role": "system", "content": "Please summarize the following article into a short summary." }, { "role": "user", "content": "{{2.body}}" // HTML 데이터 } ], "max_tokens": 200 }

    • 출력 확인: GPT API의 JSON 응답에서 요약된 텍스트를 추출.

4. 노션 업데이트: 요약된 텍스트 입력

  • 모듈: Notion → Update a Database Item

    • Database Item ID: {{1.id}}

      • 첫 번째 Notion 모듈에서 가져온 항목 ID.

    • Properties:

      • Summary (요약 텍스트): GPT API에서 반환된 요약 데이터를 매핑.


최종 워크플로우

  1. Notion → Watch Database Items

    • URL 입력 감지.

  2. HTTP → Make a request

    • URL의 HTML 데이터를 가져옴.

  3. HTTP → Make a request

    • GPT API를 통해 HTML 데이터를 요약.

  4. Notion → Update a Database Item

    • 요약된 내용을 같은 Notion 항목에 업데이트.


추가 팁

  • 에러 처리:

    • HTTP 요청 실패 시 재시도 로직 추가.

    • GPT API 호출 실패 시 기본값(예: "요약 실패") 입력.

  • 테스트:

    • 각 단계에서 Make의 실행 로그를 통해 데이터 흐름을 확인.

    • 특히 URL이 올바르게 전달되고, HTTP 요청 결과가 HTML 데이터를 반환하는지 확인.

이 설정으로 작업을 자동화할 수 있습니다. 추가적인 도움이나 디테일이 필요하면 알려주세요! 😊

웃으면서 답변해줬지만, 전 웃을 수가 없었어요..

왜냐면 계속 에러가 떴어요.

http 모듈이 존재하지 않는 모듈을 참조합니다.

blueprint를 export하는 게 있길래 그걸 뽑아서 다시 물어봤죠.

모바일 장치 사용 방법에 대한 지침이 포함된 페이지

그랬더니 문제가 여러개 있다고 합니다.

1번부터 못 알아듣겠고,,

제가 할 수 있는 건 그나마

parseResponsetrue로 변경 하라고 해서, 2개의 HTTP 모듈에서 모두 YES로 바꾼 것 뿐이고

여전히 작동하지 않네요 하하

결과와 배운 점

첫 사이클 돌리기에 대차게 실패하였습니다.

일단 저 혼자 있을 때, 시간을 내어 스터디해본 것에 스스로 박수를 보냅니다.

하지만 다시 해보고 또 올려보겠습니다!!!

도움이 필요한 부분은 한 두개가 아닌데, 일단 스스로 해결해볼 수 있는 건 최대한 해보겠습니다 흑흑

도움 받은 글 (옵션)

스터디장이신 모카님께서 공유해주신 자료 및 유튜브 링크

7

👉 이 게시글도 읽어보세요