우리가 좋아하는 장소에 다시 모였네요 주피터 연구소
몇 주 준비됐죠
둘째 주에는 운동하고요
2주 차 폴더로 가서 2주 차 첫날을 열어보죠
자, 시작할게요
첫째 주에 다중 프런티어 LMS를 사용했죠 채팅방 사용자 인터페이스를 통해서요 웹을 통한
사용법이죠 API를 통해 OpenAI API에 연결했어요
그래서 오늘은 안트로픽과 구글의 API를 통합해 오픈AI 사용 기술에 추가할
거예요
다시 한번 말씀드리지만 계속 그 얘기 하면 절 죽이실 거잖아요
여기에 열쇠를 꽂아두죠
오픈라이 키를 설정할 수 있죠 아마 지난주에 이미 했겠죠 인류애
키와 구글 제미니 키를요
하지만 구글 키를 설정하는 데 더 많은 모험이 있다는 걸 명심하세요
설정이 끝나면 창조하는 거죠
파일을 생성했어야 해요
그 형태로 열쇠가 있는지 확인하세요
그렇게 하는 대신 이 셀에서 키를 입력하면 돼요
그렇게 할 수 있어요
보안상 권장할 수 없는 일이죠
언젠가 이걸 공개해서 다른 사람들이 열쇠를 보게 되면요
서론은 그만하죠
수입품 검사를 해 보죠
환경 변수를 설정하는 코드 블록을 실행해보죠
잘 아시네요
이 셀에서 오픈AI API 연결을 설정하기 위해 OpenAI에
같은 전화를 걸었어요
클로드 비트도 비슷하고 제미니 비트는 구글에서 약간 다르게
만들었죠
이런 식으로 반이나 어느 정도 비슷한 명령을 이 세 가지에 사용하고 있어요
네
Lms가 잘하는 것들을 많이 보았고 몇 가지 실행되는 것들을 보았습니다 하지만 대부분은 Lms가
잘하는 것들이죠
한 가지 잘 안 되는 건 농담을 하는 거예요
아주 딱 맞는 문맥을 주면 그 안에서 농담을 구성해야 해요
이건 상업적인 예는 아니지만 재미를 위한 방법이고
API로 경험을 쌓는 거죠
API 상에서 농담을 해 줄 llms를 모실 거예요
어떤 정보를 제공하죠?
API 하나를 보내죠
일반적으로 사용하고 싶은 모델의 이름을 항상 지정해요
시스템 메시지와 사용자 메시지를 주로 제공하죠
전반적인 컨텍스트를 제공하는 시스템 메시지에 아주 익숙하죠
사용자 메시지가 실제 프롬프트죠
다른 특징도 있어요
다른 방법도 있어요
온도라는 걸 통과시킬 수 있어요 0에서 1 사이죠 보통 좀 더 무작위적인
창의적 출력 출력을 뜻합니다 0은 가장 가능성이 낮은 집중된 결정론적 반복 가능 설정이고요
여러분이 제공할 수 있는 또 다른 매개 변수죠
이 경우에 시스템 메시지를 설정하겠습니다 농담을 잘 하는 비서라고 하는
거죠
데이터 과학자들을 위해 가벼운 농담을 할 거예요
당신과 내가 되겠죠
여기 이 구조는 여러분에게 아주 익숙하길 바라요
여기서 프롬프트들을 목록에 넣습니다. 요소들, 시스템, 사용자를 역할로 for each each each each each요.
이 두 요소에서요.
이 리스트를 살펴보면, 설명하지 않아도 될 것 같네요. 이제 익숙해졌으니까요.
말씀드렸듯이 이 값은 여기 이 역할이 시스템 또는 유저가 될 수 있어요
곧 알게 될 거예요
조수라고도 할 수 있죠
시스템 사용자나 보조가 될 수 있죠
그리고 이번 주 후반에는 다른 것도 넣을 수 있을 거예요
그래서요?
하지만 지금은 시스템과 사용자를 우리가 사용할 두 역할로 기억해야 해요
그래서 그걸 Put 프롬프트 목록에 넣었어요
그 전에 감옥을 처리해야 하고요
그 전에 이 감방을 실행했어요
네, 괜찮았어요
시작할게요
다시 해 보죠
저 감방을 처형해요
이 감방을 실행해요
좋아요
오래된 GPT 모델부터 살펴보죠 GPT 3 5 터보 엔진인데 최근에 나온 최고의 개척
모델이죠
하지만 이미 지난 일이에요
하지만 이걸 쓸 거예요
오픈AI에서 이제 익숙해진 API는 OpenAI.챗, .완성 .Creetions,
.Create 완성 이 API의 이름이죠 기존 프롬프트 모음을 가져다가 대화를 완성하기
위해 텍스트 생성을 시도하는 거예요
생성을 통해 모델과 메시지를 전달합니다 여러분이 익숙한 형식으로 전달하죠
어디 보죠
응답을 받았을 때 우리가 하는 건 완료 .선택입니다 가능한
선택 목록이죠
하지만 한 가지 요소만 넣을 거예요
여러 개의 선택을 반환하도록 지정할 수 있는 방법이 있어요
하지만 아직 안 했으니 get get을 하면 당연히 0위치에 있죠
완료 .선택 .0.Message는 메시지를 반환하고 콘텐츠는 문자열로 반환하죠
그걸 get 해 프린트하는 거죠
어떤 장난인지 볼까요?
데이터 과학자인 GPT 3을 위해서요 5 터보로 할 수 있어요
시작할게요
왜 데이터 과학자들이 컴퓨터와 분리했을까요?
둘의 복잡한 관계를 감당하지 못했죠
알았어요
Get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it.
세상에서 가장 웃긴 농담은 아니지만 끔찍하지도 않아요
데이터 과학자들은 사물의 관계를 모델로 삼지만 그 복잡한 관계를 다룰
수 없어요
좋아요
GPT 3에서 나온 농담치고는 아주 괜찮은데요 5 터보요
GPT 4 미니는 더 잘할 수 있을까요?
이번엔 API 사용을 살짝 확장할게요
온도도 포함해서 0에서 1 사이의 숫자를 입력할 수 있어요
창의성은 1점, 최저점은 0점이죠
이 중엔 완료 선택지와 메시지 콘텐츠도 없어요
이것도 아주 익숙할 거예요
잘 달리는지 보죠
데이터 과학자가 왜 통계학자랑 헤어졌죠?
너무 못됐다고 생각했거든요
꽤 괜찮은 농담이네요
괜찮은 것 같아요
그 정도는 괜찮은 농담이죠
llm은 이런 농담 잘 못한다고 한 게 너무 심했나 봐요 그 정도면 괜찮은 농담인데요
GPT 4에 작은 박수를 보내 줘야 할 것 같네요
GPT 4 미니와 더 큰 사촌인 GPT 4를 써 보죠
GPT 4의 맥시 버전이네요
덩치 큰 친구요
우리가 물어볼 거예요
온도는 똑같이 유지해야 해요 그래야 실수가 없죠
농담 삼아 물어보죠
둘, 어떻게 되나 보죠
데이터 과학자가 왜 파산했죠?
어레이에서 캐시를 못 찾았거든요
Get up이 아니었다면 더 나았을 거예요
캐시는 못 찾았어요
괜찮을 거예요
내가 뭘 놓쳤나 봐요
Get me get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get it, I'm get'm it, I'm it'm it'm get'm it, I'm it'm it'm get'm it'm it'm it'm it're
다른 걸 해 보죠
아까 했던 대로 비트 온도를 낮춰서 어떻게 되는지 보죠 get it
왜 과학자들은 물류 회귀 모델과 헤어졌을까요?
맞는 걸 못 찾았거든요
괜찮은 생각이네요
그건 괜찮아요
미니와 맥시 중에 뭐가 더 좋은지 모르겠지만 꽤
튼튼한 개그 소재예요
이건 확실히 통과라고 할 수 있겠네요
좋아요
3번 조항으로 넘어가죠 5분
소네트요
API가 눈에 띄게 비슷하죠
좋은 소식이죠
기본적으로 아주 비슷해요
차이점이 몇 가지 있어요
시스템 메시지를 개별 특성으로 전달해야 해요
메시지는 다시 이 데크 목록이에요
물론 시스템 메시지의 첫 항목은 없어요 이미 별도로 넘겼으니까요
그건 미묘한 차이죠
최대 토큰은 오픈AI API 선택 사항으로 최대 토큰의 수를 지정하는 데 사용되죠
클로드도 그래야 할 거예요
그래서 여기 들어있군요
하지만 그 외에는 전부 비슷해 보여야 해요
API 자체는 외우기가 좀 더 쉬워요 비트
클로드 점 메시지 점 만들기예요
약간 짧지만 오픈AI 챗GPT 완성본과 상당히 비슷해요
저기 있네요
응답이 오면 메시지 콘텐츠 get이 0이 되죠
첫 번째 것만 요청하는데 하나만 나올 거예요 왜냐하면 .text만
요청했거든요 OpenAI의 .content와 같은 거죠
어디 보죠
클로드의 API 프레임워크에 유용하면 좋겠네요
클로드가 농담을 어떻게 하는지 보죠
네
데이터 과학자들을 위한 가벼운 농담이 있어요
데이터 과학자들은 왜 사랑하는 사람과 헤어질까요?
관계에 너무 많은 변화가 있었고 그걸 정상화할 좋은 방법을 찾지 못했어요
네, 괜찮아요
좀 더 너디스러운 것 같아요 데이터 과학에 가깝죠
비트만 조금 less지만 나쁘지 않아요
글쎄요, GPT 4보다 그게 더 좋은지는 취향의 문제겠죠
완벽한 농담이죠
폭발할 만큼 웃기진 않지만 아주 튼튼해요
나쁘지 않아요
네
어쨌든 핵심은 API와 농담에 관한 겁니다 늘 재미있긴 하지만요
지금부터 보여드릴 건 스트리밍에 관한 거예요
스트리밍 예시를 보기 전에 스트리밍에 대해 잠깐 얘기했었죠?
전에 했던 건 좀 복잡해 보였어요 비트코인 가격 인하를 다시
해야 하고 그 가격 인하에 대처해야 했으니까요
마크다운 비트를 다루는 게 아니라서 더 간단해 보이죠
같은 모델인 클라우드 3에 질문할게요 다시 5가 나왔네요 이번엔 결과를 스트리밍할게요
오픈AI에 스트림하라고 요청했을 때 다른 특성 스트림이 true인 것을 추가한 것을
기억하시나요?
그건 스트리밍 모드였다는 뜻이죠
클로드는 조금 다르죠
추가 속성은 없어요
.Stream 메서드를 호출해요 .Create 메서드 대신에요
접근법이 약간 달라요
인도적인 것과 오픈AI의 스트리밍은 차이가 있어요
클로드 메시지의 흐름이라고 부르기로 했어요
그 외에는 똑같아요
돌아온 결과로는 스트림으로서의 결과를 가진 컨텍스트 관리자를 사용하죠
스트림 텍스트 스트림의 텍스트죠
오픈아이는 그에 대한 답장이었죠
오픈AI는 비트 백 결과를 읽는 방식이 조금 달랐어요
하지만 저기 있네요
각각의 덩어리를 get 해 프린트하죠
이렇게 하는 이유는 한 줄에 한 덩어리가 찍히지 않도록 하기 위해서죠
안 그러면 읽기 힘들었을 거예요
이게 더 보기 좋을 거예요
클로드 3을 보죠 농담과 함께 소네트 5개가 유피터랩에서 스트리밍될 거예요
됐어요
봤죠?
스트리밍이에요
데이터 사이언스에게는 가벼운 농담이 있죠
왜 똑같은 농담을 해요?
똑같은 농담 같지만 브람스 드럼에 추가된 거죠
마지막에 폭발하는 게 좋았어요
왜 전보다 패를 더 많이 달라고 했을까요?
어디 보죠
아뇨
똑같아요
네
설명이 나오죠
이 농담은 데이터 과학에서 흔한 통계 개념을 이용한 거예요
좀 따분하지만 데이터에 밝은 관객들은 웃을 거예요 Get it
데이터에 밝은 분들이니 판단해 주실 수 있겠죠
Get it, Get it, Get it, Get it, Get, Get, Get, Get, Get 웃었어요?
넘어가죠
제미니는 구조가 달라요
사실 비트는 좀 달라요
구글 크레딧은 토큰을 설정하는 기능이 훨씬 복잡하지만 API 설정은
좀 더 간단해요
여기 보이는 것처럼 모델 객체를 생성해서 모델 이름을 입력해요 제미니 1호를
쓸 거예요 5번 섬광이에요
제미니 1호의 경우 얼마나 큰 문맥 창문이 필요했는지 기억하시죠? 5번 섬광이에요
기억할 수 있겠어요?
전에 있던 테이블 위였나요?
놀랍게도 백만 토큰이었죠
백만 토큰요
750,000단어요
제미니 1호예요 5번 섬광이에요
이 객체를 만들 때 시스템 지시를 전달해요 제미니 닷이라고 부르죠
사용자 프롬프트에서 콘텐츠를 생성하세요
응답 .text예요
요청과 응답 둘 다에서 좀 덜 빈둥거리죠 API가 좀 더 간단해요 하지만
비트의 질을 보죠
중요한 건, 데이터 과학자들이 왜 통계 전문가와 헤어졌느냐죠
P 값에 대한 견해가 달랐기 때문이죠
네
전 데이터 과학 쪽을 봐요
Get you get. 잘 모르겠어요
네
Get it, get it, get it! 이해하실지도 모르겠네요
전 졸린 것 같아요
그런 경우라면 어떻게든 절 가리키겠죠
근데 그 농담의 재밌는 면을 잘 모르겠어요 Get it
그래서 제 생각에는 제미니 1호가 확실히 뒤처졌다고 봐요 유머 면에서 말이죠
좋아요
아무튼 본격적으로 GPT 4로 돌아가 보죠
다들 같은 질문을 했죠
정말 도움이 되는 조수네요
사업상의 문제가 LLM 해결책에 적합한지 어떻게 판단하죠?
채팅 인터페이스를 통해 가장 먼저 받은 질문이었죠
이제 다시 합칠 수 있어요
이런 거 익숙하죠?
가격 인하 결과를 스트리밍으로 보여드릴게요
OpenAI 채팅 .완료 .Create죠
모델을 통과시키죠
큰 녀석을 노릴 거예요
프롬프트도 사용해요
온도를 설정했어요
스트리밍은 true라고 하죠
오픈아이는 이렇게 요리해요
그리고 이런 식으로 결과를 다시 스트리밍하죠
비트 박스를 줄이는 중이라 좀 더 복잡해요
그래서 우린 여기서 특별한 작업을 해야 합니다 각 반복에서 마크다운을 새로
고침하기 위해서요
이렇게 해야 하는지 확신이 안 들면 저걸 빼고 다르게 해 보세요
그럼 바로 어떻게 되는지 보일 거예요
보기 안 좋을 거예요
그걸 실행해 보죠
get get 결과가 나왔네요. 아주 좋아 보이죠.
일부만 뚫렸을 때 튕기는 게 보이죠
즉 부제목을 나타내는 여러 개의 해시를 해석하는 것이죠
해시 하나만 받았는데 큰 게 오는 줄 아나 봐요
마크다운이 일어나면서 깜빡이는 현상이 잠깐 있었던
것 같아요
하지만 마지막에 우린 아주 잘 구성된 응답을 얻습니다 잘 구조화되어 마크다운
스트림 백에서 완벽한 포맷이죠
좋아요
다양한 API에 대한 감각을 얻었고 재미있는 질문도 비트 박스를 좀 어지럽혔죠
다음 비디오에서 할 것은 몇 개의 llms가 서로 대화하는 겁니다 재미있을
거예요
그때 봐요