다시 한번 환영합니다 이곳은 우리가 가장 좋아하는 유피터 연구소입니다 데이터 과학자 실험자의 천국이죠
8주 차에 나온 셋째 날 공책을 보면 이번에는 댓글이 거의 없는 걸 볼 수
있어요
생산 품질의 코드를 공책에 적었어요
지금은요
두 분은 프로예요
와플을 많이 먹을 필요는 없어요 바로 시작하죠
몇 가지 수입품부터 시작할게요
오늘 퍼즐을 풀려면 환경 설정부터 해야 해요 그럼 첫 번째 퍼즐 조각을
맞춰 보죠 get it
제가 Scraped 딜이라는 걸 몰래 수입했어요 언급하지 않고서요 어쨌든
이 스크랩드 딜이 있으니 불러올게요
Show Properue를 true로 설정합니다 뭘 하는지는 말 안 하고
실행할게요 몇 분 걸리니까요 그냥 실행하죠
그 후에 더 얘기할게요
그럼 시작하죠
출발해요
뭘 긁어내죠?
좋아요
패키지 안의 에이전트 폴더에 있어요
할인 닷 파이에 나와 있어요
할인 닷 파이를 보여드릴게요
이건 파이썬 으로 구성된 모듈입니다 피드들을 정의하는 것으로 시작을 하죠
URL에서 RSS로의 피드입니다 좋은 거래가 다양한 카테고리로 발표되는 유용한
것들이죠
이 부문들은 우리가 잘 아는 부문과 막상막하입니다 우리 모델은
전자제품 컴퓨터, 자동차 그리고 스마트 홈 가든 부문에서 훈련받았거든요
여기 영상이 있어요
다른 것도 많아요 좀 더 기다릴 배짱이 있다면 여기에 비트를
잔뜩 추가해 작업할 데이터 모음이 커지죠
여기 몇 가지 유틸리티가 있는데 여러분이 원할 때 살펴볼 수 있어요
추출물이라는 메서드와 함수가 있는데 HTML을 청소하고 유용한 텍스트를 반환하죠
그리고 학급 간의 마찰도 있죠
이건 RSS 피드에서 회수한 거래예요
긁는 게 아니라 RSS에서 회수하는 거군요
비트 박스도 좀 살펴볼 거예요
어느 정도 사실인 거죠
init에서 하는 일은 항목이라는 걸 갖는 거예요 그냥 값의 사전이죠
우린 통과할 거예요
RSS 피드에서 바로 얻을 수 있는 정보죠
우리가 하는 일은 제목과 요약을 고르고 링크를 가져오는 거죠
여길 보시면 URL을 갖고 그걸 페치하는 거죠
그래서 긁어내고 있어요
미안해요
URL 페치잉을 하고 그 결과들을 입력하고 멋진 put으로 그걸 분석하죠
첫째 주에 했던 것과 유사하죠 요청에서 검색한 URL 파싱
때요 get이요.
네
그리고 내용물을 스크럽하는 것도 있어요
그런 다음 기능이 있다면 일부 기능을 구축하죠
RSS 비트로 들어온 걸 깨끗하게 청소해서 레코드로 만드는 건
다 긁어내는 코드예요
그리고 인쇄하는 것도 있어요
이 클래스 메서드 페치는 조금 전에 시작한 것으로 실행이 끝난 걸
보실 수 있죠
하는 일은 모든 피드를 반복하는 겁니다 피드 파서라는 걸 호출하죠
파즈예요
피드파서는 제가 가져온 패키지예요 RSS 피드를 끌어오게 해주는 유용한 패키지죠
사전으로서 그걸 줘요
파이썬 패키지로 Feedparer를 이용하고 있습니다 각각의 피드에서 가져온 상위
10개만 가지고 올 수 있죠
Get in get it up
물론 원한다면 더 많은 데이터를 가져올 수도 있어요
지금은 그냥 그 숫자에 묶을게요
각각의 캐릭터는 이게 우리 자신이에요
그 항목을 위해 우리에 대한 예를 만들죠
그 항목은 물론 우리가 방금 본 사전이죠
시간이 좀 있어요 혹시 궁금하다면 여기서 자요
할인 웹사이트에서 웹 페이지를 검색하러 get to를 하는
거니까 반사회적이라고 생각했거든요
수많은 요청이 들어온 그 웹사이트를 공격하면 짧은 시간 안에 하나씩 차례로 올라올 거예요
웹 서버를 너무 혹사하거나 너무 많은 것을 요구하지 않도록 get 절약을
하는 것이 좋은 방법이죠.
우리가 웹사이트에서 이런 계약을 회수하면 더 나은 시민이
되는 거죠
그래서 그렇게 했어요
그 거래들이 이 공책에 담겨 있어야 해요
하지만 먼저 이 유용한 모듈에서 몇 가지 다른 걸 언급할게요
여기 세 가지 강좌가 있는데 잠시 후에 중요하게 다룰 거예요 구조화된 출력물들을
어떻게 정의하는지 보여주거든요
GPT 4에 답변을 요청할 때 클래스 딜을 정의하고 있습니다 클래스 딜 선택과 클래스
기회죠
이게 기본 모델의 서브클래스인 게 보이시죠
베이스 모델은 파이댄틱 패키지에서 나온 건데 여러 가지 기능이 있어요
그 중 하나는 아주 쉽게 클래스의 JSON 버전과 그 구조, 클래스 자체를 전환할 수 있게 해줍니다
또한 클래스가 스키마에 충실하도록 시행할 수도 있어요
여러분 중 많은 분이 아주 익숙하실 거예요
현학적이군요
하지만 그걸 사용하려면 기본 모델의 서브클래스인 새 클래스를 생성하면 돼요
첫 번째 클래스는 거래라고 불러요
제품 설명, 가격, URL 같은 것만 있는 거죠
설명 가격 URL 예요
거래 선택이라는 것도 있어요
GPT 4에 대응하라고 요청할 거예요
우린 거래를 원한다고 말할 거예요
이게 중요한 거예요
아주 간단해요
딜이라고 부르는 단일 특성에 이런 딜의 리스트를 가진 뭔가죠
그게 다인 것 같아요
딜 선택은 딜 객체의 리스트를 원한다는 뜻이죠
JSON 스피커로 이걸 생각해보면 뭐죠?
JSON 용어에서 이건 이런 모습입니다 이 딜 선택은 하나의 객체로
오직 하나의 특성 딜을 갖고 있죠
그게 목록이에요
각각의 개체들의 목록이죠
JSON으로 가면 이렇게 보일 거예요
제품 설명도 있어요
가격표는 플로트라고 해요
URL 같은 것도 있고요
URL 같은 거요 그럼 거래가 성사되죠
아마 목록에 그런 게 아주 많을 거예요
그럼 거래 선택이 완성되죠
제가 방금 입력한 JSON을 보시면 이 클래스 정의와 비교해 보세요
서로 어떻게 유사한지 더 명확해지길 바라요
이건 이 구조의 JSON 표현이에요
GPT 4에 구조화된 출력이 이 포맷에 있길 원한다고 할 때 여러분이
응답하는 일종의 JSON이 되길 원한다고 하는 거죠
그게 다예요
그게 어떻게 작동하는지 감을 잡으셨으면 좋겠네요
이건 삭제할게요
그럴 필요 없어요
마지막으로 언급할 것은 기회라는 클래스도 있다는 겁니다 여기서 정의한 것으로
기본적으로 거래를 하는 거죠
이 중 하나와 견적서요 견적은 나중에 사용할 겁니다 이 거래의 가치를
평가할 때요
그리고 할인은 단순히 거래 가격과 예상 가격의 차이죠
이 제품은 얼마나 할인받을 수 있나요?
그게 설정이에요
그럼 다시 이쪽으로 오시죠
그 부분을 좀 고쳐 보죠
그래서 우린 방금 도망치고 긁고 거래했어요
도로시, 가져와요
이제 몇 개인지 볼 수 있어요
50건의 거래가 성사됐어요
50개 세일을 하는 이유는 5개의 피드가 있는데 각각 10개씩 세일을 요구했기 때문이에요
그럼 50명이 되는군요
여러분이 기대하시는 게 그거이길 바라요
거래 번호 44를 보면 프린트가 잘 됐어요 파이썬 마법
기능을 사용했거든요 복제 기능을 잘 프린트하도록요
그게 44번 계약 조건이에요
전체 묘사를 해 보죠
우리가 가진 정보는 이 비트에 다 있어요
매일 거래되는 차고 저장장치 bla bla bla bla bla bla bla bla bla가 많아요
배송비를 피하려면 설치를 선택하세요
네
그런데 말이죠
그걸 보면 몇 가지 눈에 띌 거예요
그중 하나는 RSS 피드에 가격이 따로 나오지 않는다는 거죠
Get it의 가격은 모르고 모양만 알죠
또 다른 특징은 가격조차 없다는 거예요
얼마나 떨어졌는지 알 수 있죠
무료 배송 같은 건 알려 주지만 이 제품과 관련된 가격은
알려 주지 않아요
그건 지루해요
그래서 항상 적절하게 사용할 수 있는 건 아니에요
파싱 작업을 통해 각각의 항목에 대해 제공되는 실제 가격이 얼마인지
알아내야 해요
이 아이템들을 보시면 여러 개를 하나로 묶은 것도 있어요 하나의 카피에요
애플 워치의 다른 모델은 전부 20% 할인을 제공해요
따라서 그걸 이해하고 원하는 걸 끌어내는 건 아주 어려울 겁니다 아주 힘들고 그걸 견고한 방식으로
코드화하는 건 아주 어렵죠
그래서 개척자 모델을 써야 해요
GPT 40을 이용해서 각 RSS의 피드와 거래를 수집하고 그 거래를 뭔가로
바꿀 겁니다 우리에게 유용한 거래죠
50개 모두를 보내 이렇게 말할 겁니다 이 대형 세트에서 가장 명확하게 설명된
최고의 계약 5개를 찾아 그걸 추려내서 요약해 우리에게 보내라고요
구조화된 출력에서 그걸 원하죠
어떤 형식을 원하는지 말하고 정확히 그 형식으로 답변해 달라고 요청할
거예요
이제 티를 입힌 거예요
우리가 뭘 이루려는 건지 알잖아요
다음 비디오에서 보여드릴게요