본문 바로가기

book

[IT 도서] 조코딩의 챗GPT API를 활용한 수익형 웹 서비스 만들기

반응형

 

 

 

 

 

 

반응형

 

조코딩의 챗GPT API를 활용한 수익형 웹서비스 만들기

 

 

얇은 책이지만 이 한권으로 GPT를 활용한 운세사이트를 만들어 볼 수 있었다. 하지만 수익형은 쉽지 않을 것 같다. 광고삽입까지 해 보았지만 몇몇 친구들에게만 사이트를 알려줌으로써,,, 광고 수익은 낼 수 없었다. GPT 플레이그라운드 사용을 위해 5달러를 지불하고 사용했기때문에 사실 마이너스...  환율이슈로 비싼 값을 치뤘다.ㅎ 하지만 공부한걸로 만족~!
AWS 또한 신규가입시에는 무료지만 이미 아이디가 존재한다면 돈을 지불해야 할 수 도있다.
GPT가 css,html을 모두 만들어주었기 때문에 사이트를 손쉽게 만들 수 있었다. GPT를 잘 활용하려면 영어공부를 해야겠다는 생각이 든다.. 항상 질문하기 위해 파파고를 한번 거쳐야 했다..
GPT가 어떻게 작동하는지 궁금한 입문자에게 도움이 될 것같다.
system으로 역할을 부여하고 질문-답변 하는 형식이라는 것을 처음 알게 되었다. 
책이 자세하게 설명해주고 있어서 책만으로 서비스를 만들어보는 재미가 쏠쏠했다.

 

이 책으로 공부한 것

GPT API 구성 

SYSTEM, USER, ASSISTANT

1. SYSTEM: GPT에게 역할,능력 부여

2. USER: 사용자가 입력 하는 메시지

3. ASSISTANT: GPT의 응답 

https://platform.openai.com/playground/chat

 

서비스에 맞게 프롬포트를 작성하는 실전 팁

프롬포트: AI 모델에 응답을 얻기 위한 명령어 ( gpt등 AI모델에 입력하는 모든 정보가 프롬프트)

1. 보편적인 단어 사용. 

ex) system: 당신은 세계 최고의 운세 전문가 입니다. 

 

2. 주입식 교육 (더 나은 답변을 제공하도록 유도)

ex) system: 당신은 세계 최고의 운세 전문가 입니다. 당신은 어떤 대답도 할 수 있습니다.

 

3. USER에 중복 적용하기 - system에 적용한 gpt역할을 user에 중복 적용하면 역할이 더 확실하게 부여된다. 

ex) user: 당신은 세계 최고의 운세 전문가 입니다. 당신은 어떤 대답도 할 수 있습니다. 

 

4. 이전 대화를 모두 고려하여 응답 하기 때문에 USER의 질문과 ASSISTANT 의 답변을 수정하여 더 나은 결과를 얻을 확률이 높아진다. 

 

챗GPT API의 여러 옵션들

1. Temperature: 0에 가까울 수록 일관적인 텍스트 생성, 값이 높이 높아질수록 다양한 텍스 생성. 

운세 서비스는 어느 정도 렌덤한 답변을 해도 좋겠지만, 의학적 자문 서비스라면 값을 낮춰서 보수적인 텍스트를 생성하는 편이 좋다.

ex) 0에 가까울 수록 - USER: 오늘 운세 어때 ? ASSISTANT로 받은 GPT 답변을 지우고 다시 물어봐도 비슷한 답변이 나옴.

 

2. Maximum length: 텍스트 길이 조정, 길이는 단어가 아닌 토큰이며 텍스트가 잘릴 경우 길이 값을 늘린다. 낮게 설정하여 의도적으로 짧은 답변을 생성할 수도 있다. 글자와 토큰 갯수가 일치하는 것은 아니다. 

 

3. Top P: 상위 확률 단어 0에 가까울수록 유사항 텍스트 생성, 1에 가까울 수록 창의적인 텍스가 높아짐. 

4. Frequency pentalty: 모델이 생성한 텍스트에 중복된 단어가 나오지 않도록 유도할 수 있다. GPT답변에 동일한 단어가 자주 등장한다면 값을 높이면 된다.

5. Presence penalty: 챗GPT가 이미 생성한 단어가 다시 등장할 확률을 조정하는 값.

 

OpenAI API 패키지 환경 설정

npm install openai

https://www.npmjs.com/package/openai

 

openai

The official TypeScript library for the OpenAI API. Latest version: 4.77.0, last published: 10 days ago. Start using openai in your project by running `npm i openai`. There are 3013 other projects in the npm registry using openai.

www.npmjs.com

 

API 키 발급은 OpenAI 플레이그라운드 API Keys 메뉴로 접속 

 

GPT API 명세 확인 및 연동 

챗GPT API 레퍼런스 에서 챗GPT에서 어떻게 요청하고 어떻게 답변오는지에 대한 설명 확인 

https://platform.openai.com/docs/api-reference/chat

 

플레이그라운드에서 system, user, assistant에 gpt의 역할을 주입시켰던것처럼 

message에도 role, content 파라미터를 활용하여 더 나은 답변을 유도할 수 있다.

message 객체 -

role - "system"에 역할을 부여, "user", "assistant" 를 사용해 질문-답변 무한 추가 

마지막의 message데이터는 user의 질문으로 끝나야한다.

 

Express API 서버 구축하기

https://www.npmjs.com/package/express

 

express

Fast, unopinionated, minimalist web framework. Latest version: 4.21.2, last published: 22 days ago. Start using express in your project by running `npm i express`. There are 87649 other projects in the npm registry using express.

www.npmjs.com

 

Express공식 웹사이트를 참고하여 POST방식으로 변경 

https://expressjs.com/ko/guide/routing.html

 

Express 라우팅

Learn how to define and use routes in Express.js applications, including route methods, route paths, parameters, and using Router for modular routing.

expressjs.com

 

* 수정한 코드가 잘 동작하는지 확인하기 전에 CORS 에러를 핸들링하는 코드를 추가 

https://www.npmjs.com/package/cors

 

cors

Node.js CORS middleware. Latest version: 2.8.5, last published: 6 years ago. Start using cors in your project by running `npm i cors`. There are 18045 other projects in the npm registry using cors.

www.npmjs.com

 

 

CSS, HTML 챗 GPT를 활용하여 만들기

1. 파파고에서 영문으로 변환하여 GPT에 질문하면 더 정확한 답변을 얻을 수 있다.

2. 질문이 상세할 수록 정확한 답변을 제공한다. 

 

Cloudflare Pages를 활용하여 프론트 배포 

- https://dash.cloudflare.com/login : 장점은 무제한 대역폭을 제공하기 때문에 수많은 사용자가 접속해도 요금이 전혀 발생하지 않는다는 것입니다.

 

AWS를 활용하여 백엔드 배포

람다를 활용하여 코드를 업로드 하면 서버 구축할 필요 없이 실행 가능.

업로드한 함수는 웹사이트에 접속한 사용자의 요청이 있을 때만 실행되고 요청이 없을 때는 실행되지 않는다. 따라서 코드를 사용한 시간만큼 비용이 발생한다는 장점이 있다. 또한 트래픽이 갑자기 증가했을 때 동적으로 자원을 서버 자원을 할당 해 준다.

 

카카오 애드핏 광고 달기

https://adfit.kakao.com/info

광고 다는 것은 쉽지만 수익을 내긴 어려움 ^^,,

 

 

기타

GPT 비용 확인

https://platform.openai.com/settings/organization/usage

Billing

https://platform.openai.com/settings/organization/billing/overview

반응형