|
이번에는 요새 최고로 핫한 OpenAI 社에서 제공하는 각종 OpenAPI에 대한 활용법을 소개하는 내용읃 담고 있는 도서에 대한 리뷰를 써본다. 본 도서의 옮긴이 분은 페이스북 친구 분이신데, 지난 번에 리뷰한 "AWS 시스템 개발 스킬업" 도서를 번역하신 분과 같은 분이시다. (그 외에도 "업무에 활용하는 node.js", "인베스트먼트 언리미티드" 등 많은 도서에 대한 번역 활동을 하고 계시며 황성활 활동을 하고 계심.) 지난 번 AWS 도서의 내용이 무척 괜찮았기에 이번 도서도 기대가 되었었고 읽어보니 역시나 이번 내용도 굉장히 유용한 내용이었다. ![]() 도서의 내용은 "파이썬과 자바스크립트로 배우는 OpenAI 프로그래밍"이라는 제목 그대로, OpenAI에서 제공하는 웹 기반의 API를 활용함에 있어 Python(flask 기반)과 JavaScript(Node.js 기반) 언어를 사용하고 있기 때문에, 두 언어를 모두 모른다면 쪼~끔 내용을 이해하는게 불편할 수 있다. 그렇지만 코드량이 길지 않고 함수명 등이 가독성 있게 작명 되어 있기 때문에 뭐든 프로그래밍 언어를 기존에 공부해본 사람이라면 내용을 이해하는데 크게 문제는 없을 것이라 생각된다. 우선 본 도서의 내용을 실습하기 위해서는 OpenAI 개발자 페이지에서 OpenAI의 API Key를 발급 받아야 되는데, API Key는 아래와 같이 필요한만큼 여려 개 무료로 발급이 가능하다. ![]() ![]() OpenAI 개발자 페이지의 API Key 발급 화면 (https://platform.openai.com/api-keys) 그런데, 실습 예제 코드 실행 시 아래와 같은 용량 초과 에러가 났고, 이 에러 때문에 개인적으로 한참을 고생했다. 다른 사람 계정으로 API Key를 만들어도 동일했고, 신용카드를 등록하면 된다는 말도 있어서 카드 등록까지 했는데도 동일했다. openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details. ![]() 가장 simple한 Flask기반 GPT 웹 서비스 구현 위에서 언급한 바와 같이 모든 예제는 Python+Flask와 JavaScript+Node.js로의 두 가지 형태로 구성되어 있어, 둘 중 하나만으로 취사 선택하여 실습을 진행해도 된다. 이 때 사용되는 OpenAI의 기본 API는 Completion API라 부르며, 어떤 언어 모델을 쓸지, 토큰의 최대 길이는 얼마로 할지 등의 환경변수와 더불어 사용자가 입력(질의)하는 프롬프트 텍스트를 함께 전송하면, 그 내용에 이어지는 답변 텍스트를 반환하는 기능을 수행한다. Completion API 외에도 Chat Completion API라는 것도 있는데, Completion API가 주어진 입력을 바탕으로 다음에 이어질 텍스트를 1회성으로 생성하는 범용적인 언어 모델 기반의 API라면, Chat Completion API는 챗봇과 같은 여러 번의 대화형 응답을 생성하기 위해 설계된 모델이며 이전 대화와 컨텍스트를 고려하면서 응답을 생성한다. 본 도서의 5장 이전까지는 Completion API에 대한 내용을 다루고 있으며, 5장에서는 Chat Completion API에 대한 내용을 담고 있다. ![]() 5장에서는 그 외에도 Transcription API라는 API에 대해서도 설명하고 있는데, *.mp3나 *.wav와 같은 오디오 파일로부터 텍스트를 생성하는 API이다. 일종의 STT(Speech-To-Text) 기능을 수행하는 API라고 보면 된다. 참고로, Transcription API와 유사한 기능의 Translation API라는 것도 있는데, 이 API는 음성 데이터를 텍스트로 추출하되, 음성 내용이 영어가 아니더라도 자동으로 영어로 변역하여 추출하는 번역 기능까지 포함된 기능을 가진 API이다. 그리고, 6장에서는 이미지 생성에 대한 API를 다루고 있다. 잘 알다시피 DALL-E 서비스는 OpenAI의 대표적인 생성형 AI 기반의 이미지 생성 서비스이고, 본 도서에서 설명하고 있는 이미지 생성 API도 바로 이 DALL-E 서비스를 이용한 Image Generation API에 대해서이다. 개인적으로 생성형 AI 기반 이미지 생성 부분에 평소 관심이 많아서 가장 재미있게 읽고 테스트했던 chapter이다. ^^ ![]() ![]() 나 자신을 떠올리며, "집에서 책을 많이 읽는 SW개발자"를 그려달라고 요청해 보았다. ![]() 실제 생성된 이미지.. 뭐, 제대로 그린 듯..^^; 또한, 7장에서는 모델과 데이터 튜닝에 대해서 다루고 있으며, 8장에서는 Microsoft의 Power Automate라는 웹 기반 서비스(이 책에서 처음 봤음.. ^^;)에서 OpenAI의 API를 활용하는 방법을 다루고 있다. 마지막 9장에서는 Click이라는 일본의 노코드 서비스(참고로, 이 도서의 원서는 일본에서 발행된 도서임)와 Google Apps Script에서 OpenAI API를 사용하는 부분에 대해 설명하고 있다. 특히 8~9장은 단순히 챗GPT와 같이 단독으로 사용하는 형태가 아닌, 타 서비스와 연계하여 API를 사용하는 측면의 예시에 대한 좋은 참고가 된 것 같다. ![]() 결과적으로, 본 도서는 다음과 같은 분들이 읽으면 좋을 것 같다.
본 도서에서 다루고 있는 예제 코드의 내용은 그리 복잡하지 않고 누구나 쉽게 실습을 따라서 구현할 수 있으므로, 개개인의 개발 숙련도와 관련 없이 책을 이해하는데 문제는 없을 것 같다. 특히, 실습 예제들이 요즘 대세인 생성형 AI 기능을 구현할 수 있는 API를 활용하는 부분이다보니, 지루함 없이 흥미있게 내용을 접할 수 있었다. 요새 많은 AI 스타트업들 중에는 실제 AI 모델 자체를 연구하고 만드는 곳도 있겠지만, 이러한 생성형 AI 기능을 제공하는 OpenAPI와 같은 기존 서비스를 활용 및 가공하여 부가가치를 창출하는 서비스들을 개발하는 곳도 많은 것으로 알고 있는데, 그 중 기존 서비스를 2차적으로 활용하는 후자의 비즈니스를 준비하고자 하는 목적을 가진 분들에게는 분명 본 도서가 입문서로서 많은 도움이 될 것이라 생각된다. |
제목을 보면 파이썬도 알아야 하고, 자바스크립트도 알아야 하는 거 아닌가 싶긴 한데, 책 후반부에는 파이썬도 자바스크립트를 몰라도 openai api 를 활용하는 방법을 소개하기 때문에 완전 초보자도 본인만의 ai 프로그램을 만드는 데에 부담은 없을 것 같다.![]() 코드와 예시가 많고, 설명이 상세하며, 예제 코드도 내가 어느 부분만 수정하면 되는지 주석으로 써있어서 실습도 어렵지 않았다. ☆ openAI API 활용에 대해서 다양한 방법으로 써있어서 재미있게 볼 수 있던 책인 것 같다. |
|
최근 하루가 다르게 변화하는 AI 시장에서 가장 뜨거운 감자는 여전히 OpenAI라고 생각된다. 그러한 OpenAI가 일반인들을 대상으로 API를 출시했으니, 인공지능에 관심이 있는 필자가 관심을 가지지 않을 수가 없었다. 마침 관심있게 보고 있던 와중에 우연히 이 책을 발견하게 되었고, python과 javascript를 다룰 줄 알았기에 나에게 적합한 책이다 싶어 읽어보게 되었다. 원래는 전공생이기도 하고 새로운 프레임워크를 다뤄보았기에 보통 새로운 내용을 익힐 때는 주로 책이 아닌 구글링을 선호하는 편이다. 그럼에도 불구하고 이 책을 고른 이유는 OpenAI부터 DALL-E, 심지어 이를 노코드로 응용할 수 있는 내용까지 상당히 체계적으로 정리되어 있었기 때문이다. 그렇게 읽어보게 되고, 읽은 뒤에 생각해봤을 때 이 책의 장점은 크게 세 가지 정도로 이야기 할 수 있을 것 같다. 첫째, 난이도가 상당히 낮은 편이다. 물론 입문자가 이 책만으로 이 프로젝트를 모두 할 수 있냐는 질문에는 당연히 부정적이다. 사실 python과 자바스크립트도 모르는데 프로젝트를 한다는 건 말이 안되고, 질문을 조금 바꿔서 python과 자바스크립트 기본기를 잘 다졌다면 이 프로젝트를 따라하는 것에는 문제가 없을 것이라고 생각된다. 가능한 작업을 단순화하고, 잘 설명한 책이라고 생각한다. 둘째, 내용이 구체적으로 잘 설명되어있다. OpenAPI 사용법과 관련하여 구글링을 진행해보았을 때 API부터 DALL-E, 그리고 노코드 응용까지의 방대한 자료를 이렇게 체계적으로 정리한 내용은 거의 없었다시피 했다. 셋째, 노코드/매크로 응용이다. 제목이 '파이썬과 자바스크립트로 배우는'임에도 노코드/매크로 응용을 넣은 부분에 박수를 보내고 싶다. 이 부분은 코딩을 거의 모르는 사람도 따라할 수 있을 정도이고, 단순하지만 강력한 사용법이라 쉽게 응용할 수 있을 것이라고 생각된다. 파이썬, 웹프로그래밍을 어느 정도 다뤄봤고, OpenAPI를 써서 프로젝트를 진행하고 싶은 사람들에게는 정말 추천하고 싶은 책이다. 입문자의 경우에는 조금 어려울 수 있으니 사전에 공부를 하고 프로젝트를 진행할 것을 추천한다. "제이펍 출판사의 도서 지원을 받아 작성한 리뷰입니다." |
|
book reviews sponsored by publishers (Lang : KR) 제이펍 출판사 IT 전문서 리뷰어 3기 선발이 되어 책을 받았다. Open AI API를 가지고 무언가를 개발해보고 싶은데, 어떻게 해야할지 막막하고 일일이 구글링 하자니 상당히 귀찮음을 느끼고 있던 필자였다. 필자 이외에도 이런 귀찮음 성질은 IT쪽 사람들이라면 대부분 앓고있는 성질이라 생각된다. 그런 부류들을 위한 핸즈온 도서로 딱 알맞은 길잡이다. 뇌를 비우고 무지성으로 따라하기에는 중간중간마다 생각이라는걸 해야하는 요소에 부딪힌다. Open AI API를 활용해서 프로젝트를 진행하여 본인의 포트폴리오를 꾸미거나 기술 면접에서 우수성을 뽐내고 싶다면 필자 생각에는 상당히 독특한 프로젝트라고 생각된다. 물론 필자는 개발자가 아닌 침투 테스터 쪽이라 완전 자세히 까지는 모르겠지만, 현재 개발자 준비과정 커리큘럼에는 없는 부분이기에 본인만의 눈에 띄는 포트폴리오를 구성할 수 있지 않을까 싶다. 핸즈온 하기에 필요한 사전지식은 파이썬, Node.js 2개 뿐이라고 생각한다. 이 책은 파이썬과 Node.js를 알고 있는 사람이 심심해서 새로운 프로젝트를 찾다가 고를만한 책이지 이걸로 언어를 배우거나 AI에서의 무언가 지식을 뽑아먹는다? 라는 느낌은 전혀 아니다. 난이도는 입문자에게는 어려울 수 있으니 참고하여 선택하길 권장한다. --- "제이펍 출판사의 도서 지원을 받아 작성한 리뷰입니다." --- https://youtube.com/@Certa6 제 유튜브 채널입니다. 도움이 됐다면, 구독 부탁합니다! 주변에 제 블로그, 유튜브를 알려주시면 감사하겠습니다~! :) Thank you for watching the blog. Please subscribe! I would appreciate it if you could share the blog around you. --- #제이펍 #제이펍서평단 #출판사 #제이펍출판사 #서평단 #베타리더 #리뷰어 #jpub #hackers #hacker #hacking #anonymous #cybersecurity #kalilinux #programming #hack #hacked #technology #cybercrime #linux #ethicalhacking #coding #programmer #computerscience #malware #hacks #bhfyp #redteam #tryhackme #hackthebox
|
|
복수성이라는 용어가 있습니다. 어떤 과학적 발견이나 기계적 발명품이 동시에 다른 공간에서 발견/발명되는 현상을 일컫는 건데요. 태양의 흑점, 전기 베터리, X선의 돌연변이 발생등이 동시에 여러 나라에서 발견/발명된 것이라고 하네요. 이런 일이 발생하는 건, 아마 "토대" 때문일겁니다. 태양의 흑점을 발견할 만한 이론과 도구가 있어야 태양의 흑점을 발견할 수 있고, X선이 있어야 돌연변이 발생률에 대한 문제 제기를 할 수 있을 테니까요. 최근 몇년간 엄청난 속도로 발전하고 있는 인공지능 분야도 비슷하죠. 비슷한 기능과 성능을 가진 서비스들이 대규모 IT 회사들마다 튀어나오고 있으니까요. 이런 현실을 앞당긴 '토대'인 챗GPT를 만든 회사가 openAI 입니다. 그리고, openAI는 챗GPT 서비스나 앱을 만들었을 뿐 아니라 이 기능을 외부 서비스나 앱에서 가져다 쓸 수 있는 API도 제공하고 있습니다. 이 책은 openAI의 API를 설명하는 책입니다. API 설명할때는 간단한 설명과 더불어 파이썬과 자바스크립트 예제가 있습니다. 그리고 API를 사용해서 간단한 앱을 만들어볼 수 있는 로우코드 툴들을 몇개 소개하고 있군요. 특이한점은 일본인 저자가 쓴 책이다 보니 일본에서 서비스하는 클릭이라는 로우코드 서비스로 앱을 만드는 과정도 설명하고 있습니다. 제 소견에는, 요즘 인공지능을 배우는 초심자라면 이런 책이 필요하지 않을까 싶었습니다. 빠르게 서비스를 이해하고 실제 동작하는 결과를 만들어 볼 수 있거든요. 인공지능 자체를 공부하는 건, 이론적으로도 힘들고 결과를 만드는 것도 힘들지만, 그런 공부를 하기 전에 이러한 책을 보면서, 재미있는 앱을 만들어본다면 더 빠르고 친근하게 인공지능 분야를 배울 수 있을 테니까요. 우리는, 그 어느 때보다도 빠르게 변하는 시대에 살고 있습니다. 변화를 이끄는 기술이 인공지능 임은 모두 알고 계시는데요. 그 인공지능들은 현재 꽤 수준 높은 코드를 만들어 내고 있습니다. 이 방향으로 계속 발전한다면 어렵지 않게 인공지능이 제대로 된 코딩을 하는 시대가 올거라 예측하게 됩니다. 그래서 많은 분들은 소프트웨어 개발자가 사라지는 시대가 올것으로 예상합니다. 하지만 저는 그렇게 보지 않습니다. 현재 인공지능 기술은 작업 결과물을 아주 많이 모아서 학습하고 학습한 내용을 가지고 결과를 제공해주는 기술입니다. 그 재료들이 너무 많기 때문에 마치 인간과 같은 사고과정을 거처셔 결과를 만들어 내는 것 같지만, 인공지능은 인간의 사고 과정을 거치는 게 아니라 그냥 통계적 관계를 연결해서 결과를 만들어주는 것 뿐입니다. 이런 통계적 연관 관계로 만들어진 코드가 우리가 미래에 필요한 모든 것을 표현할 수 있다면 소프트웨어 개발자의 직업이 없어지겠지만, 코드는 그보다 좀더 깊은 의미를 가진 작업 결과물이거든요. 프레드릭 브룩스는 <맨먼스 미신 20주년 판>에서 "은총알은 없다"는 설명을 하기 위해 소프트웨어 작업 "부차적 작업"과 "본질적 작업"으로 나눌 수 있다고 주장합니다. 여기서 부차적 작업은 우리가 눈으로 볼 수 있는 코딩 과정의 결과물이고 "본질적 작업"은 "추상적 개념과 구조"를 만들어 내는 작업이라고 설명합니다. 여기서 "본질적 작업"은 우리가 일률적으로 해결할 수 있는 무언가가 아니기 때문에 어떤 기술이나 패러다임으로 해결 할 수 없고, 따라서 "은총알은 없다"고 설명하는 것이죠. 인공지능으로 만드는 코드는 "부차적 작업"의 산물을 가져다가 학습한 결과로 만든 코드입니다. 따라서 인공지능이 만든 코드가 생명력을 얻으려면 "본질적 작업"이 선행되어야 합니다. 따라서 개발자가 코드를 많이 작성하지 않는 시대가 온다고 하더라도 개발자들은 조금 다른 방식으로 좀더 빠르게 개발을 하는 시대가 올것입니다. 이는 <기술중독사회>라는 책에서 켄타로 토야마도 비슷하게 이야기 합니다. "기술은 기중기"일 뿐입니다. 기술이 가교가 되어서 우리를 미래로 이끌어가는 것이 아니라 우리가 미래로 갈 때 더 잘 갈 수 있는 기중기 역할을 해주는 것 뿐이거든요. 그렇다면 현재를 살아가는 개발자들은 무얼 준비해야 할까요? 일단 코드 자체를 작성하는 건 좀더 빨리 지나쳐서 "본질적 작업"을 할 수 있는 안목과 생각 방법을 공부해야 합니다. 새로운 환경을 빠르게 적응할 수 있는 과감함과 다양한 경험도 중요하죠. 현업 개발자 입장에서는 다소 쉬운 내용이지만, 이 책을 읽으면서 이 부분에 도움을 받을 수 있겠다는 생각을 하게 되었습니다. 미래에는 인공지능 발전에 따라 지금과는 다른 소프트웨어와 서비스를 만들게 될 것입니다. 움직이는 타겟을 맞추려면 총구를 움직여야 합니다. |
|
이 책은 파이썬과 자바스크립트를 활용한 개발 방법뿐만 아니라, 노코드 툴을 이용해 AI 기능을 구현할 수 있는 다양한 팁을 제공하고 있습니다. 예를 들어, 챕터 8에서는 마이크로소프트의 Power Platform에서 OpenAI API를 사용하는 방법을 자세히 설명하여, 간단한 설정만으로도 API 흐름을 제어하고 원하는 기능을 구현할 수 있게 돕습니다. 또한, 최근 일본에서 인기를 끌고 있는 노코드 서비스 'Click'을 활용해 애플리케이션을 만드는 방법도 소개합니다. Click을 통해 UI 제작은 물론, 흐름(Flow) 설정과 입력 및 출력 관리 등을 통해 OpenAI API를 쉽게 활용한 서비스를 구축할 수 있습니다. |