4️⃣Video to Transcripts

OpenAI: Transcripts

import os
from dotenv import load_dotenv

# 토큰 정보로드
api_key = os.getenv("OPENAI_API_KEY")
load_dotenv()
True

1. 자막생성

from openai import OpenAI

client = OpenAI()
audio_file = open("data/채용면접_샘플_01.wav", "rb")
transcript = client.audio.transcriptions.create(
    file=audio_file,
    model="whisper-1",
    language="ko",
    response_format="srt",  # 자막 포맷
    temperature=0.0,
)
print(transcript)
1
00:00:00,000 --> 00:00:07,000
지금 생각해보면 가장 기억에 남는 것이 외환위기 때의 경험입니다.

2
00:00:07,000 --> 00:00:13,000
외환위기 때 나라뿐 아니라 회사에서는 달러가 많이 부족했고

3
00:00:13,000 --> 00:00:19,000
우리는 수출을 하기 위해서 원자재라든지 대금지급

4
00:00:19,000 --> 00:00:23,000
혹은 또 우리가 수출한 물건에 대한 대금을 받아야 되는 상황이었습니다.

5
00:00:23,000 --> 00:00:29,000
일단은 우리가 해외로부터 받아야 될 때는 최대한 그것을 달러로 받았고

6
00:00:29,000 --> 00:00:36,000
반대로 우리가 지불해야 될 것은 가능한 한 원자재를 통해서 지급을 했습니다.

7
00:00:36,000 --> 00:00:40,000
그 원자재라는 것이 결국은 반도체 쪽이었는데

8
00:00:40,000 --> 00:00:46,000
우리나라에서 가장 나름 손쉽게 구하면서도 꼭 필요한 제품인 반도체를

9
00:00:46,000 --> 00:00:48,000
원자재값 대응으로 물건을 주면서

10
00:00:48,000 --> 00:00:53,000
반대로 해외에서 우리가 받아야 될 것은 달러로 받으면서

11
00:00:53,000 --> 00:00:57,000
그 환율차를 가장 줄일 수가 있었습니다.

12
00:00:57,000 --> 00:01:06,000
그것으로 인해서 약 6개월 동안에 나름 회사에서는 달러 지출을 막을 수 있었고

13
00:01:06,000 --> 00:01:15,000
그때 그나마 달러를 회사에서 확보를 해서 나름의 위기를 극복할 수 있었던 것으로 생각합니다.

2. YouTube

#%pip install pytube
from pytube import YouTube
import os

link = "https://youtu.be/LQS3y7Tckhc?si=pEJdAfSq3On_Uvou"

yt = YouTube(link)
filename = yt.streams.filter(only_audio=True).first().download()
renamed_file = filename.replace(".mp4", ".mp3")
os.rename(filename, renamed_file)
print(renamed_file)
/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화.mp3

3. MP3 -> WAV 변환

#%pip install moviepy
from moviepy.editor import AudioFileClip

def convert_mp3_to_wav(filepath):
    # WAV 파일 경로
    wav_file_path = filepath.replace(".mp3", ".wav")

    # MP4 파일 로드
    audio_clip = AudioFileClip(filepath)

    # WAV 형식으로 오디오 추출 및 저장
    audio_clip.write_audiofile(wav_file_path, fps=44100, nbytes=2, codec="pcm_s16le")
    return wav_file_path
wav_file = convert_mp3_to_wav(renamed_file)
MoviePy - Writing audio in /home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화.wav


                                                                      

MoviePy - Done.

from pydub import AudioSegment

# 오디오 파일 불러오기
audio = AudioSegment.from_file(wav_file, format="wav")

total_length = len(audio)
length_per_chunk = 60 * 1000  # 60초

if not os.path.exists(".tmp"):
    os.mkdir(".tmp")

folder_path = os.path.join(".tmp", wav_file[:-4])

if not os.path.exists(folder_path):
    os.mkdir(folder_path)

chunks = []
for i in range(0, total_length, length_per_chunk):
    chunk_file_path = os.path.join(folder_path, f"{i}.wav")
    audio[i : i + length_per_chunk].export(chunk_file_path, format="wav")
    chunks.append(chunk_file_path)
chunks
['/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/0.wav',
 '/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/60000.wav',
 '/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/120000.wav',
 '/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/180000.wav',
 '/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/240000.wav',
 '/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/300000.wav',
 '/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/360000.wav']
from datetime import datetime, timedelta
import re

def adjust_timestamps(transcript, minutes=1):
    # Define the regular expression pattern for timestamps
    timestamp_pattern = re.compile(r"(\d{2}:\d{2}:\d{2},\d{3})")

    # Function to add minutes to a timestamp
    def add_minutes(timestamp_str, minutes):
        timestamp = datetime.strptime(timestamp_str, "%H:%M:%S,%f")
        adjusted_timestamp = timestamp + timedelta(minutes=minutes)
        return adjusted_timestamp.strftime("%H:%M:%S,%f")[:-3]

    # Replace timestamps in the transcript
    adjusted_transcript = timestamp_pattern.sub(
        lambda match: add_minutes(match.group(1), minutes), transcript
    )
    return adjusted_transcript
