You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

520 lines
13 KiB

WEBVTT
00:00.890 --> 00:04.400
마침내 래그가 활약하는 걸 보러 왔죠
00:04.430 --> 00:07.460
그렇게 떠들어대더니 결국 이렇게 됐네요
00:07.460 --> 00:10.730
주피터랩의 5주 차 폴더에 있어요
00:10.730 --> 00:16.760
4일째인 노트북을 보고 있는데요 3일째에 추가된 걸 복제한 거예요
00:16.760 --> 00:21.710
가상의 보험 기술 회사의 지식 노동자 세럼의 문제를 여전히 해결하는
00:21.710 --> 00:22.970
중이니까요
00:23.330 --> 00:27.620
기존의 수입품부터 시작할 거예요
00:28.070 --> 00:35.570
랑체인용 수입 기능도 추가했는데요 랑체인 메모리에서 두 가지를 추가했어요
00:35.600 --> 00:38.570
대화 버퍼 메모리를 불러올게요
00:38.600 --> 00:43.010
랭 체인에서 대화용 회수 체인을 가져왔어요
00:43.010 --> 00:46.850
이건 제가 전에 언급한 추상화 두 가지인데요
00:46.880 --> 00:52.310
눈치 빠른 분들은 눈치챘겠지만 세 번째 추상화도 여기 들어 있어요
00:52.310 --> 00:57.920
이전 강의에서 언급하지 않고 이미 불러왔지만 여기 있네요
00:57.920 --> 01:02.180
챗 오픈아이는 이미 랑가 체인에서 수입되고 있어요
01:02.180 --> 01:08.650
오픈AI, 지금까지 오픈AI 엠딩만 사용했는데 이번에는 채팅 오픈AI를
01:08.680 --> 01:10.990
사용할 거예요
01:11.050 --> 01:14.410
수입 검사를 해 봐야겠어요
01:15.010 --> 01:17.020
Get it 안 하면 멀리 못 가요
01:17.620 --> 01:19.720
그런 다음 상수를 하죠
01:19.720 --> 01:21.850
환경 변수를 로드해요
01:21.850 --> 01:23.800
이제 익숙해질 거예요
01:23.800 --> 01:30.580
하지만 검토하고 저기 있는 지식 기반 디렉터리에서 문서를 갖고 오죠
01:30.580 --> 01:35.350
이제 텍스트 덩어리를 갖고 와서 얼마나 많은지 보죠
01:35.350 --> 01:36.730
123번인 건 확실해요
01:36.760 --> 01:39.040
네, 123개요
01:39.040 --> 01:44.200
직원, 제품 회사, 계약이죠
01:44.590 --> 01:50.020
이제 다시 벡터 데이터베이스에 Put을 할게요
01:50.020 --> 01:52.300
벡터 데이터베이스를 삭제하고 다시 생성하죠
01:52.390 --> 01:57.640
각 벡터는 1536개의 차원을 가지고 있죠
01:57.640 --> 02:00.580
상상하긴 어렵지만 2D로 처리할 수 있어요
02:00.580 --> 02:01.930
그게 우리 일이죠
02:01.930 --> 02:03.220
저기 있네요
02:03.220 --> 02:07.450
3D로 보자고 할 수도 있어요
02:07.480 --> 02:08.810
비트가 좀 불필요하네요
02:08.810 --> 02:12.650
이걸 전부 다시 볼 필요는 없었지만 이 도표들을 보니 좋네요
02:12.680 --> 02:16.820
난 거짓말한 적 없어요
02:16.820 --> 02:19.790
이 코드 네 줄만큼 간단해요
02:19.820 --> 02:24.050
먼저 새 LM 추상화를 생성하죠
02:24.080 --> 02:25.250
채팅방 오픈라이예요
02:25.280 --> 02:27.950
아까 가져온 것을 put을 거예요
02:27.950 --> 02:29.570
드디어 그걸 쓸 수 있게 됐죠 Put it up Put it up Put it up Put it up Put it up Put it
02:29.960 --> 02:34.760
온도와 모델명 메모리를 제공해요
02:34.820 --> 02:39.710
전달되는 대화 버퍼 메모리를 생성합니다 아까 말씀드렸듯이 키를 생성하고
02:39.710 --> 02:42.230
목록의 형태로 반환하라고 하죠
02:42.560 --> 02:49.640
크로마 벡터 스토어를 가져와서 리트리버를 호출합니다 이 추상화, 리트리버에서 래핑하기
02:49.640 --> 02:52.580
위해서요 랭 체인에 필요한 거죠
02:52.580 --> 02:58.370
그래서 지금 대화 회수 체인을 만들 때 거기에 도달하는 거죠 get it
02:58.370 --> 03:03.200
LM, 리트리버, 메모리를 전달하는 거죠
03:03.740 --> 03:04.700
그게 다예요
03:04.820 --> 03:05.780
실행해 보죠
03:07.040 --> 03:07.640
03:07.640 --> 03:08.960
그래서 실행했죠
03:09.140 --> 03:10.430
살짝 실망스럽긴 하지만요
03:10.430 --> 03:14.590
뭘 기대하셨는지 모르겠지만요 갑자기 get이 나타날 거라고 생각하셨는지
03:14.590 --> 03:15.490
모르겠네요
03:15.700 --> 03:16.960
실제로 호출해야 해요
03:16.990 --> 03:19.270
그걸 활용할 방법을 찾아야 해요
03:19.300 --> 03:25.690
그래서 우리가 하려는 말은 쿼리 호출이라고 하죠
03:26.770 --> 03:38.230
짧은 영상으로 짧게 설명해 주시겠어요? 간단하게 시작할게요
03:38.320 --> 03:38.620
좋아요
03:38.650 --> 03:39.370
이렇게 말해요
03:39.370 --> 03:41.800
결과가 대화의 사슬이라고 하셨죠?
03:41.800 --> 03:46.510
방금 생성한 거요 메서드 호출이라고 부르죠
03:46.600 --> 03:52.600
인보크는 질문이 열쇠인 사전을 선택해요
03:52.690 --> 03:53.620
철자가 맞나요?
03:53.650 --> 03:53.830
03:53.830 --> 03:54.850
질문 있어요
03:55.150 --> 03:58.780
그리고 메시지 쿼리를 입력해야 해요 Put
04:00.010 --> 04:01.420
다 됐어요
04:01.420 --> 04:04.810
그런 다음 print결과를 하죠
04:06.430 --> 04:09.610
이건 그 결과의 해답 키 아래에 있어야 해요
04:09.610 --> 04:15.640
이게 우리가 합친 마지막 코드입니다 래그 파이프라인을 사용하기 위해서요
04:15.680 --> 04:16.970
어떻게 될 것 같아요?
04:16.970 --> 04:18.620
쿼리를 가져가요
04:18.620 --> 04:21.110
벡터로 바꿀 거예요
04:21.110 --> 04:24.230
크롬 데이터 스토어에서 찾아볼 거예요
04:24.260 --> 04:27.440
관련 있는 덩어리를 찾을 거예요
04:27.440 --> 04:29.780
덩어리 복수형이라고 하죠
04:29.780 --> 04:31.250
그건 나중에 다시 얘기하죠
04:31.580 --> 04:33.320
관련 있는 덩어리를 찾죠
04:33.320 --> 04:38.930
프롬프트에 그걸 넣어 OpenAI에 보내죠
04:39.020 --> 04:43.130
GPT for 미니로 보낼 겁니다 여기서 지정했거든요
04:43.130 --> 04:48.170
그리고 돌아온 것은 그것을 패키지로 해서 answer key에 두죠
04:48.200 --> 04:49.940
이게 통할지 보죠
04:52.400 --> 04:53.480
됐어요
04:53.510 --> 04:54.560
됐어요
04:54.560 --> 04:59.240
쇼어햄에서 처음으로 래그 파이프라인을 탔어요
04:59.270 --> 05:06.230
혁신적인 보험 기술 회사 에이버리 랭커스터가 설립했죠 지금도 잘 알려진 이름이에요
05:06.230 --> 05:07.940
정보도 좀 있고요
05:07.940 --> 05:12.980
여러분이 갖고 놀 수 있는 연습용으로 남겨두겠습니다만 다양한 문서에서
05:12.980 --> 05:18.530
그걸 갖고 온 걸 보실 수 있어요 회사 섹션의 모든 것에서 나온 거겠죠
05:18.530 --> 05:24.910
다양한 정보로부터 그걸 검색한 걸 보셨으면 좋겠네요
05:25.960 --> 05:26.860
좋아요
05:26.860 --> 05:28.750
그럼 좋겠죠?
05:29.230 --> 05:30.310
어떻게 될지 알아요?
05:30.340 --> 05:35.020
그걸 멋진 사용자 인터페이스로 패키지할 수 있다면 좋지 않을까요? 채팅
05:35.020 --> 05:37.480
UI를 통해 사용할 수 있도록요
05:37.480 --> 05:41.290
물론 그라디오는 아주 간단하게 만들고요
05:41.290 --> 05:47.890
이 시점에서 우리가 할 일은 그라디오가 기대하는 포맷으로 채팅 함수를 만드는 거예요
05:47.890 --> 05:50.170
그러려면 메시지와 역사가 필요하죠
05:50.170 --> 05:55.540
제가 한 일은 방금 작성한 바로 그 줄을 취해 여기 둔 겁니다 그런 다음 우리가
05:55.540 --> 05:58.480
기대하는 걸 정확히 반환하죠
05:58.510 --> 06:03.070
뭔가 이상한 점이 보일 수도 있으니 잠시 시간을 두고 살펴보세요 뭔가 이상한
06:03.070 --> 06:04.540
점이 보이나요?
06:06.070 --> 06:09.910
한 가지 이상하게 생각하실 만한 건 이 역사 매개 변수를
06:09.910 --> 06:12.430
실제로 아무것도 안 한다는 거예요
06:12.520 --> 06:14.440
완전히 무시해요
06:14.440 --> 06:19.570
우리가 그걸 무시하는 이유는 랭 체인이 이미 역사를 다루기 때문이죠
06:19.570 --> 06:26.820
그래디오에 채팅 UI가 있어서 사용자 인터페이스에서 대화 기록을 유지하고 매번 전체
06:26.820 --> 06:30.570
대화 기록과 함께 호출되지만 말이에요
06:30.600 --> 06:36.540
랭이 이미 우리에게 메모리를 줬기 때문에 지금까지의 대화를
06:36.570 --> 06:38.430
기록하고 있어요
06:38.460 --> 06:41.730
새 메시지와 새 답만 알면 돼요
06:42.570 --> 06:45.180
어쨌든 이 감방을 다시 찍고 있어요
06:45.210 --> 06:47.970
사실 이미 재실행했는데 메모리를 지우려고 재실행 중이에요
06:47.970 --> 06:50.190
완전히 새롭게 시작하는 거죠
06:50.220 --> 06:55.230
이걸 불러오면 이제 채팅할 수 있어요
06:55.500 --> 06:56.340
안녕하세요
06:57.780 --> 06:58.380
안녕하세요
06:58.380 --> 06:59.700
무엇을 도와드릴까요?
07:00.060 --> 07:02.520
보험이 뭐죠?
07:02.640 --> 07:03.090
07:08.490 --> 07:09.150
됐어요
07:09.180 --> 07:10.560
놀랍지도 않네요
07:10.680 --> 07:13.230
이제 몰래 뭔가 할 수 있어요
07:13.260 --> 07:14.970
이런 식으로요
07:15.030 --> 07:19.470
에이버리는 뭘 했죠?
07:20.100 --> 07:25.260
제가 이 얘기를 꺼낸 이유는 이런 질문에서 몇 가지 짚고 넘어가고 싶은
07:25.290 --> 07:26.490
게 있어서예요
07:26.490 --> 07:34.030
먼저, 무력을 이용한 해결책이 명확합니다 장난감 버전 래그에서는 랭커스터를 성으로
07:34.030 --> 07:38.860
보고 문서에서 검색할 수 없었지만 가망이 없었죠
07:38.860 --> 07:41.560
새장이라는 단어를 쓰면 안 돼요
07:41.560 --> 07:45.160
여기서 시도하는 건 당연히 흥미롭죠
07:45.190 --> 07:50.470
둘째, aviery를 소문자 a로 썼어요. 왜냐하면
07:50.470 --> 07:56.770
a는 철자가 다르기 때문에 텍스트로 검색하면 틀릴 테니까요.
07:56.770 --> 08:02.620
그래서 우리가 제대로 된 케이스를 사용하지 않았다는 사실을 감당할 수 있을지 보는 것도 흥미로울 거예요
08:02.620 --> 08:07.540
세 번째는 메모리라는 개념을 이용하는 거예요 그녀가 전에 했던 걸 말하는
08:07.540 --> 08:08.380
거니까요
08:08.410 --> 08:11.920
엘름에 설립하기 전에 뭘 했는지 묻는 거예요
08:11.920 --> 08:18.220
모델이 현재 상황을 잘 파악하고 맥락을 유지하는지 볼 거예요 조류 새장에
08:18.220 --> 08:22.780
관한 정보와 이전 행동을 둘 다 검색할 수 있는지요
08:22.810 --> 08:25.000
직원 기록에서 찾아봐야 해요
08:25.120 --> 08:29.350
그리고 일관성 있게 질문에 대답하세요
08:29.350 --> 08:30.310
어디 보죠
08:33.420 --> 08:38.670
쇼어햄에 입사하기 전 에이버리 랭커스터는 이노베이트 보험 솔루션스의 수석 제품 관리자로 일했습니다
08:38.670 --> 08:40.620
혁신적인 보험을 개발한 곳이죠
08:40.980 --> 08:43.830
그 전에는 시장 경향에 초점을 맞춘 사업 분석가였죠
08:43.860 --> 08:49.860
그래서 여러분이 에이버리의 직원 기록을 확인하시도록
08:49.860 --> 09:01.200
남겨둘게요 그리고 에이버리의 신원을 제대로 파악하고 있는지 확인하세요 재미있는 실험이니까요
09:01.320 --> 09:05.850
물론 다른 어려운 질문들도 시도해 보세요
09:06.000 --> 09:10.200
무슨 뜻이죠?
09:12.960 --> 09:13.140
09:13.140 --> 09:13.860
어디 보죠
09:13.890 --> 09:20.730
침착하게가 그 차의 제품이었어요
09:21.210 --> 09:21.390
09:21.420 --> 09:24.420
아니면 다르게 물어보죠
09:24.420 --> 09:35.650
자동차 보험 회사에서 자동차에 제품을 공급하나요?
09:36.550 --> 09:38.770
까다로운 문제를 내 보죠
09:39.040 --> 09:40.570
다 됐어요
09:40.600 --> 09:40.960
09:40.990 --> 09:44.530
자동차 보험 회사들을 위한 포털인 안정감을 주는 보험이죠
09:44.530 --> 09:53.020
그래서 제가 진정이나 자동차라는 단어를 사용하지 않는데도 관련 문서와 관련
09:53.020 --> 09:58.060
덩어리를 찾아 정확한 답변을 할 수 있죠
09:58.540 --> 10:03.160
랙으로 하는 첫 실험이었군요
10:03.190 --> 10:04.930
이제 이걸 드셔 보세요
10:04.930 --> 10:10.450
여러분이 수사하고 어려운 질문을 해서 그걸 깨뜨리거나 잘못된 정보를 제공할 수 있는지 알아내길
10:10.450 --> 10:15.190
바랍니다 아니면 선을 벗어나 한계까지 밀어붙여 보세요 get it get it
10:15.220 --> 10:21.340
다음 시간엔 몇 가지 다른 걸 포함해 방법 몇 가지를 다루겠습니다 이런 종류의 프롬프트와 관련해
10:21.340 --> 10:26.260
공통된 문제 몇 가지와 어떻게 디버그 하고 Get up 밑에서 무슨 일이 있는지
10:26.260 --> 10:28.180
알아내는 방법도요
10:28.210 --> 10:36.670
하지만 쇼어햄에 있는 우리 가상 보험 기술 회사를 위해 만든 래그 파이프라인을 즐겁게 보셨길
10:36.670 --> 10:37.540
바라요
10:37.600 --> 10:38.620
다음에 봐요