소개
make로 처음 개인 시나리오를 만들게된 미래소년이라고 합니다. 지난 월요일날 샘호트만님의 동영상 요약 자동화를 보고, 예전에 유사한 동영상이 봤던것이 생각이 났습니다. 그리고, 호기롭게 시작, 몇번 시도하다 실패를 했는데, 그냥 포기한 상태로 있다가, 이번에는 그래도 꼭 성공(?)하고 싶었습니다. 그래서 다시 시도를 하겠되었습니다.
진행 방법
make로 시나리오를 구성하였습니다.
유튜브 모듈을 활용해서, 컨텐츠를 요약하고 싶은 유튜브 채널과 연결을 하였습니다.
make 자동화 프로그램에서 모듈은 특정 작업을 수행하는 독립적인 기능 단위입니다. 쉽게 설명하면:
기본 개념
레고 블록처럼 조립할 수 있는 작은 기능들이에요
각 모듈은 특정한 한 가지 일을 수행
여러 모듈을 연결해서 하나의 자동화 흐름을 만듦
요약하고 싶은 유튜브 채널은 많이들 아시는 "평범한 사업가"님 채널로 정했습니다.
이젠 모듈에서 위 채널을 연결해야 하는데,
이때, Channel ID는 "https://www.youtube.com/@평범한사업가"를 집어넣으면 안되더라구요
유튜브 채널의 진짜 채널ID를 찾는 방법이 따로 있었습니다. https://ytlarge.com/ 라는 웹사이트 진짜 채널 ID를 찾을 수 있었습니다. [출처: https://buizgptwithfutureboy.tistory.com/174]
그리고, 유튜브에서 정보를 긁어오는 앱으로는 Apify를 사용했습니다.
Apify는 웹 스크래핑과 자동화를 쉽게 할 수 있게 해주는 플랫폼입니다. 쉽게 설명하자면:
웹사이트에서 데이터를 자동으로 수집하고 싶을 때 사용하는 도구예요
코딩을 잘 모르는 사람도 간단한 설정만으로 원하는 데이터를 가져올 수 있어요
마치 로봇이 대신 웹사이트를 돌아다니면서 필요한 정보를 수집해주는 것과 같죠
실제 사용 예시를 들어볼까요?
온라인 쇼핑몰의 상품 가격을 매일 체크하고 싶을 때
SNS에서 특정 키워드의 게시물을 모아보고 싶을 때
뉴스 기사를 자동으로 수집하고 싶을 때
이런 작업들을 Apify를 통해 자동화할 수 있답니다.
Apify도 사용하기 위해서는 API키가 필요했습니다.
Apify의 API 키 및 사용법 [출처: https://buizgptwithfutureboy.tistory.com/173]
Apify의 "Run an Actor" 모듈은 연결된 유튜브에서 스크립트를 자동으로 가져오는 역할을 합니다.
Run an Actor 모듈
Actor(수집 프로그램)를 실행시키는 모듈입니다
원하는 웹사이트에서 데이터를 수집하도록 지시하는 역할을 해요
실행할 때 필요한 입력값(input)을 설정할 수 있어요
예: 검색어, 수집할 페이지 수, 날짜 범위 등
실행이 완료되면 수집된 데이터는 Dataset으로 저장됩니다
Get Dataset Items 모듈
수집된 Dataset에서 데이터를 가져오는 모듈입니다
Run an Actor로 수집한 데이터를 활용할 때 사용해요
데이터 필터링이나 정렬도 가능합니다
예: 특정 날짜의 데이터만 가져오기
예: 가격순으로 정렬하기
CSV, JSON 등 원하는 형식으로 데이터를 내보낼 수 있어요
쉽게 말하면: Run an Actor는 "데이터 수집하기" 버튼 Get Dataset Items는 "수집한 데이터 가져오기" 버튼이라고 생각하시면 됩니다.
이 둘은 보통 순차적으로 사용됩니다. 먼저 Run an Actor로 데이터를 수집하고, 그 다음 Get Dataset Items로 수집된 데이터를 활용 하는 거죠.
그런데, Apify에서는 다양한 형태로 스크립트 를 가져오는 앱들이 있는데, 이를 Actor라 불렀습니다.
이러한 앱들은 Apify Store에서 검색해서, 찾을 수 있는데, 앱을 만든 사람/회사에 따라 비용이 달랐습니다.
여기서, 중요한 건, Actor를 선택하고, 연결한 후 Input JSON란에 아래 코드를 넣는 것이 중요했습니다.
{"url":"https://www.youtube.com/watch?v={{1.videoId}}"}
출처: https://buizgptwithfutureboy.tistory.com/174 [AI 마케팅 연구소:티스토리]
그런 다음, 바로 Apify 모듈을 하나 더 연결했습니다. 이번에는 "Get Dataset Items" 모듈을 연결했습니다. "Get Dataset Items" 모듈은 저장된 데이터셋에서 필요한 정보를 검색하고 추출하는 역할을 합니다.
여기서는, 앞선 "Run an Actor" 모듈에서 유튜브의 정보를 가져오면, Dataset ID에 데이터디폴트셋아뒤를 붙이는 것이 중요했습니다.
이렇게 추출된 유튜브 스크립트를, OpenAI 모듈을 통해, 요약을 진행했습니다.
여기서도 OpenAI API키를 생성해서 연결해야 했습니다.
OpenAI API키 생성하기 [출처: https://buizgptwithfutureboy.tistory.com/174]
API 키 생성이 끝났다면, 이후, 모델 하단에 Message 클릭.
Role은 User로, Text Content에는 아래와 같이 적었습니다.
앞서, Apify에서 Actor를 붙일 때나, 참고한 영상속 동일한 Actor앱이 존재하지 않았습니다. (5개월전 영상) > 그래서, 유사한 기능을 실행한다는 타 Actor앱을 붙였습니다. >> 그러다보니, 영상속 결과물처럼 오류가 발생하진 안았지만, 원하던 결과물과는 많이 상이했습니다.
Get data set에서 transcript가 안 보였음.
그리고, OpenAI의 모듈에서도 차이가 있었습니다.
동일한, 모듈인데도, Role 하단에, 저는 Text Content가 있었고, 영상속에서는 Message Content가 있었습니다.
그래서, 저의 경우는 Text Content에 하단과 같이 프롬프트를 수정해 집어넣었습니다.