transcripts = []
for i, chunk in enumerate(chunks):
    print(chunk)
    audio_file = open(chunk, "rb")
    transcript = client.audio.transcriptions.create(
        file=audio_file,
        model="whisper-1",
        language="ko",
        response_format="srt",
        temperature=0.01,
    )
    transcripts.append(adjust_timestamps(transcript, minutes=i))
/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/0.wav
/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/60000.wav
/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/120000.wav
/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/180000.wav
/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/240000.wav
/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/300000.wav
/home/kubwa/kubwai/10-LangChain/00_OpenAI-API/[GPTs로 꿀빨기] PPT 제작 자동화/360000.wav
def merge_transcripts(*transcripts):
    merged_transcript = ""
    current_number = 1

    for transcript in transcripts:
        # Split the transcript into segments
        segments = transcript.strip().split("\n\n")
        for segment in segments:
            # Split each segment into lines
            lines = segment.split("\n")
            # Replace the number at the beginning of each segment with the correct sequence number
            lines[0] = str(current_number)
            # Increment the sequence number
            current_number += 1
            # Reassemble the segment
            merged_transcript += "\n".join(lines) + "\n\n"

    return merged_transcript.strip()
print(merge_transcripts(*transcripts))
1
00:00:00,000 --> 00:00:07,760
여기 있는 내용들을 쭉 드래그를 합니다 복사를 하신 다음에 ppt 제작 전문가 gptsbot한테 붙여넣기를 해주는 거예요

2
00:00:07,760 --> 00:00:16,639
얘가 ppt를 작성을 해주는 것을 볼 수가 있어요 ppt의 제목을 알아서 뽑아주고요 그 안에 포함될 블랙포인트들을 구성을 해줍니다

3
00:00:16,639 --> 00:00:25,920
마지막으로 발표 스크립트도 얘가 자동으로 작성을 해주거든요 에디터 영역에다가 붙여넣기를 해주시면은 오른쪽에 깔끔하게 장표가 완성이 되는 것을 볼 수가 있어요

4
00:00:25,920 --> 00:00:27,360
굉장히 빠르게 완성이 되죠

5
00:00:30,000 --> 00:00:38,160
안녕하세요 오늘은 채치 pt의 새로운 기능 중에 하나인 gpts에 대해서 알아보도록 하겠는데요

6
00:00:38,160 --> 00:00:42,639
제가 최근에 이 gpts를 활용하면서 정말 놀라움을 금치 못하고 있습니다

7
00:00:42,639 --> 00:00:48,240
생산성을 극대화 해주는 게 바로 gpts 인데요 관심 있으신 분들은 한번씩 써보고 계실 것 같아요

8
00:00:48,240 --> 00:00:52,560
제가 평소에 너무 싫어하는 게 이 ppt를 제작하는 것을 너무 귀찮아해요

9
00:00:52,560 --> 00:00:54,160
문서 하는 것도 너무 귀찮아하고요

10
00:00:54,160 --> 00:00:56,560
이 ppt를 어떻게 하면 좀 쉽게 만들 수 있을까

11
00:00:56,560 --> 00:01:00,720
요즘에는 채치 pt를 사용해서 귀찮은 부분들을 많이 해소를 하고 있습니다

12
00:01:00,000 --> 00:01:03,900
제가 이렇게 PPT 제작 전문가라는 GPTS를 만들어 봤어요

13
00:01:03,900 --> 00:01:06,100
먼저 이 기능에 대해서 간단히 소개를 해드릴게요

14
00:01:06,100 --> 00:01:08,840
웹사이트에 링크나 아니면 글을 넣어주게 되면은

15
00:01:08,840 --> 00:01:11,180
그 내용을 기반으로 PPT를 만들어주는

16
00:01:11,180 --> 00:01:12,980
그런 채집 PT라고 보시면 돼요

17
00:01:12,980 --> 00:01:14,080
예시를 들어볼게요

18
00:01:14,080 --> 00:01:17,180
오늘자 신문 기사를 하나 랜덤하게 발췌를 했습니다

19
00:01:17,180 --> 00:01:19,120
라이폰 통화 녹음 굿, 워치 날림은 아쉽

20
00:01:19,120 --> 00:01:22,620
화제의 SKT A. 써보니 라는 제목의 기사이고요

21
00:01:22,620 --> 00:01:25,920
자 이 내용들을 가지고 제가 PPT를 만들고 싶어요

22
00:01:25,920 --> 00:01:28,059
여기 있는 내용들을 쭉 드래그를 합니다

23
00:01:28,059 --> 00:01:31,260
자 이렇게 드래그를 해서 내용을 가져오는 거죠

24
00:01:31,260 --> 00:01:33,020
복사를 하신 다음에

25
00:01:33,020 --> 00:01:35,639
PPT 제작 전문가 GPTS 보트한테

26
00:01:35,639 --> 00:01:36,959
붙여넣기를 해주는 거예요

27
00:01:36,959 --> 00:01:38,560
자 이렇게 내용을 붙여 넣었습니다

28
00:01:38,560 --> 00:01:39,799
엔터키를 입력해 볼게요

29
00:01:39,799 --> 00:01:43,340
얘가 PPT를 작성을 해주는 것을 볼 수가 있어요

