WEBVTT 00:01.040 --> 00:07.820 다시 주피터 연구실입니다 프런티어 모델을 사용할 준비가 됐어요 전문 지식을 00:07.820 --> 00:10.460 구축하는 곳으로 보고 싶네요 00:10.460 --> 00:12.320 아주 자연스러울 거예요 00:12.710 --> 00:18.470 늘 그렇듯 시스템 프롬프트와 모델을 어떻게 프롬프트할지 심사숙고하며 시작하죠 00:18.800 --> 00:25.610 모델에게 하는 말은 목록에서 가장 자세한 5가지 항목을 골라 요약하라는 00:25.610 --> 00:32.990 겁니다 가장 자세하고, 잘 묘사되고 가장 확실한 가격이 있는 걸 선택해서요 00:32.990 --> 00:37.820 JSON에 대응하세요 00:37.910 --> 00:42.740 가장 중요한 건 5건의 거래에 가장 자세한 제품 설명이 있는 거예요 00:42.740 --> 00:44.810 조건은 중요하지 않아요 00:45.110 --> 00:49.940 그리고 여기 JSON 구조도 배치해뒀어요 00:49.940 --> 00:54.020 꼭 필요한 것은 아니라는 것을 말씀드리고 싶네요. 구조화된 출력물들을 00:54.020 --> 01:01.070 사용할 것이기 때문입니다. 하지만 저는 이것을 또 다른 기회로 사용하고 싶습니다. 각각의 것에 대해 더 많은 방향을 제시할 수 01:01.070 --> 01:01.940 있도록요. 01:02.120 --> 01:04.650 실험해 볼 수 있는 거예요 01:04.650 --> 01:08.700 엄밀히 말하면 JSON을 그렇게 지정할 필요는 없어요 01:09.420 --> 01:11.640 그게 제 시스템 프롬프트예요 01:11.670 --> 01:16.740 사용자 프롬프트는 이 목록에서 가장 유망한 거래 5건에 응답하라고 하죠 01:16.740 --> 01:17.700 그걸 선택하는 거죠 01:17.730 --> 01:18.510 어쩌고저쩌고 말이죠 01:18.540 --> 01:19.470 읽어 보게 해 줄게요 01:19.470 --> 01:20.610 하지만 이런 건 잘 아시죠 01:20.610 --> 01:30.780 딜을 적고 나열한 다음 딜닷컴을 호출해요 각각에 대해서요 01:31.410 --> 01:31.800 네 01:31.830 --> 01:32.310 간단해요 01:32.310 --> 01:36.660 사용자 프롬프트의 시작을 프린트하겠습니다 꽤 길군요 01:36.660 --> 01:39.720 사용자 프롬프트의 처음 2천 글자를 프린트할게요 01:39.720 --> 01:41.310 Get it 하면 감이 오죠 01:41.340 --> 01:42.270 여기 있네요 01:42.270 --> 01:43.290 한번 보죠 01:43.290 --> 01:48.270 사용자 프롬프트 응답에 어쩌고저쩌고 라음이 있네요 01:48.270 --> 01:50.370 그럼 이렇게 하죠 01:50.370 --> 01:58.500 이게 설명이에요 설명 메서드 전에 봤던 설명 함수에서 01:58.500 --> 02:00.960 가져온 거죠 02:00.960 --> 02:10.010 본질적으로 GPT 4에 할당하는 작업은 이 목록의 거래를 파악하는 겁니다 목록에서 선택 선택하기 02:10.040 --> 02:12.650 50개가 될 거예요 02:12.650 --> 02:19.220 가장 명확한 묘사와 가격을 나타내는 5개를 고르세요 02:19.250 --> 02:24.950 가장 명확한 방식으로 가격을 분석하세요 02:25.100 --> 02:29.240 물론 그런 건 좀 모호한 문제라 생각을 해야 하죠 02:29.240 --> 02:33.680 1, 2년 전이었다면 상상할 수 없을 정도로 힘들었을 거예요 02:33.770 --> 02:38.180 어떻게 믿을만한 방법으로 할 수 있을까요? 엔지니어링 코드를 이용해서요 02:38.180 --> 02:44.990 개척자 모델에 딱 맞는 문제입니다. 그런 미묘한 차이를 이해하고 어떤 것에 이르는 건 가격이라는 02:44.990 --> 02:52.190 걸 깨달을 수 있으니까요. 하지만 어떤 것에 이르는 것과 무언가를 잃는 건 가격이 아니에요. 02:52.190 --> 02:54.620 그런 논리는 정말 어려워요 02:54.620 --> 03:00.680 하지만 개척자 모델은 그걸 아주 효과적으로 이해하고 이런 표정의 03:00.680 --> 03:05.630 의미를 이해해서 지능적으로 결과물을 만들어내죠 03:05.630 --> 03:12.950 이 프롬프트들을 기반으로 이렇게 말할 수 있죠 get 추천을 불러와 03:12.950 --> 03:18.290 이제 다른 API를 보게 될 겁니다 구조화된 출력을 사용하고 있으니까요 03:18.710 --> 03:23.300 추천서 get 완료 함수는 OpenAI예요 03:23.300 --> 03:24.800 비트가 좀 다르죠? 03:24.800 --> 03:31.160 적어도 지금 이 순간만큼은 오픈라이의 베타 제공이죠 03:31.190 --> 03:34.310 하지만 곧 완전히 생산될 거예요 03:34.310 --> 03:39.110 오픈나이 베타라고 하나요? 미국에선 베타죠 03:39.170 --> 03:44.870 오픈아이 베타, 닷챗 닷 완성, 닷 파세예요 03:44.960 --> 03:52.520 그렇게 부르는 게 맞겠죠 그리고 평소처럼 모델을 제공해요 03:52.520 --> 03:57.620 이것은 GPT4와 미니, 프런티어 버전 2 GPT4가 지원하죠 03:57.770 --> 04:02.120 늘 그렇듯 메시지는 그냥 말하지도 않을 거예요 04:02.120 --> 04:02.870 잘 아시네요 04:02.870 --> 04:04.100 말 안 해도 알잖아요 04:04.130 --> 04:07.310 이게 차이점이에요 04:07.310 --> 04:12.440 과거엔 이 응답 형식을 JSON이 돌아오길 요구하는 방법으로 04:12.470 --> 04:14.000 사용했었죠 04:14.030 --> 04:16.700 이번엔 JSON이라고 안 해요 04:16.730 --> 04:20.900 우리가 하는 일은 거래 선택반이라는 반에서 통과시키는 거예요 04:20.900 --> 04:25.490 방금 살펴본 클래스가 그거예요 스크래피 JSON을 했던 거죠 04:25.520 --> 04:30.020 응답 포맷으로 그 클래스를 넘겨요 04:30.500 --> 04:35.810 결과를 얻을 때 일반적인 API 호출을 하지 않아요 04:35.810 --> 04:43.340 완료는 보통 0이라고 하죠 .Mession이요 그리고 content가 아니라 .파싱이라고 해요 04:43.340 --> 04:49.970 응답을 취해 딜 선택 인스턴스로 구문 분석을 하죠 04:50.000 --> 04:52.100 그렇게 돌아올 거예요 04:52.400 --> 04:54.710 빌드 업을 한 후 반환하는 게 좋아요 04:54.740 --> 04:59.780 코드를 실행해 어떻게 되는지 get get이 뭔지 보죠 04:59.780 --> 05:05.150 GPT는 0으로 호출하고 미니도 GPT로 호출할게요 05:05.180 --> 05:09.830 특정 구조의 출력 형식을 지정하고 있어요 05:09.830 --> 05:10.820 돌아왔군요 05:10.850 --> 05:17.390 어떤 유형이 돌아왔는지 프린트해 볼까요? 유형 결과요 05:17.390 --> 05:19.520 어떤 객체가 돌아왔는지 보죠 05:19.520 --> 05:23.210 에이전트가 거래 상대를 고르는 거예요 05:23.210 --> 05:26.150 Get up! Get up! Get up! 바로 저런 게 우리가 되찾고 싶었던 객체죠 05:26.150 --> 05:31.760 실제로 어떻게 생겼는지 보는 게 좋겠어요 05:31.790 --> 05:34.490 세트로 만들 거예요 05:34.610 --> 05:38.780 거래 선택에 한 가지 분야가 포함돼 있어요 05:38.780 --> 05:39.350 기억하신다면요 05:39.380 --> 05:40.850 거래는 우리가 정한 거예요 05:40.850 --> 05:42.140 이렇게 하죠 05:42.140 --> 05:45.830 그럼 거래를 얼마나 따냈는지 알아보죠 05:46.460 --> 05:49.730 다섯 건의 거래를 성사시켰으면 좋겠어요 05:50.000 --> 05:50.870 어디 보죠 05:50.900 --> 05:53.870 정말 다섯 건의 거래를 성사시켰어요 Get it 05:53.870 --> 05:57.020 그 거래 중 첫 번째를 인쇄하죠 05:57.020 --> 06:02.780 그리고 탑클래스 스마트워치 삼성 갤럭시 워치 울트라를 구입했어요. 06:02.960 --> 06:06.710 요약본을 준비해 봤어요 06:06.710 --> 06:10.010 보다시피 아주 잘 되고 있어요 06:10.010 --> 06:14.150 요약본처럼 보이네요 가격을 입력해서 가격을 06:14.150 --> 06:22.250 추정할 때 사용할 수 있겠어요 GPT for 미니가 가격과 URL을 꺼냈네요 06:22.250 --> 06:26.060 물론 그 URL을 클릭하면 그 거래가 열리죠 06:26.060 --> 06:27.020 저기 있네요 06:27.020 --> 06:28.160 좋아요 06:28.310 --> 06:32.690 그래서 잘 되고 있어요 06:32.960 --> 06:34.790 네 06:34.820 --> 06:46.850 마지막으로 보여드릴 것은 스캐너 에이전트를 가져올 건데요 06:46.850 --> 06:51.380 다시 한 번 해볼게요. 1-2분 정도 걸릴 것 같아요. 06:51.770 --> 06:57.950 실행되는 동안 스캐너 에이전트가 뭔지 보여드릴게요 06:57.950 --> 07:01.370 스캐너 에이전트는 여기 있어요 07:01.640 --> 07:08.180 이건 코드 뭉치인데 전에 봤던 코드와 아주 비슷할 거예요 07:08.540 --> 07:15.920 방금 작성한 건데 논평도 있고 구조도 더 나아져서 생산 품질로 07:15.920 --> 07:18.620 평가할 수 있어요 07:18.620 --> 07:18.620 보세요 07:18.890 --> 07:21.710 하지만 방금 본 프롬프트가 있어요 07:21.710 --> 07:28.880 우리가 살펴본 사용자 프롬프트가 있는데 5건의 거래로 응답하라고 하네요 07:28.880 --> 07:33.890 그러면 init 메서드를 설정하고 OpenAI에 연결할 수 있죠 07:33.920 --> 07:41.000 페치 거래는 방금 살펴본 방법인데 긁힌 거래 목록을 얻어요 긁힌 거래 07:41.300 --> 07:45.020 페치라고 부르면 예상대로죠 07:45.050 --> 07:52.820 여기서 하는 또 다른 일은 잠재적으로 메모리 객체를 갖는 겁니다 URL의 07:52.820 --> 08:00.200 목록이죠 기억되는 건 이전 검색에서 이미 나타났어요 08:00.200 --> 08:05.030 그래야 새로운 거래를 성사시킬 수 있어요 이미 검토한 거래가 아니라요 08:05.030 --> 08:10.850 물론 메모리는 에이전트 프레임워크를 구축하는 한 측면인데 미래에 08:10.850 --> 08:12.860 더 주목할 부분이죠 08:13.790 --> 08:20.510 사용자 프롬프트를 만들고 나서 전에 했던 것과 같은 코드를 만들고요 08:20.510 --> 08:25.100 스캔은 우리가 방금 본 바로 그 함수예요 08:25.130 --> 08:30.920 사용자 프롬프트에서 OpenAI 베타.챗 .완료 .파스를 호출해요 08:30.920 --> 08:32.390 모델을 통과시키죠 08:32.390 --> 08:39.260 응답 형식이 딜 선택 클래스여야 한다고 지정합니다 그걸 반환할 것을 08:39.260 --> 08:43.250 알고 결과로 구문 분석을 할 수 있도록요 08:43.250 --> 08:46.130 Get it가 바로 여기죠 08:46.340 --> 08:53.000 그때 가장 먼저 계약을 파기해요 08:53.000 --> 08:57.860 가격이 0보다 크지 않으면 0달러짜리 거래를 반환하고 싶지 않아요 08:58.010 --> 09:00.020 그 결과를 반환하죠 09:00.020 --> 09:05.180 만약 거래를 못 따내면... 이미 모든 걸 드러냈을 수도 있으니까요 그럼 하나도 못 09:05.180 --> 09:05.750 따내요 09:05.750 --> 09:08.930 상단에 선택 사항이 있는 게 그걸 나타내죠 09:08.990 --> 09:10.640 그게 수업 내용이에요 09:10.670 --> 09:13.340 그럼 3일 차 얘기를 해 보죠 09:13.340 --> 09:16.790 결과가 어떻게 나올지 봐야죠 09:17.900 --> 09:22.190 제가 알고 있는 것 중 하나는 제가 이걸 할 때 눈치챘을 09:22.190 --> 09:27.020 수도 있지만 저는 얘기하면서 생각을 하느라 바빴어요 09:27.020 --> 09:36.230 모델에서 실수를 본 것 같아요 가격이 350달러라고 되어 있네요 삼성 갤럭시 워치와 관련해서요 09:36.230 --> 09:45.860 하지만 이 웹사이트가 나왔을 때∙∙∙ 이걸 닫죠 트레이드 인과 함께 350까지 오퍼라고 돼 있어요 09:45.860 --> 09:48.830 다른 장치가 있으면 350까지 저축할 수 있어요 09:48.860 --> 09:55.280 프론티어 모델이 이런 걸 얼마나 잘하는지 보여드렸더니 모델이 실제로 09:55.280 --> 10:01.850 저지른 실수의 예가 이런 겁니다 350달러라고 생각하는데 사실은 350달러나 10:01.850 --> 10:03.530 싸요 10:03.530 --> 10:06.020 내가 한 말 취소할게요 10:06.020 --> 10:07.940 Get it은 사실 잘못됐어요 10:07.940 --> 10:09.620 재미있을 거예요 10:09.650 --> 10:13.400 그런 걸 배우고 목격해서 유용하죠 10:13.670 --> 10:20.630 시스템 프롬프트에 추가해 성능을 향상시킬 수 있는지 볼게요 10:20.630 --> 10:23.360 이제 그런 실수가 가능하다는 걸 알게 됐죠 10:23.360 --> 10:27.380 그럼 슬라이드는 다음에 보도록 하죠