Chat GPT API 사용법

2023. 3. 27. 11:51·Project

며칠 전 유튜버 조코딩 님이 chat gpt를 이용한 챗도지 만들기를 실시간 강의로 하신 적이 있었다. 나도 GPT API를 사용해보고 싶었는데 어떻게 해야 할지 감을 못 잡고 있던 차에 좋은 강의가 있어 바로 들어가서 따라해 봤다.
 
강의는 정말 초보자도 따라만 하면 될 정도로 쉬웠고 잘 가르쳐 주셔서 쉽게 이해할 수 있었다. 이 글을 읽어도 이해가 가질 않는다면 조코딩님의 강의를 듣는것을 적극 추천한다.
 
아 시작하기에 앞서 api에 대한기초내용은 이전 글에 포스팅해놓았으니 참고하면 좋을 것 같다. 그리고 백엔드는 node.js 프론트는 html, css, js만 사용했다.


API KEY 발급

가장 중요한 KEY는 GPT 홈페이지에서 발급 받을 수 있으며 삭제도 가능하다. 하지만 처음 발급 때 보여주는 KEY번호는 창을 닫으면 볼 수 없으니 메모장에 적어놓는 것을 추천한다.

GPT API KEY 발급

또 GPT를 목적에 맞게 사용하기 위해서는 조금의 기능 수정이 필요하다. 아래는 그 기능 수정을 위한 사진과 설명이다.

SYSTEM
: 쉽게 말해서 GPT의 역할을 정해주는 것이다. 이 때 역할을 최대한 자세하게 적는 것이 좋다.
 
예를 들어 옷을 추천하는 프로그램을 구현하고 싶다면 '모든 질문에 명확한 대답을 하며 아름다운 색 조합에 대해 자세하게 알고있는 패션 컨설턴트' 와 같이 GPT가 질문을 회피할 수 없고 옷의 색감또한 알려 줄 수 있는 패션 컨설턴트로 만드는 것이다.
 
쉽게 말해서 GPT를 가스라이팅 하는 창 이라고 생각하면 좋다.
 
USER
: 유저가 할 말을 적는 곳이다. 이게 필요한 이유는 Few-Shot Learning 을 할 수 있기 때문이다. Few-Shot Learning 이란 예를 들어서 유저가 강아지 라고 질문을 했을 때 기본 GPT는 강아지의 대한 설명을 할 것이다.

하지만 USER : 강아지 ,assistant : 멍멍 이렇게 gpt를 학습시키면 나중에 유저가 '고양이' 라는 단어를 보내면 gpt는 '야옹' 이라는 대답을 할 수 있도록 교육 시키는 방법이라고 보면 된다.
 
ASSISTANT
: GPT의 답변이다. 위에서 설명 한 내용과 같다.
 
TEMPERATURE
: 1로 갈수록 GPT는 같은 질문에 거의 같은 대답을 한다. GPT의 대답의 랜덤 값을 조절하는 옵션이다.
이 옵션을 0으로 한다면 너무 질문과는 상관없는 대답을 할 수 있으므로 사용 목적에 따라 적당히 조절해야한다.
 
MAXIMUM LENGTH
: GPT의 답변의 최대 길이이다. 이게 길면 자세한 대답을 할 수 있고 짧으면 대답이 중간에 끊길 수 있다. 하지만 무조건 길게 하면 돈이 조금 들 수 있으니 본인 선택에 따라 조절하면 된다.
 
요금은 1000 토큰당 0.002$ 인데 1000 토큰이 어느정도인지는 여기에서 확인 할 수 있다. 대충 알파벳 4글자에 1토큰 이라고 생각하면 된다. 
 
TOP P
: 이것도 TEMPERATURE 하고 비슷한 개념인데 질문에 대한 대답으로 몇 퍼센트 이상의 확률을 가진 답변을 할지 정하는 것이다.
 
예를 들자면 내가 좋아하는 동물은? 이라는 질문을 받았을 때 강아지 0.5 고양이 0.3 거북이 0.1 핸드폰 0.0001 이라는 확률을 가진다고 가정해보자
 
TOP P를 0.5라고 하면 '강아지'만 나올 수 있고 0.8이라고 하면 '강아지'와 '고양이' 만 나올 수 있다. 이렇게 가장 높은 확률부터 아래로 더한 후에 TOP P에 설정된 값과 같다면 그 안에 있는 데이터만 나올 수 있다는 뜻이다.
 
FREQUECY PENALTY 
: 빈도수 패널티이다. GPT가 가끔 똑같은 대답을 할 때가 있는데 이러한 현상을 줄이기 위한 옵션이다.


OPEN AI 라이브러리 사용법
1. npm 사이트에 들어가 open ai 검색 후 open ai 다운
 

2. API 키 부분에 발급받은 API 넣은 후 실행
 
3. prompt 인 hello world 뒤에 들어갈 아무 단어가 출력되면 성공!
 
아 주의해야할점은 completion 함수에 await이 있기 때문에 async 함수로 한 번 감싸줘야 한다.
예시)

async function apiCall(){
  const { Configuration, OpenAIApi } = require("openai");

  const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
  });
  const openai = new OpenAIApi(configuration);

  const completion = await openai.createCompletion({
    model: "text-davinci-003",
    prompt: "Hello world",
  });
}
console.log(completion.data.choices[0].text);
반응형
저작자표시 (새창열림)

'Project' 카테고리의 다른 글

파이썬을 이용한 리듬게임 만들기  (0) 2023.06.21
라즈베리 파이를 이용한 게임기 만들기  (0) 2023.06.21
Chat GPT API를 이용한 오늘 뭐입지? 만들기  (4) 2023.04.03
C#을 이용한 태양계 시뮬레이션 만들기  (0) 2022.12.13
T story 블로그 클론 코딩  (2) 2022.10.01
'Project' 카테고리의 다른 글
  • 라즈베리 파이를 이용한 게임기 만들기
  • Chat GPT API를 이용한 오늘 뭐입지? 만들기
  • C#을 이용한 태양계 시뮬레이션 만들기
  • T story 블로그 클론 코딩
re-hwi
re-hwi
재휘의 개발일기
    반응형
  • re-hwi
    Dvelopment blog
    re-hwi
  • 전체
    오늘
    어제
    • 재휘의 개발일기 (167)
      • 개발 (25)
        • 소프트웨어 공학 (25)
      • Python (18)
        • numpy (8)
      • OS (23)
        • 쉽게 배우는 운영체제 (23)
      • Front end (1)
        • HTML (6)
        • CSS (9)
        • JavaScript (18)
        • React (2)
        • Vue.js (5)
        • TypeScript (5)
        • Sass (3)
      • Algorithm (1)
        • 파이썬 알고리즘 인터뷰 (2)
        • 자료구조와 함께 배우는 알고리즘 (20)
      • Android (2)
        • 안드로이드 앱 프로그래밍 with 코틀린 (2)
      • Project (15)
      • Network (0)
      • etc (12)
        • 이것저것 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    뷰
    오블완
    typeScript
    numpy
    REACT
    정처기
    프론트엔드
    HTML
    파이썬
    자료구조
    티스토리챌린지
    FE
    vue
    알고리즘
    개발
    표
    js
    정보처리기사
    리액트
    컴포넌트
    JavaScript
    CSS
    타입스크립트
    연결리스트
    자료흐름도
    플레이리스트
    sass
    pwa
    scss
    TS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
re-hwi
Chat GPT API 사용법
상단으로

티스토리툴바