30
00:01:43,340 --> 00:01:45,680
PPT의 제목을 알아서 뽑아주고요

31
00:01:45,680 --> 00:01:48,680
그 안에 포함될 블랙 포인트들을 구성을 해줍니다

32
00:01:48,680 --> 00:01:52,419
제가 여기 안에 내용은 아주 간략하게 구성을 해달라고 했기 때문에

33
00:01:52,419 --> 00:01:56,020
구체적인 내용보다는 핵심 위주로 이렇게 뽑아내서 넣어주는 거를 볼 수가 있죠

34
00:01:56,020 --> 00:01:57,759
처음에 핵심 내용을 뽑아주고요

35
00:01:57,759 --> 00:02:00,119
다음으로는 슬라이드 구성 부분에서

36
00:02:00,000 --> 00:02:02,320
슬라이드 1에는 제목은 뭐가 들어가고

37
00:02:02,320 --> 00:02:04,540
장표 안에 들어가는 블랙 포인트는 뭐가 들어가고

38
00:02:04,540 --> 00:02:06,040
이런 식으로 구성을 해주고 있어요

39
00:02:06,040 --> 00:02:09,520
마지막으로 발표 스크립트도 얘가 자동으로 작성을 해주거든요

40
00:02:09,520 --> 00:02:13,080
제가 발표할 내용들을 알아서 작성을 해주는 것을 볼 수가 있고요

41
00:02:13,080 --> 00:02:14,860
3장의 슬라이드로 구성이 됐는데

42
00:02:14,860 --> 00:02:16,260
중간에 길어서 끊어졌어요

43
00:02:16,260 --> 00:02:19,059
그러면 오른쪽에 Continue Generating을 눌러주시면 됩니다

44
00:02:19,059 --> 00:02:22,559
이렇게 발표 스크립트까지 완성을 해줬고요

45
00:02:22,559 --> 00:02:26,200
다음으로는 MARF 형식의 슬라이드라는 것을 작성해주는 것을 볼 수가 있어요

46
00:02:26,200 --> 00:02:27,400
위에 내용까지는 알겠는데

47
00:02:27,400 --> 00:02:30,000
갑자기 여기에서 MARF라는 게 툭 튀어나왔죠

48
00:02:30,000 --> 00:02:31,900
이거는 어떻게 쓰는 건지 제가 보여드릴게요

49
00:02:31,900 --> 00:02:33,740
이렇게 구성을 해주는 것까지도 좋은데요

50
00:02:33,740 --> 00:02:36,639
저는 장표를 만드는 것까지도 자동화를 하고 싶었던 거예요

51
00:02:36,639 --> 00:02:38,880
여기 보시면 Copy Code라는 버튼이 보이실 거예요

52
00:02:38,880 --> 00:02:40,919
이거를 눌러서 코드를 복사를 합니다

53
00:02:40,919 --> 00:02:44,520
다음으로는 Mark Slides라는 웹사이트로 오시면 되고요

54
00:02:44,520 --> 00:02:47,880
markslides.ai 여기 주소로 오시면 돼요

55
00:02:47,880 --> 00:02:50,360
에디터 영역에다가 붙여넣기를 해주시면

56
00:02:50,360 --> 00:02:53,799
오른쪽에 깔끔하게 장표가 완성이 되는 것을 볼 수가 있어요

57
00:02:53,799 --> 00:02:55,099
굉장히 빠르게 완성이 됐죠

58
00:02:55,160 --> 00:02:58,540
바로 슬라이드 표시 진행을 하실 수도 있고

59
00:02:58,540 --> 00:03:00,540
Export as PDF라는 것들도 있어요

60
00:03:00,000 --> 00:03:02,560
버튼으로 pdf로 내려받으실 수도 있어요

61
00:03:02,560 --> 00:03:06,840
물론 여기 있는 ppt 장표가 최종 버전이라고 하기엔

62
00:03:06,840 --> 00:03:08,200
좀 어려움이 있을 수 있겠죠

63
00:03:08,200 --> 00:03:09,540
내용 보충이 필요할 수도 있고요

64
00:03:09,540 --> 00:03:11,900
하지만 기본 골격을 잡는 데에는

65
00:03:11,900 --> 00:03:14,680
굉장히 빠른 속도로 잡으실 수가 있기 때문에

66
00:03:14,680 --> 00:03:16,340
생산성을 높일 수가 있습니다

67
00:03:16,340 --> 00:03:19,480
그런데 여기 있는 내용을 복사 붙여넣기 하는 것도

68
00:03:19,480 --> 00:03:20,719
귀찮은 일일 수가 있어요

69
00:03:20,719 --> 00:03:22,879
그래서 지금부터 보여드릴 내용은

70
00:03:22,879 --> 00:03:25,920
여기에 단순하게 링크를 넣는 방법이에요

71
00:03:25,920 --> 00:03:28,200
이번에는 해외 기사도 한번 가져와 볼게요

72
00:03:28,200 --> 00:03:30,700
이번엔 이렇게 드래그해서 가져오는 게 아니라

73
00:03:30,700 --> 00:03:33,740
단순하게 이 신문기사의 링크를 복사를 해서

74
00:03:33,740 --> 00:03:37,980
ppt 제작 전문가 보드한테 링크를 알려주도록 하겠습니다

