이미 소장하고 있다면 판매해 보세요.
|
옮긴이 머리말 xi
베타리더 후기 xii 시작하며 xv CHAPTER 1 OpenAI API를 시작하자 1 1.1 OpenAI API를 사용하기 위한 준비 1 __1.1.1 ChatGPT가 준 충격 1 __1.1.2 OpenAI API 3 __1.1.3 OpenAI 개발자 페이지 5 __1.1.4 OpenAI 계정 등록 9 __1.1.5 Playground에서 OpenAI API를 사용해보자 12 1.2 OpenAI 계정 설정 17 __1.2.1 API 사용 현황 관리 18 __1.2.2 Settings 18 __1.2.3 API 키 작성 27 1.3 파이썬/Node.js로 API 사용하기 30 __1.3.1 OpenAI API 개발 환경 30 __1.3.2 [파이썬] 파이썬 준비 30 __1.3.3 [Node.js] Node.js 준비 34 1.4 웹 애플리케이션에서 API 사용하기 37 __1.4.1 [파이썬] 플라스크 애플리케이션 37 __1.4.2 애플리케이션의 메인 프로그램 작성 39 __1.4.3 템플릿 파일 생성 41 __1.4.4 [Node.js] Express 애플리케이션 43 __1.4.5 Express 애플리케이션 작성 46 __1.4.6 index.js 49 __1.4.7 index.ejs 템플릿 파일 생성 51 __1.4.8 OpenAI에 익숙해지자 54 CHAPTER 2 API 사용법을 익혀보자 55 2.1 파이썬에서 API 사용하기 55 __2.1.1 OpenAI API와 Completions API 55 __2.1.2 API 사용하기 57 __2.1.3 스크립트 작성하기 58 __2.1.4 스크립트 내용 살펴보기 59 __2.1.5 반환값 60 __2.1.6 Completion에서 Chat Completion으로 62 2.2 Node.js에서 API 사용하기 63 __2.2.1 API 사용하기 63 __2.2.2 스크립트 작성하기 66 __2.2.3 스크립트 구조 살펴보기 68 __2.2.4 access_openai 함수에서의 API 접근 70 2.3 웹 API 직접 사용하기 71 __2.3.1 웹 API에 직접 접근하기 71 __2.3.2 자바스크립트로 API에 접근하기 72 __2.3.3 콜백 함수와 반환값 처리 74 __2.3.4 API를 사용하는 웹페이지 만들기 75 __2.3.5 클라이언트에서 직접 API를 사용할 때의 위험성 78 CHAPTER 3 프롬프트 디자인 80 3.1 기본 프롬프트 80 __3.1.1 프롬프트의 중요성 80 __3.1.2 지시와 메타 프롬프트 82 __3.1.3 한국어를 영어로 번역 83 __3.1.4 지시의 다양한 이용 예 85 3.2 ID와 캐릭터 설정 87 __3.2.1 ID 할당과 질의 예 87 __3.2.2 제로숏 학습과 예시 89 __3.2.3 캐릭터 할당 90 __3.2.4 재미있는 AI 봇 만들기 91 __3.2.5 Q&A용 AI 만들기 94 3.3 그 밖의 프롬프트 기능 96 __3.3.1 순서 설명 96 __3.3.2 텍스트 요약 97 __3.3.3 콘텐츠 생성 프롬프트 97 __3.3.4 선택지 제시와 입력 99 __3.3.5 문장 구조 이해시키기 102 3.4 명령어 정의와 출력 형식 104 __3.4.1 명령어 생성하기 104 __3.4.2 명령으로 프롬프트 실행하기 107 __3.4.3 출력 형식에 관한 프롬프트 110 __3.4.4 프롬프트 인젝션 111 CHAPTER 4 Completion 탐구하기 117 4.1 에러 처리/모델 API 117 __4.1.1 에러 처리 117 __4.1.2 [파이썬] Completion 에러 처리 119 __4.1.3 [Node.js] Completion 에러 처리 121 __4.1.4 모델 122 4.2 옵션 인수 126 __4.2.1 suffix를 이용한 중간 텍스트 생성 126 __4.2.2 여러 후보 생성하기 130 __4.2.3 생성 내용 조정하기 133 __4.2.4 생성 내용에 관한 옵션 138 __4.2.5 실시간 토큰 처리 144 CHAPTER 5 Chat Completion과 Transcription 147 5.1 Chat Completion 기본 147 __5.1.1 Completion과 Chat 147 __5.1.2 Chat Completions API 148 __5.1.3 API로부터의 반환값 150 __5.1.4 [파이썬] 챗 만들기 151 __5.1.5 [Node.js] 챗 만들기 154 __5.1.6 프로그램 실행 159 __5.1.7 [자바스크립트] 웹페이지에서 채팅하기 160 __5.1.8 Chat Completion의 프롬프트 디자인 163 __5.1.9 role에 함수 지정하기 166 5.2 Speech to text를 이용한 음성 입력 167 __5.2.1 오디오 파일과 문자 읽기 167 __5.2.2 [파이썬] 오디오 파일에서 텍스트 얻기 168 __5.2.3 [Node.js] 오디오 파일에서 텍스트 얻기 169 __5.2.4 프로그램 실행 171 __5.2.5 [자바스크립트] 오디오 파일에서 텍스트 얻기 171 __5.2.6 Transcription 옵션 설정 175 __5.2.7 Translation API 176 __5.2.8 Transcription과 Translation의 차이 179 CHAPTER 6 Image Generation 180 6.1 Image Generation 기본 180 __6.1.1 Image Generation으로 이미지 생성하기 180 __6.1.2 [파이썬] 이미지 생성 프로그램 만들기 183 __6.1.3 [Node.js] 이미지 생성 프로그램 만들기 184 __6.1.4 프로그램 실행 186 __6.1.5 [자바스크립트] 이미지 생성 프로그램 만들기 187 __6.1.6 여러 이미지 생성 192 __6.1.7 프롬프트를 이용한 스타일 설정 194 __6.1.8 생성 이미지 저장하기 196 6.2 이미지 편집 200 __6.2.1 이미지 일부 수정하기 200 __6.2.2 이미지 준비 201 __6.2.3 [파이썬] create_edit 함수 사용하기 203 __6.2.4 [Node.js] createImageEdit 메서드 사용하기 204 __6.2.5 프로그램 실행 206 __6.2.6 [자바스크립트] 웹 API에 직접 접근하기 206 6.3 이미지 변형 209 __6.3.1 변형을 생성하는 Variations 209 __6.3.2 [파이썬] 변형 이미지 생성 209 __6.3.3 [Node.js] 변형 이미지 생성 210 __6.3.4 프로그램 실행 212 __6.3.5 [자바스크립트] 웹 API에 직접 접근하기 213 __6.3.6 Image Generation은 이제부터! 215 CHAPTER 7 모델과 데이터 튜닝 216 7.1 파인 튜닝 216 __7.1.1 나만의 AI 모델 생성 216 __7.1.2 학습용 데이터셋 작성 218 __7.1.3 파인 튜닝/모델 생성 220 __7.1.4 파인 튜닝/모델 사용하기 225 __7.1.5 생성 모델 관리 228 7.2 Moderation을 통한 정책 점검 230 __7.2.1 OpenAI의 정책 점검 230 __7.2.2 정책 위반 점검 232 __7.2.3 프롬프트에 대한 정책 점검 234 7.3 Embedding과 시맨틱 유사성 239 __7.3.1 Embedding과 벡터 데이터 239 __7.3.2 Embedding 사용하기 241 __7.3.3 [파이썬] Embedding API에 접근 242 __7.3.4 [Node.js] Embedding API에 접근 243 __7.3.5 코사인 유사도로 벡터 사이의 유사성 확인하기 244 __7.3.6 [파이썬] openai.embeddings_utils 준비 245 __7.3.7 [Node.js] compute-cosine-similarity 준비 246 __7.3.8 선택지에서 가장 적합한 것 선택하기 247 __7.3.9 [파이썬] 선택지에서 가장 적합한 것 고르기 248 __7.3.10 [Node.js] 선택지에서 가장 적합한 것 고르기 250 __7.3.11 프로그램 실행 253 CHAPTER 8 Power Platform에서 API 사용하기 254 8.1 Power Automate에서 API 사용하기 254 __8.1.1 OpenAI API와 다양한 개발 환경 254 __8.1.2 Power Automate 255 __8.1.3 흐름 작성하기 256 __8.1.4 OpenAI 단계 작성하기 258 __8.1.5 결과를 변수에 설정하기 263 __8.1.6 Power Apps에 대한 반환값 준비하기 265 __8.1.7 테스트 수행하기(OpenAPI 커넥터) 267 __8.1.8 HTTP에 접근하는 흐름 만들기 271 __8.1.9 HTTP 커넥터 사용하기 273 __8.1.10 JSON 데이터에서 반환값 얻기 275 __8.1.11 JSON 데이터를 변수에 가져오기 277 __8.1.12 흐름 테스트 278 __8.1.13 다양한 흐름 테스트 279 8.2 Power Apps에서 API 사용하기 280 __8.2.1 Power Apps란? 280 __8.2.2 캔버스 앱 편집하기 282 __8.2.3 PowerFX 코드 입력 284 __8.2.4 Power Automate의 흐름 할당하기 286 __8.2.5 버튼에서 AccessToOpenAI 흐름 실행하기 287 __8.2.6 앱 실행하기 288 __8.2.7 어떤 애플리케이션에서도 사용할 수 있다 289 8.3 데스크톱용 Power Automate에서 API 사용하기 289 __8.3.1 데스크톱용 Power Automate란? 289 __8.3.2 흐름 편집 291 __8.3.3 OpenAI API에 접근하기 294 __8.3.4 JSON 데이터를 사용자 지정 개체로 변환하기 297 __8.3.5 결과 표시 299 __8.3.6 흐름 실행하기 301 CHAPTER 9 노코드/매크로에서 API 사용하기 302 9.1 Click에서 사용하기 302 __9.1.1 Click이란? 302 __9.1.2 애플리케이션 편집하기 304 __9.1.3 요소 편집 307 __9.1.4 ClickFlow 309 __9.1.5 맞춤 ClickFlow 작성하기 310 __9.1.6 맞춤 ClickFlow 사용하기 316 __9.1.7 애플리케이션 실행하기 318 9.2 Google Apps Script에서 사용하기 319 __9.2.1 Google Apps Script란? 319 __9.2.2 GAS의 스크립트 편집기 320 __9.2.3 OpenAI API용 함수 만들기 322 __9.2.4 테스트용 함수 준비하기 324 __9.2.5 스크립트 ID 확인하기 327 __9.2.6 스프레드시트에서 사용하기 328 __9.2.7 GAS 열기 329 __9.2.8 스크립트 입력 331 __9.2.9 매크로 가져오기 332 __9.2.10 매크로 실행하기 333 __9.2.11 다양한 구글 서비스에서 호출하기 334 9.3 AppSheet에서 사용하기 334 __9.3.1 AppSheet란? 334 __9.3.2 AppSheet의 앱 편집 화면 335 __9.3.3 데이터베이스 편집하기 337 __9.3.4 AppSheet에서 Table 1 편집하기 340 __9.3.5 View 편집하기 341 __9.3.6 Automation 작성하기 342 __9.3.7 OpenAI API에 접근하는 단계 생성 345 __9.3.8 레코드를 업데이트하는 단계 생성 349 __9.3.9 앱 동작 확인하기 352 9.4 Office Script에서 사용하기 354 __9.4.1 Office Script란? 354 __9.4.2 Office Script 작성하기 355 __9.4.3 실행하기 360 __9.4.4 Office Script는 매우 강력한 도구가 될 언어 361 찾아보기 363 |
Tuyano Syoda,しょうだ つやの,掌田 津耶乃
쇼다 츠야노의 다른 상품
김모세의 다른 상품
|
안녕하세요 이 책의 역자입니다.
2024-07-23
2022년 말, ChatGPT가 세상에 모습을 드러냈습니다. 어떤 질문을 하더라도 그럴싸한 대답을 해주는, 신기하지만 때로는 엉뚱한 대답을 만들어냈기 때문에 비아냥에 가까운 놀림을 받기도 했습니다. 하지만 현재 생성형 AI의 시발주자인 ChatGPT는 우리 생활에 깊숙이 파고들었습니다. 마치 원래 그 자리에 있던 것처럼 말이죠. 그리고 이제 어디에서나 ChatGPT로 대표되는 생성형 AI를 찾아볼 수 있게 되었습니다.
ChatGPT가 사용하는 AI 모델은 OpenAI API입니다. 개발사인 오픈AI는 이를 대중에게 공개했습니다. OpenAI API는 많은 장점이 있지만 그중에서도 누구나 쉽게 커스터마이즈해서 사용할 수 있다는 점을 들 수 있습니다. 대화형 인터페이스의 사용을 넘어 여러분이 개발하는 프로그램 안에서 AI와 정보를 주고받고, 원하는 용도에 맞는 AI 봇을 만들 수 있으며, 이미지의 생성 및 편집이 가능하고, 고유한 정보를 학습시킨 오리지널 AI 모델을 만들어낼 수도 있습니다.
이 책은 수많은 장점을 지닌 OpenAI API의 활용법을 다룹니다. 우리에게 너무도 친숙한 프로그래밍 언어인 파이썬과 자바스크립트(Node.js)를 사용하며 후반부에서는 시대의 흐름에 맞춰 노코드 도구를 사용한 OpneAI API 활용법도 알려줍니다. 이 책이 여러분의 아이디어를 표현하는 데 많은 도움이 되기를 바랍니다.
|
|
원칙적으로는 유료이지만 API가 어떤 것인지 잠깐 사용해보고 싶은 정도라면 요금을 지불하지 않고 사용할 수 있다. / OpenAI API는 계정 등록 시 5달러의 무료 플랜을 제공하므로 그 플랜 안에서 무료로 사용할 수 있다. 고작 5달러라고 생각할 수도 있겠지만 앞서 설명한 것처럼 이용 방식에 따라 수백만 번 정도 접근할 수 있으므로 부족하지 않다. / 5달러 무료 플랜은 3개월 간 유효하므로 학습 기간 동안 충분히 사용할 수 있다. 또한 지불 정보(신용카드 정보)는 유료 플랜으로 전환할 때 등록하므로 사용하지 않고 방치하더라도 임의로 요금이 청구되지 않는다.
--- p.4 플라스크에서는 함수에 특별한 값(데커레이터)을 붙여서 핸들러를 정의했다. Express에서는 Express 객체의 get 등의 메서드를 사용해서 핸들러를 작성한다. 첫 번째 인수에는 경로를 지정하고, 두 번째 인수에는 함수를 지정한다. 이를 통해 지정한 경로에 접근하면 준비한 함수가 실행된다. / 이 함수는 최소 두 개의 인수를 갖는다. 이 인수는 Request와 Response라는 객체로, 각각 클라이언트로부터 전송된 요청과 서버로부터 클라이언트에 반환하는 응답 정보를 관리한다. / 이 함수에서 필요에 따라 프로세스를 수행하고 마지막에 Response의 render 메서드로 페이지를 작성한다. render는 첫 번째 인수에 지정한 템플릿 파일을 렌더링하고 결과를 클라이언트로 출력한다. 두 번째 인수에는 템플릿에 전달하는 값을 객체 안에 모아서 지정할 수 있다. 그러면 객체 안의 값을 템플릿 측에서 값으로 사용할 수 있다. --- p.45 Chat Completion은 챗봇과 같은 대화형 응답(interactive response)을 생성하기 위해 설계된 모델이다. 이전 대화와 컨텍스트를 고려하면서 응답을 생성한다. / Chat Completion은 캐주얼한 대화, 고객 지원, 질의 응답 등 대화형 응답을 필요로 하는 시나리오에 최적화된 모델이다. / 종합하면 Completions API는 범용적인 텍스트를 생성하기 위해 사용되고, Chat Completions API는 대화형 응답을 생성하기 위해 특별히 설계되었다고 할 수 있다. --- p.148 메서드는 POST를 지정하고 헤더 정보에 Content-Type과 Authorization을 전달한다. 지금까지 여러 차례 구현했으므로 익숙할 것이다. / 핵심인 바디 부분에는 prompt, n, size값을 정리한 객체를 준비한 뒤 JSON.stringify를 이용해 텍스트화하여 지정한다. 내용은 다르지만 그 동작은 같다. fetch는 비동기 함수이므로 여기서는 then으로 콜백 처리를 준비한다. 그 안에서 한 차례 더 비동기인 json을 호출하고 then에서 json의 콜백 처리를 준비한다. 그리고 API에서 받은 값을 처리한다. --- p.191 반환값 안에 있는 data에는 Embedding한 결과가 모여 있다. 배열로 돼 있으며 각 항목의 embedding에 벡터 데이터(실수 배열)를 저장한다. Embedding 결과를 활용하고 싶을 때는 여기에 있는 벡터 데이터를 사용한다. / 이 벡터 데이터는 text-embedding-ada-002를 사용하는 경우 1536개의 실수 배열로 이루어져 있다. 즉 이 모델에서는 모든 텍스트를 1536개 지표를 기준으로 수치화한다. Embedding 모델에 따라 지표 수도 달라진다. / 이후 새로운 모델이 릴리스돼 지표 수가 증가하면 보다 명확하게 콘텐츠의 의미를 파악할 수 있다. Embedding을 통해 얻어지는 벡터 데이터 내용 또한 모델에 따라 다르다. --- p.242 Power Automate에서는 흐름(flow)이라 불리는 것을 작성해 프로세스를 구현한다. 흐름은 다양한 서비스에 접근해 결과를 처리하는 일련의 작업을 정의하기 위한 것이다. Power Automate로 무언가 작업을 수행하려면 먼저 수행할 내용에 맞는 흐름을 작성하고 그 흐름 안에 다양한 프로세스를 조합한다. (...) Power Automate는 그 자체로 어떤 프로세스를 수행한다기보다 다른 서비스와 연동하는 프로세스를 조합한다. 따라서 OpenAI API를 이용하더라도 반환값을 Power Automate 안에서 소비하는 일은 거의 없다. 값을 받으면 그 값을 엑셀 시트에 출력하거나 원드라이브(OneDrive)에 파일을 저장하거나 다른 웹 서비스에 데이터를 전송하는 식으로 사용하는 것이 일반적이다. 여기서는 그런 예의 하나로 Power Apps에서 호출하여 사용하는 흐름을 작성해본다. --- p.256 |
|
강력한 무기 OpenAI API로 나만의 AI 구현하기
2022년 말 혜성같이 등장한 ChatGPT는 어느새 일상에 깊숙이 파고들었다. ChatGPT 개발사인 오픈AI는 AI 모델을 누구나 쉽게 커스터마이즈할 수 있는 API를 공개했다. 바로 OpenAI API다. AI 모델을 위한 API로, 관련 지식이 없어도 누구나 이용할 수 있는 API다. 단 1달러로 API를 수백 번 사용할 수 있고, 등록만 하면 곧바로 테스트해볼 수도 있다. AI 봇이나 이미지 생성, 정보를 학습시킨 오리지널 AI 모델 제작 등 원하는 용도로 쉽게 활용할 수 있다. 이 책은 AI 시대에 강력한 무기가 되어줄 OpenAI API 활용법을 체계적으로 담아냈다. 많은 개발자에게 친숙한 프로그래밍 언어인 파이썬과 자바스크립트(Node.js)를 사용한 다양한 예제를 제공하는 것은 물론 노코드 도구를 통한 OpenAI API 사용법까지 소개한다. 1장은 OpenAI API의 개념을 살펴본 후 본격적으로 예제에 들어가기 앞서 계정 등록, 샘플 동작 확인 등 API를 사용해 개발할 수 있는 환경을 준비한다. 2장은 파이썬과 Node.js의 라이브러리를 사용해 OpenAI API에 접근하는 방법을 설명하며, 웹 애플리케이션과 웹페이지에서 API를 사용하는 샘플을 작성해본다. 3장은 Completions API를 사용해 사전 만들기, AI 봇 만들기, Q&A용 AI 제작 등을 해보면서 기본적인 프롬프트를 작성법을, 4장은 Completions API의 다양한 옵션 기능인 에러 처리와 모델, 옵션 인수를 알아본다. 5장은 채팅을 이용하는 Chat Completion과 음성 데이터를 텍스트로 생성하는 Transcription API를 설명하면서 채팅창을 만들고 음성을 텍스트로 추출해보고, 6장은 이미지 생성 기능인 Image Generation을 살펴보면서 이미지를 생성하고 편집하는 방법을 알아본다. 7장은 기존의 AI 모델을 기반으로 자체 데이터를 추가해 나만의 모델을 만들어보고, 8장은 파워 플랫폼 환경인 파워 오토메이트, 파워 앱스, 데스크톱용 파워 오토메이트 등에서 API를 사용하는 방법을 설명한다. 마지막으로 9장은 클릭이나 구글 앱시트, 앱스 스크립트, 오피스 스크립트와 같은 노코드 개발 도구에서의 사용법을 살펴본다. AI 시대를 살아가고 있는 지금, AI 활용 능력을 높이고 싶다면 다양한 예제를 통해 OpenAI API 활용법을 쉽게 알려주는 이 책이 좋은 지침서가 되어줄 것이다. 주요 내용 ● OpenAI API의 기본 개념 ● 파이썬과 자바스크립트에서의 OpenAI API 활용법 ● 원하는 결과를 얻기 위한 프롬프트 작성법 ● DALL-E를 이용한 이미지 생성과 설정법 ● 자체 데이터를 기반으로 한 나만의 모델 제작 ● 파워 플랫폼, 노코드, 매크로 환경에서의 API 사용법 |