WEBVTT 00:00.110 --> 00:05.750 첫 프로젝트가 성공하면 바로 만족할 거라고 말한 게 100편 00:05.750 --> 00:13.070 전인 것 같은데 그렇게 바로 만족스럽지 않다고 느끼는 건 여러분 권리예요 00:13.070 --> 00:17.960 하지만 걱정 마세요, 멋진 프로젝트로 만회할 테니까요 00:17.960 --> 00:23.960 이미 브라우저의 창처럼 JupyterLab이 돌아가고 있다면 그걸 닫으세요 00:23.960 --> 00:32.180 이미 윈도우에 아나콘다 프롬프트가 있다면 그것을 종료하고 닫았다가 다시 시작하세요 00:32.180 --> 00:39.350 PC와 Mac에 새로운 아나콘다 프롬프트를 불러오고 새로운 터미널을 불러옵니다 모든 걸 닫았어요 00:39.350 --> 00:44.660 저 부럽지 않은 파일을 만들었으니까요 완전히 처음부터 시작하고 싶어요 00:44.690 --> 00:49.850 LM 엔지니어링의 프로젝트 폴더로 가세요 첫 번째 것을 기억하실 거예요 00:49.850 --> 00:54.710 그리고 항상 이걸 해야 합니다 주피터 랩이 실행 중이건 아니건 콘다를 00:54.710 --> 00:57.800 입력해 LMS를 활성화하세요 00:57.800 --> 01:00.080 그렇게 환경을 활성화하는 거죠 01:00.110 --> 01:04.830 가상env를 사용한다면 리드메에 다른 PC와 맥 방식이 있어요 01:04.860 --> 01:10.290 그렇게 하면 단서는 프롬프트가 LMS로 바뀌었다는 거죠 01:10.290 --> 01:14.100 아나콘다 프롬프트에서 윈도우 사람들을 위해 같은 것을 해야 하죠 01:14.100 --> 01:17.670 이제 멋진 두 단어를 입력하세요 주피터 연구소 01:17.670 --> 01:23.670 그렇게 하면 잠시 생각을 하고 주피터랩이 나타나죠 01:23.700 --> 01:25.350 즉각적인 만족감이죠 01:25.350 --> 01:26.130 그렇게 쓰여 있어요 01:26.130 --> 01:28.500 못 보실지도 몰라요 01:28.530 --> 01:31.320 사실, 이렇게만 봐도 처음 떠오를지도 몰라요 01:31.320 --> 01:34.560 지금 보시는 것과 비슷할지도 몰라요 01:34.620 --> 01:37.380 어떤 사람들에게는 여기가 주피터 연구소예요 01:37.380 --> 01:38.610 이건 옛날 뉴스예요 01:38.610 --> 01:39.870 많이 써보셨죠? 01:39.900 --> 01:41.370 새로운 분들도 계실 거예요 01:41.370 --> 01:43.920 정말 멋지다는 말을 해 주러 왔어요 01:43.950 --> 01:49.080 데이터 과학자들이 코드로 작업하는 상호작용적인 방법이죠 01:49.290 --> 01:54.210 주피터 랩은 전면 변수를 많이 사용하는 등 아슬아슬한 것으로 가득하죠 01:54.240 --> 01:59.820 공학 전공자로서 봤을 때 좋은 행동은 아니지만 연구 개발의 01:59.820 --> 02:02.340 일환으로 하는 일이에요 02:02.340 --> 02:03.780 그래서 그냥 했어요 02:03.780 --> 02:07.900 곧 보시겠지만 실험하면서 아주 생산적일 수 있다는 뜻이에요 02:07.900 --> 02:12.730 과정의 끝인 8주 차에는 프로덕션화와 우리가 하는 걸 살펴볼 겁니다 02:12.730 --> 02:18.460 JupyterLab에서 제대로 된 코드와 배포로 마이그레이션하는 방법도 얘기할 02:18.460 --> 02:19.510 거고요 02:19.510 --> 02:21.550 하지만 지금은 그런 걱정 안 해도 돼요 02:21.580 --> 02:27.250 왼쪽에 파일 브라우저라는 게 있어요 사실 기대하시는 거죠 02:27.280 --> 02:32.230 이렇게 들어와 부모 디렉토리를 보여주고 있죠 02:32.230 --> 02:36.700 우리가 검토할 매주 디렉터리가 있어요 리드메이트와 환경에 관해 02:36.700 --> 02:40.120 우리가 아는 걸 볼 수 있죠 yml도 여기 있어요 02:40.120 --> 02:43.960 그럼 지체 없이 첫째 주를 시작하죠 02:44.200 --> 02:50.860 주피터랩에 처음 오신 거라면 제가 안내서를 만들어 놨으니 02:50.860 --> 02:52.330 와서 보세요 02:52.330 --> 02:57.370 여길 더블 클릭하면 get이 나옵니다 여러분이 해야 할 일을 간단히 보여줍니다 02:57.370 --> 02:59.830 여러분이 잘 처리할 수 있도록요 02:59.830 --> 03:04.600 예를 들어, 여기 있는 상자 중 하나를 클릭할 수 있어요 셀이라고 하죠 03:04.600 --> 03:05.890 시동을 꺼요 03:05.890 --> 03:12.130 자판에서 반환이나 입력을 누르면 실행되고 결과를 출력합니다 03:12.130 --> 03:18.640 그리고 스크롤을 내리면 다음 작업이 나옵니다 실행하고 볼 수 03:18.640 --> 03:20.170 있죠 03:20.200 --> 03:27.130 제가 제일 좋아하는 과일은 바나나예요 이 주피터 가이드북을 참고해서 주피터 랩을 03:27.130 --> 03:31.270 사용하는 기술을 배우세요 도움이 되기를 바라요 03:31.270 --> 03:38.290 하지만 이 항로에 있는 많은 사람이 목성을 한두 번 사용해 봤을 테고 그 경이로움에 03:38.290 --> 03:40.420 익숙할 거예요 03:40.810 --> 03:45.280 이제 첫날 프로젝트 차례입니다 바로 여기요 03:45.280 --> 03:48.640 전 좀 뻔뻔하게도 즉각적인 만족감이라고 했죠 03:48.640 --> 03:53.020 이 집을 위해 많은 일을 한 거 알아요 첫날은 꽤 긴 하루였지만 그만한 가치가 03:53.050 --> 03:54.670 있길 바라요 Put 03:54.880 --> 04:00.340 다시 한번 말하지만 난 도우러 온 거예요 04:00.340 --> 04:01.510 제 이메일 주소예요 04:01.510 --> 04:02.560 이건 제 링크트인이죠 04:02.560 --> 04:04.720 링크드인에서 사람들이 저와 소통하는 걸 좋아해요 04:04.750 --> 04:08.560 for 안녕이라는 메시지를 넣는 것도 좋지만 꼭 그럴 필요는 없어요 04:08.560 --> 04:10.950 그냥 교감만 하고 싶다면 그렇게 하세요 04:10.950 --> 04:15.190 이 수업을 듣는 학생들의 인맥은 언제든 환영이에요 04:15.190 --> 04:16.090 물론이죠 04:16.210 --> 04:21.010 여기서 또 알 수 있는 건 다른 공책이 있다는 거예요 04:21.130 --> 04:24.340 이 주피터 연구소들은 공책이라고 해요 04:24.430 --> 04:27.040 역사적인 이유로 그렇게 부르죠 04:27.250 --> 04:31.480 문제 해결이라는 공책이 하나 더 있어요 04:31.480 --> 04:36.730 문제 해결은 여러분이 여기서 문제를 해결하는 곳이죠 04:36.760 --> 04:37.600 시작이죠 04:37.630 --> 04:38.260 어떡해요 04:38.500 --> 04:45.070 단계별로 뭐가 잘못됐는지 파악하고 부럽지 않은 파일을 확인하죠 04:45.100 --> 04:45.640 맛있어 보여요 04:45.640 --> 04:47.470 모든 걸 확인하면서 진행해요 04:47.470 --> 04:51.670 문제가 생기면 해결을 하면 됩니다. 우리가 해결할게요. 04:51.670 --> 04:55.510 하지만 그렇지 않으면 첫날의 공책부터 시작해야죠 04:55.510 --> 05:00.610 이 과정에서는 매일 따로 노트를 준비합니다 그날의 05:00.640 --> 05:03.850 경험을 훑어보며 연습할 수 있죠 05:03.880 --> 05:04.690 네 05:04.690 --> 05:08.140 우선 수입품부터 살펴볼게요 05:08.140 --> 05:10.510 전 수입품을 상위권에 두는 걸 좋아해요 Put it up Put it 05:10.510 --> 05:16.210 주피터랩에서 코드를 실행해야 합니다 위에서부터요 이 임포트 셀을 클릭하는 것으로 05:16.240 --> 05:17.140 시작하죠 05:17.150 --> 05:18.230 기어를 낮추세요 05:18.230 --> 05:19.190 회신을 누르세요 05:19.190 --> 05:20.630 잘 달리네요 05:20.660 --> 05:25.430 에러가 발생하면 문제 해결 노트북으로 가세요. HDPULL GAME 05:25.460 --> 05:29.270 어떤 일이 벌어질지 어떻게 해야 할지 알려줄게요 05:29.300 --> 05:33.650 콘다 환경이 활성화되지 않는 게 가장 큰 이유죠 05:33.650 --> 05:35.450 어떻게 할지 알려줄게요 05:36.290 --> 05:36.980 네 05:37.010 --> 05:40.580 다음으로 오픈AI에 연결할 거예요 05:40.610 --> 05:48.950 여기서 오픈AI API 서비스에 연결할 겁니다 프론티어 모델인 GPT에 05:48.950 --> 05:54.170 전화를 걸어 질문을 할 수 있도록요 05:54.200 --> 05:58.460 오픈AI와 GPT에 대해 더 자세히 이야기할 텐데요 05:58.460 --> 06:00.110 Get it의 맛을 내는 거죠 06:00.110 --> 06:02.030 지금은 첫 실험실이에요 06:02.630 --> 06:06.230 가장 먼저 로드.Infsi라는 걸 호출해요 06:06.230 --> 06:11.150 .Infile을 보고 비밀을 로드하죠 06:11.240 --> 06:14.120 오픈AI API 키라는 비밀이 있어요 06:14.120 --> 06:17.240 그걸 로드해 API 키라는 변수에 넣을 거예요 Put it 06:17.240 --> 06:20.120 잘 나왔는지 확인해 보죠 06:20.210 --> 06:23.190 API 키를 찾았고 지금까지는 괜찮아 보이네요 06:23.220 --> 06:24.570 그렇게 안 쓰여 있다면요 06:24.570 --> 06:25.320 안 적혀 있으면요 06:25.350 --> 06:28.470 API 키를 찾았고 지금까지는 좋습니다. 문제 해결로 가보세요. HDP, HDP.M. 06:28.470 --> 06:30.210 우리가 해결할게요 06:30.570 --> 06:32.820 제 이메일로 링크트인을 보내주세요 06:32.850 --> 06:35.730 우리가 고칠게요 06:35.730 --> 06:39.240 다음 할 일은 간단한 거예요 06:39.270 --> 06:41.040 오픈아이를 점령하죠 06:41.070 --> 06:44.580 인스턴스를 생성해 OpenAI에 넣죠 06:44.760 --> 06:46.350 여기가 우리 집이에요 06:46.380 --> 06:51.000 오픈라이와의 연결을 완료했어요 06:51.780 --> 06:52.650 좋아요 06:52.650 --> 06:55.800 오늘 이 프로젝트는 어떤 건가요? 06:55.800 --> 06:57.510 어떤 사업상의 문제를 다루고 있나요? 06:57.540 --> 06:58.050 해결요? 06:58.050 --> 07:00.510 아주 간단하고 사실 꽤 멋질 거예요 07:00.510 --> 07:08.010 프로그램을 만들어서 인터넷상의 모든 웹 페이지를 살펴보고 그 내용을 긁어내서 07:08.010 --> 07:14.400 요약하고 그 웹 페이지의 짧은 요약을 보여드릴 거예요 07:14.400 --> 07:18.630 작은 웹 브라우저를 만든다고 생각해 보세요 웹 브라우저 요약 07:18.630 --> 07:19.440 같은 거죠 07:19.440 --> 07:21.120 리더스 다이제스트 알죠? 07:21.120 --> 07:23.430 라이더스 다이제스트 웹 브라우저 같아요 07:23.810 --> 07:25.100 그게 우리가 할 일이에요 07:25.100 --> 07:26.450 그게 프로젝트가 될 거예요 07:26.450 --> 07:33.380 클래스를 정의하는 것으로 시작할게요 클래스 웹사이트요 아주 간단한 유틸리티 클래스가 될 07:33.380 --> 07:37.460 겁니다 우리가 긁어모은 웹사이트를 나타내는 거죠 07:37.610 --> 07:42.470 클래스가 될 거예요 URL과 제목, 텍스트가 있는 클래스요 07:42.470 --> 07:46.280 한 줄씩 살펴보진 않겠습니다 여러분이 직접 읽어보시고 07:46.280 --> 07:52.820 바로 실행하실 때 감을 잡으실 수 있을 테니까요 get it 이후엔 다른 랩에서 더 자세히 07:52.820 --> 07:54.920 살펴볼 거예요 07:54.920 --> 07:58.370 처음 경험하는 거잖아요 그렇죠 07:58.370 --> 08:05.480 생성자에서 이 클래스를 설정했던 곳에서 뷰티풀소우프라는 패키지를 사용했어요 08:05.480 --> 08:08.840 많은 분들이 언젠가 경험하셨을 거예요 08:08.840 --> 08:15.770 웹 페이지 파싱에 사용되는 멋진 패키지예요 웹 스크래핑을 하는 사람들은 08:15.770 --> 08:20.120 저처럼 정기적으로 뷰티풀 슈프를 잘 알죠 08:20.210 --> 08:25.490 뷰티풀 get을 이용해서 웹 페이지의 타이틀을 제거하고 스크립트와 08:25.490 --> 08:31.590 스타일, 이미지 입력을 제거하고 텍스트를 알아낼 수 있어요 08:31.890 --> 08:37.320 그래서 우리 클래스 웹사이트로 그걸 할 거예요 08:37.350 --> 08:41.340 마지막으로 한 번 시험해 보죠 08:41.340 --> 08:44.190 새 웹사이트 객체를 생성할게요 08:44.190 --> 08:50.370 이 특정 웹사이트를 넘기겠습니다 철저히 바람직하지 않은 웹사이트가 제 웹사이트가 08:50.610 --> 08:51.480 된 거죠 08:51.660 --> 08:54.300 웹사이트도 아주 평범해요 08:54.390 --> 08:56.760 하지만 그걸 대표할 클래스를 만들 거예요 08:56.940 --> 09:00.450 제목과 웹 사이트의 텍스트를 보죠 09:00.450 --> 09:01.740 이게 통할지 보죠 09:01.830 --> 09:03.090 네, 작동해요 09:03.090 --> 09:04.440 자, 보세요 09:04.530 --> 09:07.440 웹사이트 이름이 보이네요 09:07.560 --> 09:12.570 그 웹사이트에 뭔가 일어나고 있어요 09:12.870 --> 09:17.940 음, 비트가 좀 허술해 보이네요. 이미지와 자바스크립트 09:17.970 --> 09:22.920 스타일시트가 모두 삭제되었기 때문이죠. 09:23.130 --> 09:27.390 지금까지는 재생 인공지능이나 LAM을 사용하지 않았어요 09:27.390 --> 09:31.200 Get in get이 곧 나올 겁니다 다음 비디오에서 알아보죠