75
00:03:37,980 --> 00:03:40,180
이렇게 링크를 알려주면 제목과 함께

76
00:03:40,180 --> 00:03:42,540
본문의 내용을 얘가 알아서 가져오게끔

77
00:03:42,540 --> 00:03:44,279
프럼프트가 짜져 있어요

78
00:03:44,279 --> 00:03:48,380
자 이렇게 내용을 가져와서 슬라이드로 변형을 하고 있고요

79
00:03:48,380 --> 00:03:51,380
여기에 나와 있는 내용들은 해외 기사임에도 불구하고

80
00:03:51,380 --> 00:03:53,259
한글로 잘 쓰고 있는 것을 볼 수가 있죠

81
00:03:53,259 --> 00:03:55,820
제가 무조건 한글로 번역하게끔 프럼프트를 넣어놨어요

82
00:03:55,820 --> 00:03:57,720
그렇기 때문에 해외 기사를 넣더라도

83
00:03:57,720 --> 00:04:00,580
이렇게 한글로 잘 번역해서 슬라이드 구성을 해주시면 됩니다

84
00:04:00,000 --> 00:04:02,680
마지막으로 슬라이드 발표 스크립트까지

85
00:04:02,680 --> 00:04:05,080
이렇게 잘 작성하는 것을 볼 수가 있죠

86
00:04:05,080 --> 00:04:09,680
그런데 무조건 링크 붙여넣기 기능은 잘 되는 것은 아니에요

87
00:04:09,680 --> 00:04:13,800
가끔 가다가 이렇게 중간에 에러가 나타나기도 하고요

88
00:04:13,800 --> 00:04:18,440
때로는 이렇게 regenerate를 눌러서 다시 시도를 하는데

89
00:04:18,440 --> 00:04:22,280
이런 식으로 웹사이트 접근하는 데에 문제가 있다고 하면서

90
00:04:22,280 --> 00:04:24,440
정보를 가져오는데 좀 어려움이 있는 것 같아요

91
00:04:24,440 --> 00:04:27,480
이유는 로봇이 정보를 자동으로 긁어가지 못하게끔

92
00:04:27,480 --> 00:04:28,480
블록을 하고 있는데

93
00:04:28,480 --> 00:04:32,080
GPTS를 쓰게 되면은 이러한 문제점이 종종 발생을 하는 것 같습니다

94
00:04:32,080 --> 00:04:34,720
현재로서는 좀 번거로울 수 있겠지만

95
00:04:34,720 --> 00:04:36,520
추천드리는 방법은 웹사이트에 가서

96
00:04:36,520 --> 00:04:41,040
이 전체 내용을 복사를 해서 붙여넣기 하는 방식을 가장 먼저 추천을 드리고요

97
00:04:41,040 --> 00:04:44,040
슬라이드 구성을 하실 때에도 붙여넣기를 할 때

98
00:04:44,040 --> 00:04:46,040
전체 내용을 붙여넣기를 하지 마시고요

99
00:04:46,040 --> 00:04:48,240
큰 단락 위주로 붙여넣기 하시면 더욱 좋습니다

100
00:04:48,240 --> 00:04:50,919
PPT에 큰 주제가 있고

101
00:04:50,919 --> 00:04:54,160
이걸 관통하는 소 주제를 여러 개를 구성을 했어요

102
00:04:54,160 --> 00:04:56,919
1번 주제가 있고 2번 주제가 있고 3번 주제가 있고요

103
00:04:56,919 --> 00:04:59,240
내용을 그냥 다 때려넣고 얘가 잘해줄게요

104
00:05:00,000 --> 00:05:01,340
라고 하지 마시고요

105
00:05:01,340 --> 00:05:03,300
먼저 1번 주제에 해당한 내용을 붙여 넣고

106
00:05:03,300 --> 00:05:04,440
슬라이드 구성을 하시고

107
00:05:04,440 --> 00:05:06,200
2번 주제 넣고 구성하시고

108
00:05:06,200 --> 00:05:07,880
3번 주제 넣고 구성하시는 게

109
00:05:07,880 --> 00:05:09,680
가장 결과물이 좋았던 것 같습니다

110
00:05:09,680 --> 00:05:11,500
제가 만든 이 PPT 제작 전문가는

111
00:05:11,500 --> 00:05:14,340
어떻게 하면 효율적으로 써볼 수 있을까 해서

112
00:05:14,340 --> 00:05:16,180
처음으로 간단하게 한번 만들어 봤고요

113
00:05:16,180 --> 00:05:18,400
최대 슬라이드 3장만 만들게끔 넣어 놨거든요

114
00:05:18,400 --> 00:05:20,780
나중에 여러분들이 프롬프트 튜닝을 하시게 되면

115
00:05:20,780 --> 00:05:22,480
5장 7장 이렇게 늘리거나

116
00:05:22,480 --> 00:05:24,639
안에 들어가는 내용 구성하는 방법도

117
00:05:24,639 --> 00:05:25,700
달리 하실 수가 있습니다

118
00:05:25,700 --> 00:05:26,780
오늘 영상에서는

119
00:05:26,780 --> 00:05:29,280
제가 이 PPT 제작 전문가를 어떻게 활용하고 있는지

