WEBVTT 00:00.050 --> 00:03.890 첫 번째 달 착륙선 실험이에요 00:03.980 --> 00:08.330 이 중 일부는 이미 잘 알고 계실 거예요 00:08.360 --> 00:11.180 어떤 사람들에겐 생소하겠지만 제가 설명해 드리죠 00:11.240 --> 00:13.550 우리가 사용할 모델이죠 00:13.550 --> 00:17.090 개척 시대 모델들은 특정한 방식으로 훈련받았죠 00:17.090 --> 00:23.090 사용자가 두 가지 다른 종류의 지시를 내리길 기대한다는 뜻이죠 00:23.120 --> 00:27.590 그 중 하나는 시스템 프롬프트고 다른 하나는 사용자 프롬프트죠 00:27.620 --> 00:33.980 이 대화의 맥락을 설명하는 시스템 프롬프트예요 00:33.980 --> 00:39.440 어떤 작업을 수행하고 어떤 톤을 사용해야 하는지 알려줍니다 또한 시스템 프롬프트를 00:39.440 --> 00:44.780 변경하는 게 무슨 의미인지 실험할 겁니다 그리고 이 과정 내내 시스템 프롬프트에 00:44.780 --> 00:47.480 어떤 정보를 포함할 수 있는지도요 00:47.570 --> 00:51.230 사용자 프롬프트는 실제 대화 그 자체예요 00:51.230 --> 00:55.040 지금 우리 경우엔 대화의 시작에 불과해요 00:55.040 --> 01:02.790 큰 언어 모델에서 LM의 역할은 이 사용자 프롬프트에 따라 가장 잘 반응해야 01:02.790 --> 01:05.730 하는 방법을 알아내는 거죠 01:05.730 --> 01:11.580 이 사용자 프롬프트가 주어졌을 때 시스템 프롬프트의 맥락에서 가장 다음에 나올 가능성이 높은 01:11.580 --> 01:13.410 텍스트는 무엇일까요? 01:13.410 --> 01:17.460 비서가 사용자에게 응답하는 거죠 01:18.000 --> 01:22.950 이게 컨텍스트를 설정하는 시스템 프롬프트와 대화를 시작하는 사용자 01:22.950 --> 01:24.660 프롬프트의 차이예요 01:24.810 --> 01:26.790 시스템 프롬프트를 설정할게요 01:26.790 --> 01:27.960 이렇게 말할 거예요 01:27.960 --> 01:33.870 웹사이트의 내용을 분석하고 탐색과 관련된 문자를 무시하며 01:33.870 --> 01:37.590 요약하는 보조라고 할 거예요 01:37.590 --> 01:39.630 가격 조정으로 응답하세요 01:39.660 --> 01:42.660 그게 무슨 뜻인지 곧 알게 되실 거예요 01:42.660 --> 01:46.800 이게 사용자 프롬프트 시스템 프롬프트예요 01:46.800 --> 01:51.180 이건 사용자 프롬프트 함수를 작성하는 것으로 받아들이죠 01:51.180 --> 01:54.990 함수에 대한 인수로 웹사이트를 취할 거예요 01:54.990 --> 02:00.460 더 웹 사이트라는 웹사이트를 보고 있다고 하네요 02:01.000 --> 02:03.760 웹사이트의 내용은 다음과 같아요 02:03.760 --> 02:10.240 뉴스나 공지가 포함된 사이트라면 마크다운된 사이트를 짧게 요약해 주세요 02:10.240 --> 02:17.020 이 둘을 요약하고 나서 웹사이트 객체에서 텍스트를 가져옵니다. 아름다운쏘프가 02:17.020 --> 02:22.990 뽑아낸 것이죠. 사용자 프롬프트에 추가하고 반환해요. 02:23.290 --> 02:28.870 그럼 빨리 셀을 실행해 보죠 지금 살펴보죠 02:28.870 --> 02:33.520 그 다음에는 시스템 프롬프트가 무엇인지 보죠 02:35.560 --> 02:38.470 방금 말씀드린 텍스트가 있죠 02:38.650 --> 02:46.060 아까 새 웹사이트 객체를 생성해 이 변수 편집기에 저장했던 걸 기억하시나요? 02:46.060 --> 02:55.540 이렇게 하면 사용자 프롬프트 for를 하고 객체 Ed를 전달할 수 있죠 02:56.260 --> 02:58.690 Get 프롬프트가 나오죠 02:58.720 --> 03:03.340 이걸 프린트해서 빈 선으로 프린트하는 게 더 쉬울 것 같아요 03:05.440 --> 03:09.070 여기 우리가 만든 사용자 프롬프트 문자열이 있네요 03:09.070 --> 03:11.440 웹사이트 이름이 어쩌고저쩌고라고 나오네요 03:11.470 --> 03:13.510 웹사이트의 내용은 다음과 같아요 03:13.510 --> 03:15.220 간단히 요약해 주세요 03:15.250 --> 03:18.760 여기에 공간을 만들어야 할 것 같아요 안 그러면 헷갈릴 거예요 03:18.760 --> 03:19.810 다시 해 보죠 03:21.670 --> 03:25.960 그래서 작업을 하면서 인쇄할 가치가 있는 거죠 그런 모순을 발견할 수 03:25.960 --> 03:26.770 있으니까요 03:28.000 --> 03:30.580 지금 보니까 더 좋을 것 같아요 03:30.580 --> 03:34.540 마차가 그렇게 돌아오면요 03:38.080 --> 03:39.250 이 프롬프트를 보죠 03:39.280 --> 03:45.280 이제 웹사이트를 보면 별도의 라인이 있는데 괜찮아 보이네요 03:45.310 --> 03:49.780 메시지 객체에 대해 얘기해보죠 03:49.780 --> 03:55.800 오픈AI는 특정한 형식의 대화를 기대하죠 03:55.800 --> 04:01.920 오픈AI가 개발한 포맷으로 API에 사용되었는데 너무 잘 사용되어서 04:01.920 --> 04:07.200 다른 주요 프론티어 모델들도 같은 방식을 채택하기로 했죠 04:07.200 --> 04:13.140 API 사용에 대한 오픈AI의 방식에서 이 접근법을 사용하는 많은 다양한 04:13.140 --> 04:16.050 모델에 걸친 표준으로 바뀌었어요 04:16.050 --> 04:17.520 이렇게 하는 거예요 04:17.520 --> 04:25.590 대화를 설명하려고 할 때 파이썬 리스트를 이용해 설명하죠 사전 리스트요 04:25.590 --> 04:29.640 목록의 각 요소가 사전인 목록이죠 04:29.640 --> 04:32.310 그 사전은 이렇게 생겼어요 04:32.340 --> 04:35.130 두 가지 원소가 있는 사전이에요 04:35.340 --> 04:43.170 그 중 하나는 역할의 키를 갖고 있는데 여기 값은 시스템이나 사용자, 역할의 키죠 04:43.170 --> 04:46.500 그 가치는 시스템 a 콘텐츠 키죠 04:46.500 --> 04:49.770 물론 가치는 시스템 메시지죠 04:49.800 --> 04:53.760 역할의 핵심인 사전이 또 있어요 04:53.760 --> 04:56.700 값은 사용자입니다 사용자 메시지니까요 04:56.700 --> 05:01.680 사용자 프롬프트 콘텐츠는 사용자 메시지가 가는 곳이죠 05:02.130 --> 05:05.460 사용자 메시지와 프롬프트는 같은 거예요 05:06.120 --> 05:11.190 설명이 부족했다면 몰라도 이렇게 시각적으로 보면 이해가 돼요 05:11.220 --> 05:18.120 역할과 콘텐츠, 시스템과 시스템 메시지와 사용자 메시지가 있는 사전이죠 05:18.120 --> 05:21.630 다른 역할도 있지만 때가 되면 보여드릴게요. Get it. 05:21.630 --> 05:23.010 지금은 이거면 돼요 05:23.010 --> 05:26.130 이렇게 메시지가 구축되죠 05:26.130 --> 05:34.050 다음 함수 데프 메시지를 보면 이게 생성되고 있다는 게 아주 명확했으면 좋겠네요 05:34.050 --> 05:38.400 이건 코드를 이용해 정확히 이걸 만들고 있어요 05:38.400 --> 05:42.000 이제 입력할 것은 우리가 생각해낸 제네릭 시스템 프롬프트예요 05:42.000 --> 05:46.560 웹사이트의 사용자 프롬프트를 생성할 거예요 05:46.980 --> 05:48.570 실행해 보죠 05:49.200 --> 05:58.220 제 웹사이트의 객체인 Ed를 위한 메시지라고 하면 빈 줄 같은 05:58.220 --> 06:02.300 게 보이도록 프린트하죠 06:04.430 --> 06:07.370 사실, 죄송해요, 이 경우엔 프린트 안 하는 게 낫겠어요 06:07.640 --> 06:09.830 비트를 이렇게 하면 더 명확해 보일 거예요 06:09.860 --> 06:10.370 됐어요 06:10.400 --> 06:16.220 이제 두 가지 목록이 보이시죠 역할 시스템이요 06:16.220 --> 06:18.170 시스템 메시지 역할 유저가 있어요 06:18.170 --> 06:20.270 사용자 메시지가 있네요 06:20.870 --> 06:21.710 네 06:21.710 --> 06:23.120 이제 하나로 합쳐야죠 06:23.120 --> 06:24.710 이제 실제로 할 때예요 06:24.710 --> 06:32.750 OpenAI의 API는 프론티어 모델에 호출하는 데 아주 간단합니다 이 API를 06:32.750 --> 06:34.610 늘 사용할 거예요 06:34.610 --> 06:37.700 지금은 기억해야 할 게 몇 가지 있는 것처럼 보일 수 있죠 06:37.700 --> 06:42.620 익숙해지실 거예요 get Marize라는 함수를 만들 거예요 06:42.620 --> 06:48.020 그럼 우리 문제를 해결하고 통과한 URL 요약을 하게 06:48.020 --> 06:48.860 되죠 06:48.860 --> 06:53.720 URL 웹사이트를 먼저 생성합니다 편집기에서 했던 것처럼요 06:53.720 --> 06:56.300 여기가 오픈아이라고 부르는 곳이에요 06:56.840 --> 06:59.840 오픈AI라고 하죠 오픈AI 객체예요 06:59.870 --> 07:05.480 OpenAI.챗, .완성, .Create를 만들었어요 07:05.930 --> 07:08.390 지금은 기계로 익히면 돼요 07:08.390 --> 07:10.520 나중에 더 자세히 알게 될 거예요 07:10.820 --> 07:16.070 하지만 오픈AI에 관한 한 이건 완성 API로 알려져 있습니다 이 대화를 완료하도록 07:16.100 --> 07:20.750 요청하고 다음에 뭐가 나올지 예측하도록 요청하고 있으니까요 07:20.900 --> 07:23.780 사용할 모델의 이름을 전달하죠 07:23.780 --> 07:27.920 GPT for 미니라는 모델을 사용할 건데 여러분이 아주 익숙해지실 거예요 07:27.920 --> 07:36.410 GPT 4의 가볍고 저렴한 버전입니다 GPT 4는 지구에서 가장 좋은 모델로 사용 07:36.410 --> 07:39.350 비용도 1센트도 들지 않죠 07:39.350 --> 07:45.620 이건 모델을 통과시키고 메시지를 통과시키는데 우리가 통과시킨 07:45.620 --> 07:49.910 메시지는 방금 만든 이 구조를 사용하면 돼요 07:50.660 --> 07:54.380 Get in get은 객체 응답이에요 07:54.500 --> 08:01.910 응답을 받으면 응답은 .선택 .0,Message.content라고 하죠 08:02.090 --> 08:05.270 이제 이게 뭔지 설명할게요 알 필요 없는 또 다른 하루 08:05.270 --> 08:05.810 지금은요 08:05.810 --> 08:10.820 우리가 해야 할 건 응답 .선택 .0,Message.content예요 08:10.820 --> 08:11.930 그렇게 될 거예요 08:11.930 --> 08:14.330 이게 요약 함수예요 08:14.330 --> 08:19.400 그것과 함께 실행 중인 제 웹사이트를 요약해보죠 08:19.400 --> 08:22.070 클라우드에서 오픈AI에 연결되고 있어요 08:22.070 --> 08:24.080 전화를 걸고 돌아오죠 08:24.080 --> 08:26.870 제 웹사이트의 요약본이에요 08:26.870 --> 08:34.130 저희는 그냥 아주 적은 돈을 들여서 제 웹사이트를 요약해 봤어요 08:34.460 --> 08:39.110 좀 더 나은 게 있어요 멋진 스타일로 비트를 출력할 수 있거든요 08:39.110 --> 08:44.300 GPT4에 마크다운으로 응답하라고 요청했는데 다양한 08:44.300 --> 08:48.910 캐릭터와 제목 등 굵은 글씨로 응답했다는 뜻이죠 08:49.270 --> 08:57.160 주피터 랩의 기능을 사용할 수 있습니다 멋진 마크다운 포맷으로 보여드리기 위해 요청할 08:57.160 --> 08:57.880 수 있죠 08:57.910 --> 08:58.990 그렇게 하죠 08:58.990 --> 09:02.440 디스플레이 요약 함수를 이용해 다시 해보죠 09:02.470 --> 09:05.770 클라우드에서 미니를 위해 GPT로 갈 거예요 09:05.770 --> 09:08.800 제 웹사이트의 요약이에요 09:08.980 --> 09:11.800 저에 대해 뭔가 말하는 것 같아요 09:12.070 --> 09:17.350 아주 멋진 형식이고 구조가 잘 짜여 있어요 09:17.350 --> 09:18.760 정말 인상적이에요 09:19.360 --> 09:24.970 보아하니 LMS 독점 작업을 강조하는군요 인공지능 및 LMS와 관련된 리소스를 제공하며 09:25.150 --> 09:28.840 이 분야의 진보된 지식을 위한 그의 노력을 보여주죠 09:28.870 --> 09:30.550 잘했어요, 미니 GPT 09:30.580 --> 09:32.620 요약 잘하시네요 09:33.070 --> 09:33.910 네 09:33.910 --> 09:36.490 이제 다른 웹사이트도 살펴보죠 09:36.520 --> 09:39.490 cnn을 요약해 보죠 코무요 09:39.760 --> 09:42.490 어떻게 될지 두고 보죠 09:42.520 --> 09:47.470 CNN이 훨씬 더 큰 결과를 가져왔죠 09:47.650 --> 09:53.350 Get it, get it, get it it it, it 09:53.440 --> 10:00.370 지금 이걸 녹화하는 건 11월 5일 저녁이에요 2024년 선거일인데 10:00.370 --> 10:02.800 지금 진행 중이죠 10:02.800 --> 10:05.920 CNN 웹페이지에도 그 내용이 실렸어요 10:05.920 --> 10:11.050 클로드의 웹사이트인 안드로픽도 요약할 수 있어요 10:11.050 --> 10:12.940 페이지도 좋고요 10:12.940 --> 10:13.990 여기 있어요 10:13.990 --> 10:18.100 웹 페이지의 요약본에서 더 자세히 읽어보세요 10:19.030 --> 10:20.020 좋아요 10:20.020 --> 10:24.010 첫 번째 즉각적인 만족감을 맛보았네요 10:24.010 --> 10:25.750 육즙이 풍부해요 10:25.750 --> 10:27.700 뭔가 유용한 일을 한 거죠 10:27.700 --> 10:28.780 거미줄을 긁어냈어요 10:28.780 --> 10:33.640 가장 흔한 인공지능 사용 사례를 요약해 봤는데요 10:33.640 --> 10:36.430 너무 흔해서 여러 용도로 쓸 수 있죠 10:36.430 --> 10:41.850 이번 과정 동안 몇 가지 다른 방법을 사용할 겁니다 8주 차에도요 요약을 하는 10:41.850 --> 10:44.160 걸 이용한 끈적한 솔루션이 있죠 10:44.160 --> 10:48.030 이미 실험해 본 거라서 정말 좋아요 10:48.360 --> 10:53.640 요약의 비즈니스 응용 프로그램이 아주 많아요 10:53.640 --> 10:56.340 이건 좋은 일에 쓸 수 있어야 해요 Put it up Put it up Put it up Put it up Put it up Put it up Put it up Put it 10:56.340 --> 11:01.020 이걸 당장 직장에 적용할 방법을 생각해내거나 요약하는 걸 보여주는 11:01.020 --> 11:05.190 예시 프로젝트를 깃허브에 만들 수 있어야 해요 11:05.190 --> 11:10.710 뉴스 요약, 재무 성과 요약 재무 보고서, 이력서 자기소개서에 11:10.740 --> 11:12.300 적용할 수 있죠 11:12.300 --> 11:14.820 이력서를 가져가서 자기소개서를 작성할 수 있죠 11:14.970 --> 11:19.470 문서 요약으로 할 수 있는 게 정말 많아요 11:19.470 --> 11:23.220 거기에 거미줄 각도를 긁어내는 것도 추가했죠 11:23.220 --> 11:30.030 요약법을 여러분 비즈니스에 어떻게 적용할지 생각해 보세요 이걸 요약법으로 11:30.030 --> 11:31.440 확장해 보세요 11:32.280 --> 11:37.320 기술적으로 좀 더 관련이 있는 분들을 위해 이걸 사용하실 때 여러분이 빠르게 11:37.350 --> 11:42.480 발견하실 것 중 하나는 이런 접근법으로 요약할 수 없는 많은 웹사이트들이 있다는 11:42.480 --> 11:49.560 겁니다 왜냐하면 웹 페이지를 렌더링하기 위해 자바스크립트를 사용하기 때문이죠 좀 단순해요 11:49.560 --> 11:55.710 접근 방식이 서버 호출을 요청해 get을 받는 거죠 11:55.710 --> 11:56.970 하지만 해결책이 있죠 11:56.970 --> 12:03.450 해결책은 셀레늄 같은 플랫폼을 사용하는 거예요 페이지를 12:03.450 --> 12:07.230 렌더링할 수 있게 해주죠 12:07.230 --> 12:12.720 기술적으로 뛰어나고 그런 경험이 있다면 흥미로운 도전은 12:12.720 --> 12:19.200 이걸 좀 더 우람하게 만드는 거예요 비트에 셀레늄을 넣고요 12:19.380 --> 12:22.470 공교롭게도 누가 벌써 했어요 12:22.470 --> 12:24.600 학생 한 명요, 고마워요 12:24.690 --> 12:29.490 이 커뮤니티 기부 폴더를 살펴보면 몇 가지 다른 솔루션을 볼 수 있어요 12:29.490 --> 12:32.520 그중 하나가 셀레늄 기반 용액이에요 12:32.520 --> 12:34.860 언제든 들어가서 직접 볼 수 있어요 12:34.860 --> 12:36.840 당신도 할 수 있어요 12:36.840 --> 12:39.380 거기서 해결책을 찾을 수 있어요 12:40.370 --> 12:44.900 그것이나 다른 것에 대한 해결책을 생각해내신다면 기꺼이 코드를 공유해주시면 감사하겠습니다 12:44.900 --> 12:47.420 다른 이들도 혜택을 받을 수 있도록요 12:47.420 --> 12:53.240 이상적으로는 커뮤니티 기부 폴더에 넣고 OUTPUT를 확실히 지우세요 12:53.240 --> 12:58.190 커널 재시작 커널로 가서 모든 셀의 출력을 비우세요 12:58.310 --> 13:03.170 그렇지 않으면 결과물에 있는 모든 것이 코드 안에서 체크인 될 겁니다 비트가 13:03.320 --> 13:04.730 좀 어수선해지겠죠 13:04.730 --> 13:06.200 그럼 그렇게 하세요 13:06.470 --> 13:12.440 PR, pull request를 제출할 수 있다면 코드에 병합할 수 있어요 13:12.440 --> 13:16.550 비트 박스가 처음이라면 좀 복잡할 거예요 13:16.580 --> 13:21.620 그걸 성공시키기 위해 정확히 뭘 해야 하는지 여기 적혀 있어요 13:21.830 --> 13:25.700 어쨌든 이게 첫 프로젝트였어요 13:25.730 --> 13:27.920 단순하지만 중요한 프로젝트예요 13:27.950 --> 13:29.960 아주 중요한 기업용 유스케이스가 있어요 13:29.960 --> 13:31.610 보람이 있었길 바라요 13:31.610 --> 13:34.700 그럼 저희는 마무리하고 다음 영상에서 뵐게요 13:34.700 --> 13:35.570 첫째 주에요 13:35.570 --> 13:36.200 첫날이에요