WEBVTT 00:00.950 --> 00:05.600 콜랍에 다시 오신 걸 환영합니다 사업 프로젝트에 다시 오신 것도요 00:05.600 --> 00:12.500 다시 숙제가 나왔네요 오디오 파일을 기반으로 회의록을 만들어야 해요 00:12.620 --> 00:15.620 아주 유용한 데이터 세트를 찾았어요 00:15.620 --> 00:19.610 완벽한 데이터를 얻기 위해 포옹하는 얼굴이죠 00:19.790 --> 00:25.760 미팅 뱅크라는 데이터 세트인데 꽤 유명한 데이터 세트예요 00:25.790 --> 00:31.250 미국 시의회의 6대 주요 도시에서 만든 척도죠 00:31.460 --> 00:32.990 그래서 이걸 써요 00:32.990 --> 00:39.800 덴버시 의회 회의 중 하나를 다운로드해서 10분 정도 편집한 00:39.800 --> 00:43.730 부분을 실험에 사용했어요 00:43.730 --> 00:46.550 10분인가 20분 정도 됐을 거예요 00:46.640 --> 00:54.890 어쨌든 오디오를 잘라 구글 드라이브에 저장했어요 구글 드라이브에 있는 건 뭐든 취할 수 있는 00:54.890 --> 00:59.690 제품이 되길 원했거든요 회사의 드라이브에 있는 회사를 00:59.690 --> 01:06.150 위해 이걸 구축하고 있다면 회의록 생성하는 데 사용할 수 있어요 01:06.150 --> 01:11.850 이 프로젝트의 일부로 작은 부록을 드리죠 구글 드라이브에서 Colab이 읽게 01:11.880 --> 01:13.800 하는 방법을 보여드릴게요 01:13.800 --> 01:23.850 늘 그렇듯 수입부터 시작할게요 Pip 설치부터요 하나 더 있어요 01:23.850 --> 01:29.250 이 Colab에도 OpenAI를 설치할 거예요 01:29.250 --> 01:34.170 포옹하는 얼굴만 쓰는 게 아니라 포옹하는 얼굴과 소포를 잔뜩 사용해요 01:34.170 --> 01:37.140 오픈AI 라이브러리도 있어요 01:37.230 --> 01:44.730 오픈AI와 다른 모든 것들을 수입하는 일도 해요 01:45.000 --> 01:47.370 그리고 몇 가지 상수를 설정할 거예요 01:47.370 --> 01:52.020 위스퍼라는 오디오 모델을 사용할 거예요 여러분이 사용할 수도 있는 거죠 01:52.020 --> 01:55.530 전에 과제를 드렸을 때요 01:55.710 --> 02:01.770 이건 라마 3이고요 180억 개짜리 지시 모델도 사용하게 될 거예요 02:01.890 --> 02:08.010 여기 여러분이 배우게 될 새 기능이 있어요 02:08.040 --> 02:09.660 오늘도 좀 더 주세요 02:09.690 --> 02:13.080 콜랍을 구글 드라이브에 연결하는 방법이죠 02:13.110 --> 02:14.280 아주 간단해요 02:14.310 --> 02:16.140 드라이브 닷 마운트예요 02:16.140 --> 02:19.260 원하는 곳을 말해주면 돼요 02:19.290 --> 02:20.220 구동축을 올려요 02:20.220 --> 02:21.720 그게 다예요 02:21.720 --> 02:25.740 제 열정에 대한 고정관념을 세웠어요 02:25.800 --> 02:33.480 LMS라는 폴더에 들어 있는데 그 안에 덴버의 닷 mp3 추출물이 있어요 02:33.480 --> 02:41.190 MP3 녹음 파일인데 덴버 시의회에서 10분에서 20분 정도 분량으로 02:41.190 --> 02:43.080 녹음한 거예요 02:43.110 --> 02:51.900 이걸 실행하면 뭐가 떠요 구글 1번과 연결됐죠 02:51.930 --> 02:55.980 이걸 두 번째로 실행하고 있어요 처음 실행했을 때 인증과 함께 02:55.980 --> 03:02.680 나타났죠 구글 계정으로 로그인되어 엑세스 권한을 부여받았다는 걸 확인하기 위한 선택이요 03:02.680 --> 03:05.860 이번에는 이미 설치됐다고 하네요 03:05.980 --> 03:10.390 이 폴더로 가면 구글 드라이브로 가서/콘텐츠/드라이브 03:10.420 --> 03:13.780 아래에 있는 모든 파일을 볼 수 있어요 03:14.410 --> 03:18.040 그런 다음 H깅페이스 허브에 로그인하죠 03:18.760 --> 03:19.300 시작할게요 03:19.330 --> 03:20.620 로그인 성공이에요 03:20.620 --> 03:23.380 오픈AI에도 로그인해야 해요 03:23.410 --> 03:25.690 이것도 비슷해요 03:25.690 --> 03:33.340 오픈아이 키를 준비했어요 오픈아이 키도 콜랍에 넣어 뒀죠 03:33.580 --> 03:41.710 그 키를 회수하고 일반적인 OpenAI 생성자를 호출해 인터페이스 03:41.710 --> 03:43.810 연결을 설정해요 03:43.810 --> 03:48.820 이번엔 OpenAI API 키를 넘길게요 03:49.000 --> 03:54.190 기억하시겠지만 과거에는 이걸 명시할 필요가 없었죠 환경 변수가 설정되어 있다는 사실에 03:54.190 --> 03:55.630 의존했으니까요 03:55.660 --> 03:58.570 이번엔 명시적으로 전달하죠 03:58.630 --> 04:00.010 자, 됐어요 04:00.250 --> 04:04.570 오픈아이와의 연결 고리가 만들어졌죠 04:04.870 --> 04:06.790 그럼 전 어떻게 하죠? 04:06.790 --> 04:14.290 이 오디오 파일을 취하겠습니다 구글 드라이브에 있는 거죠 이제 이 Colab에 매핑됐어요 04:14.290 --> 04:18.010 OpenAI. audio를 호출할 거예요 04:18.010 --> 04:24.790 .Rrcript는 .Create입니다 다른 오픈AI API 방식과 아주 유사하죠 04:24.820 --> 04:30.130 실제로 말을 하도록 만들었을 때 오디오를 생성하게 했던 것과 특히 유사하죠 04:30.340 --> 04:36.370 모델 이름을 입력했어요 위스퍼 원 모델, 파일 응답을 텍스트로 원한다는 04:36.370 --> 04:37.150 거죠 04:37.150 --> 04:42.760 오픈아이 위스퍼 모델에서 나온 것을 프린트할 거예요 04:42.760 --> 04:49.870 많은 오디오가 제공되었죠 프론티어 모델이라 부르는 04:49.900 --> 05:00.460 많은 오디오가 제공되고 있어요 현재 그 회의의 녹취본을 받으려고 기다리고 05:00.490 --> 05:01.690 있죠 05:02.590 --> 05:03.700 그렇게 됐네요 05:03.700 --> 05:07.030 Get it, get it, get it, get it, get it, it, it, it, it. 다른 걸 할 수 있게 계속할게요 05:07.030 --> 05:07.960 난 가야 해요 05:07.960 --> 05:14.080 다음엔 llama3 프롬프트를 설정하겠습니다 시스템 프롬프트 시스템 메시지, 05:14.110 --> 05:16.630 사용자 프롬프트가 있어요 05:16.630 --> 05:22.120 비서가 회의록을 작성하고 요약, 핵심 토론 포인트 05:22.120 --> 05:29.380 테이크아웃, 행동 항목을 작성해요 소유주가 마크다운된 사항이죠 05:29.380 --> 05:36.430 아래에 추출한 회의록의 프롬프트가 있어요 05:36.490 --> 05:36.910 괜찮아요 05:36.940 --> 05:39.520 제 영어 실력이 별로인 줄 알았는데 괜찮았어요 05:39.550 --> 05:41.680 다른 덴버 의회 회의요 05:41.680 --> 05:46.750 참석자와 장소, 날짜, 토론 포인트 포장 음식점, 소유주와 함께하는 활동 아이템 등을 05:46.750 --> 05:48.790 포함해 요약본으로 작성하세요 05:48.790 --> 05:54.640 그런 다음 회의 녹취록을 넣어요 사용자 프롬프트 바로 다음에요 05:54.820 --> 05:56.560 여기 녹취록이에요 05:56.590 --> 06:00.440 방금 인쇄했는데 아주 긴 필사본이에요 06:00.440 --> 06:02.960 덴버 시의회 회의요 06:02.990 --> 06:09.890 한동안 대화를 나눴는데 대부분 토착민의 날에 관한 거였어요 곧 다가올 연방 06:10.010 --> 06:11.540 공휴일이죠 06:11.780 --> 06:19.130 의회가 토착민의 날을 어떻게 인정할지 논쟁이 벌어졌어요 06:19.130 --> 06:24.050 이 글을 전부 읽거나 오디오를 들어 보세요 06:24.050 --> 06:30.140 이건 모두 텍스트로 되어 있고 이 전사 변수에 들어 있어요 06:30.230 --> 06:31.760 그래서 오디오로 시작했죠 06:31.790 --> 06:36.050 오픈라이의 위스퍼 원 모델 덕분에 텍스트가 생겼죠 06:36.260 --> 06:40.100 이제 시스템과 사용자 프롬프트를 생성하죠 06:40.130 --> 06:41.960 이제 눈에 익을 거예요 06:41.960 --> 06:44.000 이건 우리의 퀀트 구성이에요 06:44.000 --> 06:45.950 다시 수량화할 거예요 06:45.980 --> 06:46.490 안 될 거 없죠 06:46.520 --> 06:55.790 람다 3에 아주 효과적이었어요 메모리가 55로 크게 줄어들기 전까지는요 5기가바이트요 06:56.060 --> 06:57.320 하지만 아니었죠 06:57.350 --> 06:59.510 적어도 우리가 보기엔 연기가 완벽했어요 06:59.510 --> 07:03.410 얼마나 웃긴지 보려고 수량화하지 않고 해 봤을 수도 있죠 07:03.590 --> 07:03.950 네 07:03.980 --> 07:06.830 별 차이가 없다고 해도 놀랍지 않을 거예요 07:06.860 --> 07:08.990 퀀타이즈는 아주 효과적이에요 07:09.320 --> 07:12.890 이제 행동할 시간이에요 07:12.980 --> 07:17.990 지난번에 했던 거니까 익숙할 거예요 07:17.990 --> 07:26.360 라마를 위한 토큰마이저를 만들 거예요 교육된 오토 토큰마이저를 사용해서요 07:26.360 --> 07:30.410 이전처럼 패드 토큰을 설정하는 작업을 할 거예요 07:30.560 --> 07:35.900 채팅 템플릿 함수 적용 메서드를 호출할게요 07:35.900 --> 07:39.950 메시지를 전달하는 거죠 07:39.980 --> 07:41.090 전달하는 거죠 07:41.090 --> 07:43.790 물론 녹취록도 포함해서요 07:43.820 --> 07:47.090 전체 회의의 텍스트와 사용자 프롬프트를 포함하죠 07:47.120 --> 07:51.350 GPU 상에 엄청난 양의 텍스트를 Put 할 거예요 07:51.410 --> 07:53.270 다시 방송할 거예요 07:53.270 --> 07:55.790 이 텍스트 스트림 객체를 사용하세요 07:55.790 --> 07:57.800 이제 시작이에요 07:57.830 --> 07:58.400 맞아요 07:58.400 --> 08:00.710 이제 모델을 만들 거예요 08:00.710 --> 08:03.080 인과율 엘름 오토모델을 제작해요 08:03.080 --> 08:06.680 라마 모델명을 통과시키죠 08:06.680 --> 08:10.070 GPU가 있으면 사용하라고 하고 실제로 사용하죠 08:10.220 --> 08:13.760 T4 박스를 사용하고 있어요 작은 GPU 박스요 08:13.760 --> 08:17.150 퀀타이즈 구성에서 넘기죠 08:17.450 --> 08:20.480 시간이 좀 걸리니까 실행을 시작할게요 08:20.480 --> 08:22.820 말하기 전에 뛰어야 했어요 08:23.000 --> 08:24.770 그게 더 현명했을 거예요 08:24.950 --> 08:26.090 네 08:26.090 --> 08:33.410 그런 다음 모델을 생성하고 액션을 실행하죠 08:33.440 --> 08:37.610 동작은 생성기를 호출하는 거죠 08:37.610 --> 08:46.220 생성기를 호출할 때는 입력값을 넘겨야 합니다 입력값은 전체 토큰화 된 프롬프트와 08:46.250 --> 08:48.830 녹취록이죠 08:49.070 --> 08:51.770 비트가 좀 더 커졌어요 08:51.770 --> 08:54.110 새 패는 최대 80장이라고 했죠 08:54.140 --> 09:00.560 최대 토큰은 2000이라고 했어요 응답이 많을 수 있으니까요 09:00.830 --> 09:07.940 그러니까, 어, 어 이 정도면 회의록 돌려받기에 충분한 공간이겠죠? Get it 09:07.940 --> 09:15.830 그리고 스트리머도 제공하는데 Cab으로 결과를 보낼 수 있다고 09:15.830 --> 09:17.270 알려줘요 09:17.780 --> 09:22.640 잠시 생각할 동안 다음에 일어날 일을 말씀드리죠 회의 내용을 여기서 09:22.640 --> 09:25.550 스트림으로 비트로 보낼 거예요 09:25.790 --> 09:32.930 그 후에 할 수 있는 또 다른 일은 출력을 가져와서 텍스트를 get 하는 것입니다 출력자의 첫 09:32.930 --> 09:36.260 번째 것을 가져와서 하나만 남게 되는 거죠 09:36.500 --> 09:41.540 토큰라이저 닷디코드로 그걸 해독해요 09:41.840 --> 09:45.380 응답이라는 변수에 넣을 거예요 put it 09:45.380 --> 09:46.790 결과가 나왔네요 09:47.150 --> 09:47.960 네 09:52.430 --> 09:53.600 곧 나와요 09:53.600 --> 09:54.770 너무 멀어요 09:54.770 --> 09:56.690 Put it을 눌러요 09:57.750 --> 09:59.520 녹취록 말이에요 10:04.170 --> 10:11.370 덴버시 의회 회의록 10월 9일 월요일 장소 참석자들과 누가 참석했는지를요 10:12.930 --> 10:14.100 요약해 보죠 10:19.380 --> 10:25.530 10월 9일 월요일에 만나서 원주민의 날을 위한 선언문을 논의하고 채택했어요 10:25.560 --> 10:28.320 로페즈 의원이 선언문을 발표했죠 10:28.410 --> 10:29.970 핵심 논점이에요 10:30.000 --> 10:31.050 포장 음식점요 10:31.050 --> 10:34.140 시대의 중요성을 깨닫고 채택된 거죠 10:34.170 --> 10:37.590 포용과 모든 문화를 존중하는 걸 강조했죠 10:37.620 --> 10:41.250 어떤 행동들은 소유주와 행동을 동반하죠 10:41.250 --> 10:44.370 로페즈 의원과 서기요 10:44.520 --> 10:49.890 서기는 시와 덴버 의회의 인장을 보증하고 서명하세요 10:49.890 --> 10:57.330 로페즈 시의원이 성명서 사본을 덴버 아메리카 인디언 위원회와 10:57.330 --> 11:03.420 다른 곳에 전달하고 최종적으로 다음 단계를 밟았죠 11:03.420 --> 11:06.960 라마 3의 활약을 인정해야겠네요 1번요 11:06.960 --> 11:13.230 아주 포괄적이고 명확하며 아주 철저한 회의록인 것 같아요 11:13.230 --> 11:20.100 모든 형식과 섹션을 제대로 갖춘 참석자들이 참석한 회의록이죠 11:20.130 --> 11:24.510 보다시피 마크다운 포맷으로 나왔어요 11:24.510 --> 11:30.330 전에 프론티어 모델을 작업했을 때 주피터 노트북을 사용했었는데 11:30.330 --> 11:39.360 이 표시형 마크다운 반응을 이용해서 Colab에서 마크다운을 확인할 수 있어요 11:39.360 --> 11:47.310 여기 덴버시 의회 회의록이 있습니다 요약과 요점, 11:47.310 --> 11:53.310 행동 항목 다음 단계로 나뉘어 있죠 11:53.490 --> 12:01.210 그래서 저는 오디오를 녹취록으로 변환하기 위해 프런티어 모델과 오픈 소스 모델을 사용하는 응용 프로그램을 12:01.240 --> 12:07.660 제공합니다 그 녹취록을 액션과 다음 단계가 있는 회의 요약으로 변환하죠 12:09.160 --> 12:11.620 당신에겐 당연한 운동이죠 12:11.620 --> 12:13.900 뭘 준비했는지 이미 짐작하셨길 바라요 12:13.900 --> 12:17.950 사용자 인터페이스로 쉽게 옮길 수 있어요. 12:17.950 --> 12:25.780 지난주에 다룬 것과 아주 유사하게 그래디오를 사용할 수 있어요 작고 멋진 그래디오 인터페이스로 12:25.780 --> 12:27.370 이걸 불러올 수 있죠 12:27.370 --> 12:32.590 구글 드라이브에 파일 이름을 입력하고 통화 기록 생성 버튼을 누르세요 12:32.620 --> 12:39.940 오디오에서 읽고 텍스트로 변환하고 회의록 동작, 테이크아웃, 다음 단계로 12:39.970 --> 12:41.200 변환해요 12:41.800 --> 12:43.570 그게 당신 작업이에요 12:43.570 --> 12:45.640 가서 그렇게 해요 12:45.640 --> 12:49.270 훌륭한 사용자 인터페이스를 빨리 보고 싶어요 12:49.270 --> 12:51.730 코드가 나오면 누르세요 12:51.730 --> 12:56.470 보고 싶네요 잠시 후 다음 강의에서 뵙죠