120
00:05:29,280 --> 00:05:32,619
이것을 활용해서 어떻게 슬라이드를 좀 빠르게 만드는지

121
00:05:32,619 --> 00:05:34,320
그 방법에 대해서 공유를 해드렸고요

122
00:05:34,320 --> 00:05:36,119
만약에 이 영상이 반응이 좋다면

123
00:05:36,119 --> 00:05:38,520
PPT 제작 전문가를 어떻게 구성을 했는지

124
00:05:38,520 --> 00:05:40,619
제가 어떠한 프롬프트를 썼는지도

125
00:05:40,619 --> 00:05:42,060
공유를 해드리도록 하겠습니다

126
00:05:42,060 --> 00:05:44,060
그리고 이 GPTS를 만들 때

127
00:05:44,060 --> 00:05:45,980
좀 좋은 결과물을 내기 위해서는

128
00:05:45,980 --> 00:05:47,919
어떤 식으로 구성을 하면 되는지도

129
00:05:47,919 --> 00:05:49,279
영상으로 담아보도록 할게요

130
00:05:49,279 --> 00:05:52,880
이 PPT 제작 전문가를 체험해 보고 싶으신 분들을 위해서

131
00:05:52,880 --> 00:05:55,279
더보기란에 링크 넣어두도록 하겠습니다

132
00:05:55,279 --> 00:05:56,580
오늘 영상은 여기까지였습니다

133
00:05:56,580 --> 00:05:57,520
감사합니다

134
00:06:00,000 --> 00:06:11,470
아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아
merged_transcript = merge_transcripts(*transcripts)
print(merged_transcript)
1
00:00:00,000 --> 00:00:07,760
여기 있는 내용들을 쭉 드래그를 합니다 복사를 하신 다음에 ppt 제작 전문가 gptsbot한테 붙여넣기를 해주는 거예요

2
00:00:07,760 --> 00:00:16,639
얘가 ppt를 작성을 해주는 것을 볼 수가 있어요 ppt의 제목을 알아서 뽑아주고요 그 안에 포함될 블랙포인트들을 구성을 해줍니다

3
00:00:16,639 --> 00:00:25,920
마지막으로 발표 스크립트도 얘가 자동으로 작성을 해주거든요 에디터 영역에다가 붙여넣기를 해주시면은 오른쪽에 깔끔하게 장표가 완성이 되는 것을 볼 수가 있어요

4
00:00:25,920 --> 00:00:27,360
굉장히 빠르게 완성이 되죠

5
00:00:30,000 --> 00:00:38,160
안녕하세요 오늘은 채치 pt의 새로운 기능 중에 하나인 gpts에 대해서 알아보도록 하겠는데요

6
00:00:38,160 --> 00:00:42,639
제가 최근에 이 gpts를 활용하면서 정말 놀라움을 금치 못하고 있습니다

7
00:00:42,639 --> 00:00:48,240
생산성을 극대화 해주는 게 바로 gpts 인데요 관심 있으신 분들은 한번씩 써보고 계실 것 같아요

8
00:00:48,240 --> 00:00:52,560
제가 평소에 너무 싫어하는 게 이 ppt를 제작하는 것을 너무 귀찮아해요

9
00:00:52,560 --> 00:00:54,160
문서 하는 것도 너무 귀찮아하고요

10
00:00:54,160 --> 00:00:56,560
이 ppt를 어떻게 하면 좀 쉽게 만들 수 있을까

11
00:00:56,560 --> 00:01:00,720
요즘에는 채치 pt를 사용해서 귀찮은 부분들을 많이 해소를 하고 있습니다

12
00:01:00,000 --> 00:01:03,900
제가 이렇게 PPT 제작 전문가라는 GPTS를 만들어 봤어요

13
00:01:03,900 --> 00:01:06,100
먼저 이 기능에 대해서 간단히 소개를 해드릴게요

14
00:01:06,100 --> 00:01:08,840
웹사이트에 링크나 아니면 글을 넣어주게 되면은

15
00:01:08,840 --> 00:01:11,180
그 내용을 기반으로 PPT를 만들어주는

16
00:01:11,180 --> 00:01:12,980
그런 채집 PT라고 보시면 돼요

17
00:01:12,980 --> 00:01:14,080
예시를 들어볼게요

18
00:01:14,080 --> 00:01:17,180
오늘자 신문 기사를 하나 랜덤하게 발췌를 했습니다

19
00:01:17,180 --> 00:01:19,120
라이폰 통화 녹음 굿, 워치 날림은 아쉽

20
00:01:19,120 --> 00:01:22,620
화제의 SKT A. 써보니 라는 제목의 기사이고요

21
00:01:22,620 --> 00:01:25,920
자 이 내용들을 가지고 제가 PPT를 만들고 싶어요

22
00:01:25,920 --> 00:01:28,059
여기 있는 내용들을 쭉 드래그를 합니다

23
00:01:28,059 --> 00:01:31,260
자 이렇게 드래그를 해서 내용을 가져오는 거죠

24
00:01:31,260 --> 00:01:33,020
복사를 하신 다음에

25
00:01:33,020 --> 00:01:35,639
PPT 제작 전문가 GPTS 보트한테

26
00:01:35,639 --> 00:01:36,959
붙여넣기를 해주는 거예요

27
00:01:36,959 --> 00:01:38,560
자 이렇게 내용을 붙여 넣었습니다

28
00:01:38,560 --> 00:01:39,799
엔터키를 입력해 볼게요

29
00:01:39,799 --> 00:01:43,340
얘가 PPT를 작성을 해주는 것을 볼 수가 있어요

30
00:01:43,340 --> 00:01:45,680
PPT의 제목을 알아서 뽑아주고요

31
00:01:45,680 --> 00:01:48,680
그 안에 포함될 블랙 포인트들을 구성을 해줍니다

32
00:01:48,680 --> 00:01:52,419
제가 여기 안에 내용은 아주 간략하게 구성을 해달라고 했기 때문에

33
00:01:52,419 --> 00:01:56,020
구체적인 내용보다는 핵심 위주로 이렇게 뽑아내서 넣어주는 거를 볼 수가 있죠

34
00:01:56,020 --> 00:01:57,759
처음에 핵심 내용을 뽑아주고요

35
00:01:57,759 --> 00:02:00,119
다음으로는 슬라이드 구성 부분에서

36
00:02:00,000 --> 00:02:02,320
슬라이드 1에는 제목은 뭐가 들어가고

37
00:02:02,320 --> 00:02:04,540
장표 안에 들어가는 블랙 포인트는 뭐가 들어가고

38
00:02:04,540 --> 00:02:06,040
이런 식으로 구성을 해주고 있어요

39
00:02:06,040 --> 00:02:09,520
마지막으로 발표 스크립트도 얘가 자동으로 작성을 해주거든요

40
00:02:09,520 --> 00:02:13,080
제가 발표할 내용들을 알아서 작성을 해주는 것을 볼 수가 있고요

41
00:02:13,080 --> 00:02:14,860
3장의 슬라이드로 구성이 됐는데

42
00:02:14,860 --> 00:02:16,260
중간에 길어서 끊어졌어요

43
00:02:16,260 --> 00:02:19,059
그러면 오른쪽에 Continue Generating을 눌러주시면 됩니다

44
00:02:19,059 --> 00:02:22,559
이렇게 발표 스크립트까지 완성을 해줬고요

45
00:02:22,559 --> 00:02:26,200
다음으로는 MARF 형식의 슬라이드라는 것을 작성해주는 것을 볼 수가 있어요

46
00:02:26,200 --> 00:02:27,400
위에 내용까지는 알겠는데

47
00:02:27,400 --> 00:02:30,000
갑자기 여기에서 MARF라는 게 툭 튀어나왔죠

48
00:02:30,000 --> 00:02:31,900
이거는 어떻게 쓰는 건지 제가 보여드릴게요

49
00:02:31,900 --> 00:02:33,740
이렇게 구성을 해주는 것까지도 좋은데요

50
00:02:33,740 --> 00:02:36,639
저는 장표를 만드는 것까지도 자동화를 하고 싶었던 거예요

51
00:02:36,639 --> 00:02:38,880
여기 보시면 Copy Code라는 버튼이 보이실 거예요

52
00:02:38,880 --> 00:02:40,919
이거를 눌러서 코드를 복사를 합니다

53
00:02:40,919 --> 00:02:44,520
다음으로는 Mark Slides라는 웹사이트로 오시면 되고요

54
00:02:44,520 --> 00:02:47,880
markslides.ai 여기 주소로 오시면 돼요

55
00:02:47,880 --> 00:02:50,360
에디터 영역에다가 붙여넣기를 해주시면

56
00:02:50,360 --> 00:02:53,799
오른쪽에 깔끔하게 장표가 완성이 되는 것을 볼 수가 있어요

57
00:02:53,799 --> 00:02:55,099
굉장히 빠르게 완성이 됐죠

58
00:02:55,160 --> 00:02:58,540
바로 슬라이드 표시 진행을 하실 수도 있고

59
00:02:58,540 --> 00:03:00,540
Export as PDF라는 것들도 있어요

60
00:03:00,000 --> 00:03:02,560
버튼으로 pdf로 내려받으실 수도 있어요

61
00:03:02,560 --> 00:03:06,840
물론 여기 있는 ppt 장표가 최종 버전이라고 하기엔

62
00:03:06,840 --> 00:03:08,200
좀 어려움이 있을 수 있겠죠

63
00:03:08,200 --> 00:03:09,540
내용 보충이 필요할 수도 있고요

64
00:03:09,540 --> 00:03:11,900
하지만 기본 골격을 잡는 데에는

65
00:03:11,900 --> 00:03:14,680
굉장히 빠른 속도로 잡으실 수가 있기 때문에

66
00:03:14,680 --> 00:03:16,340
생산성을 높일 수가 있습니다

67
00:03:16,340 --> 00:03:19,480
그런데 여기 있는 내용을 복사 붙여넣기 하는 것도

68
00:03:19,480 --> 00:03:20,719
귀찮은 일일 수가 있어요

69
00:03:20,719 --> 00:03:22,879
그래서 지금부터 보여드릴 내용은

70
00:03:22,879 --> 00:03:25,920
여기에 단순하게 링크를 넣는 방법이에요

71
00:03:25,920 --> 00:03:28,200
이번에는 해외 기사도 한번 가져와 볼게요

72
00:03:28,200 --> 00:03:30,700
이번엔 이렇게 드래그해서 가져오는 게 아니라

73
00:03:30,700 --> 00:03:33,740
단순하게 이 신문기사의 링크를 복사를 해서

74
00:03:33,740 --> 00:03:37,980
ppt 제작 전문가 보드한테 링크를 알려주도록 하겠습니다

75
00:03:37,980 --> 00:03:40,180
이렇게 링크를 알려주면 제목과 함께

76
00:03:40,180 --> 00:03:42,540
본문의 내용을 얘가 알아서 가져오게끔

77
00:03:42,540 --> 00:03:44,279
프럼프트가 짜져 있어요

78
00:03:44,279 --> 00:03:48,380
자 이렇게 내용을 가져와서 슬라이드로 변형을 하고 있고요

79
00:03:48,380 --> 00:03:51,380
여기에 나와 있는 내용들은 해외 기사임에도 불구하고

80
00:03:51,380 --> 00:03:53,259
한글로 잘 쓰고 있는 것을 볼 수가 있죠

81
00:03:53,259 --> 00:03:55,820
제가 무조건 한글로 번역하게끔 프럼프트를 넣어놨어요

82
00:03:55,820 --> 00:03:57,720
그렇기 때문에 해외 기사를 넣더라도

83
00:03:57,720 --> 00:04:00,580
이렇게 한글로 잘 번역해서 슬라이드 구성을 해주시면 됩니다

84
00:04:00,000 --> 00:04:02,680
마지막으로 슬라이드 발표 스크립트까지

85
00:04:02,680 --> 00:04:05,080
이렇게 잘 작성하는 것을 볼 수가 있죠

86
00:04:05,080 --> 00:04:09,680
그런데 무조건 링크 붙여넣기 기능은 잘 되는 것은 아니에요

87
00:04:09,680 --> 00:04:13,800
가끔 가다가 이렇게 중간에 에러가 나타나기도 하고요

88
00:04:13,800 --> 00:04:18,440
때로는 이렇게 regenerate를 눌러서 다시 시도를 하는데

89
00:04:18,440 --> 00:04:22,280
이런 식으로 웹사이트 접근하는 데에 문제가 있다고 하면서

90
00:04:22,280 --> 00:04:24,440
정보를 가져오는데 좀 어려움이 있는 것 같아요

91
00:04:24,440 --> 00:04:27,480
이유는 로봇이 정보를 자동으로 긁어가지 못하게끔

92
00:04:27,480 --> 00:04:28,480
블록을 하고 있는데

93
00:04:28,480 --> 00:04:32,080
GPTS를 쓰게 되면은 이러한 문제점이 종종 발생을 하는 것 같습니다

94
00:04:32,080 --> 00:04:34,720
현재로서는 좀 번거로울 수 있겠지만

95
00:04:34,720 --> 00:04:36,520
추천드리는 방법은 웹사이트에 가서

96
00:04:36,520 --> 00:04:41,040
이 전체 내용을 복사를 해서 붙여넣기 하는 방식을 가장 먼저 추천을 드리고요

97
00:04:41,040 --> 00:04:44,040
슬라이드 구성을 하실 때에도 붙여넣기를 할 때

98
00:04:44,040 --> 00:04:46,040
전체 내용을 붙여넣기를 하지 마시고요

99
00:04:46,040 --> 00:04:48,240
큰 단락 위주로 붙여넣기 하시면 더욱 좋습니다

100
00:04:48,240 --> 00:04:50,919
PPT에 큰 주제가 있고

101
00:04:50,919 --> 00:04:54,160
이걸 관통하는 소 주제를 여러 개를 구성을 했어요

102
00:04:54,160 --> 00:04:56,919
1번 주제가 있고 2번 주제가 있고 3번 주제가 있고요

103
00:04:56,919 --> 00:04:59,240
내용을 그냥 다 때려넣고 얘가 잘해줄게요

104
00:05:00,000 --> 00:05:01,340
라고 하지 마시고요

105
00:05:01,340 --> 00:05:03,300
먼저 1번 주제에 해당한 내용을 붙여 넣고

106
00:05:03,300 --> 00:05:04,440
슬라이드 구성을 하시고

107
00:05:04,440 --> 00:05:06,200
2번 주제 넣고 구성하시고

108
00:05:06,200 --> 00:05:07,880
3번 주제 넣고 구성하시는 게

109
00:05:07,880 --> 00:05:09,680
가장 결과물이 좋았던 것 같습니다

110
00:05:09,680 --> 00:05:11,500
제가 만든 이 PPT 제작 전문가는

111
00:05:11,500 --> 00:05:14,340
어떻게 하면 효율적으로 써볼 수 있을까 해서

112
00:05:14,340 --> 00:05:16,180
처음으로 간단하게 한번 만들어 봤고요

113
00:05:16,180 --> 00:05:18,400
최대 슬라이드 3장만 만들게끔 넣어 놨거든요

114
00:05:18,400 --> 00:05:20,780
나중에 여러분들이 프롬프트 튜닝을 하시게 되면

115
00:05:20,780 --> 00:05:22,480
5장 7장 이렇게 늘리거나

116
00:05:22,480 --> 00:05:24,639
안에 들어가는 내용 구성하는 방법도

117
00:05:24,639 --> 00:05:25,700
달리 하실 수가 있습니다

118
00:05:25,700 --> 00:05:26,780
오늘 영상에서는

119
00:05:26,780 --> 00:05:29,280
제가 이 PPT 제작 전문가를 어떻게 활용하고 있는지

120
00:05:29,280 --> 00:05:32,619
이것을 활용해서 어떻게 슬라이드를 좀 빠르게 만드는지

121
00:05:32,619 --> 00:05:34,320
그 방법에 대해서 공유를 해드렸고요

122
00:05:34,320 --> 00:05:36,119
만약에 이 영상이 반응이 좋다면

123
00:05:36,119 --> 00:05:38,520
PPT 제작 전문가를 어떻게 구성을 했는지

124
00:05:38,520 --> 00:05:40,619
제가 어떠한 프롬프트를 썼는지도

125
00:05:40,619 --> 00:05:42,060
공유를 해드리도록 하겠습니다

126
00:05:42,060 --> 00:05:44,060
그리고 이 GPTS를 만들 때

127
00:05:44,060 --> 00:05:45,980
좀 좋은 결과물을 내기 위해서는

128
00:05:45,980 --> 00:05:47,919
어떤 식으로 구성을 하면 되는지도

129
00:05:47,919 --> 00:05:49,279
영상으로 담아보도록 할게요

130
00:05:49,279 --> 00:05:52,880
이 PPT 제작 전문가를 체험해 보고 싶으신 분들을 위해서

131
00:05:52,880 --> 00:05:55,279
더보기란에 링크 넣어두도록 하겠습니다

132
00:05:55,279 --> 00:05:56,580
오늘 영상은 여기까지였습니다

133
00:05:56,580 --> 00:05:57,520
감사합니다

134
00:06:00,000 --> 00:06:11,470
아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아 아
with open("sample.srt", "w") as f:
    f.write(merged_transcript)
# define a function for GPT to generate fictitious prompts
def post_processing(context: str) -> str:
    """Given an instruction, generate a prompt."""
    # system_prompt = instruction
    # user_prompt = f"Give me a summary of this video: {context}"
    response = client.chat.completions.create(
        model="gpt-4-turbo-preview",
        temperature=0.1,
        messages=[
            {
                "role": "system",
                "content": "당신은 자막 정보를 바탕으로 요약을 작성하는 인공지능입니다.",
                # we pick an example topic (friends talking about a vacation) so that GPT does not refuse or ask clarifying questions
            },
            {"role": "user", "content": context},
        ],
        stream=True,
    )

    final_answer = []
    # 스트림 모드에서는 completion.choices 를 반복문으로 순회
    for chunk in response:
        # chunk 를 저장
        chunk_content = chunk.choices[0].delta.content
        # chunk 가 문자열이면 final_answer 에 추가
        if isinstance(chunk_content, str):
            final_answer.append(chunk_content)
            # 토큰 단위로 실시간 답변 출력
            print(chunk_content, end="")
    return "".join(final_answer)
instruction = f"""주어진 비디오 "자막정보" 를 바탕으로 [요청사항]을 차례대로 수행해주세요.
[자막정보]
{merged_transcript}

[요청사항]
1. 주어진 [자막정보]에서 중요한 주제를 시간 순서에 맞게 선정하고, 주제가 시작되는 시간을 기록해주세요.
2. 주제는 한 줄 요약을 작성하고, 자막에서 주제가 시작되는 시간을 mm:ss(분:초) 형식으로 작성하세요. (예: 00:05 👋 자막 생성 기능에 대한 소개)
3. 요약은 한글로 작성해주세요.
4. 각 문장에 적합한 emoji를 최대한 활용해 주세요
5. 한글로 번역해줘.

[출력예시]
00:12 👋 GPTs 의 주요 개념에 대하여 소개해요
03:13 👀 GPTs 의 장단점과 활용 사례에 대하여 자세히 알아봐요

[주의사항]
- 주제는 최대한 많이 추출해 주세요.
- 시간표기에 오류가 없도록 주의해 주세요. 분:초 형식으로 작성합니다. (예: 00:12)

run step-by-step. Take a deep breath. You can do it!
"""
summary_output = post_processing(instruction)
00:30 👋 GPTS의 새로운 기능 소개 시작해요  
00:52 🤔 PPT 제작의 어려움과 GPTS로 해결하는 방법에 대해 이야기해요  
01:14 📝 웹사이트 링크나 글을 넣어 PPT를 자동으로 만들어주는 과정을 설명해요  
02:19 🔄 발표 스크립트와 MARF 형식의 슬라이드 자동 생성 방법을 보여줘요  
03:25 🔗 해외 기사 링크를 사용한 PPT 제작 과정을 소개해요  
04:09 ❗ 링크 붙여넣기 기능의 한계와 해결 방안에 대해 설명해요  
05:11 🛠️ PPT 제작 전문가 GPTS의 효율적 사용법과 프롬프트 튜닝 방법을 공유해요  

Last updated