etc

[ChatGPT] 챗지피티 API란? 사용방법 정리

현기 2023. 11. 2. 04:18

ChatGPTOpen AI가 만든 딥러닝 프로그램으로

대화형 인공지능 챗봇입니다.

 

Open AI는 2023년 3월에 ChatGPT API라는 새로운 서비스를 출시했습니다.

이 서비스를 사용하면 챗GPT를 나의 앱이나 제품에 쉽게 통합할 수 있습니다.

다만, API 사용은 유료이며 대화에 사용된 토큰의 크기에 따라 과금됩니다.

 

어떻게 사용하는 건지 함께 알아봅시다.😀


📝API Key 얻기

 

https://platform.openai.com/overview

 

OpenAI Platform

Explore developer resources, tutorials, API docs, and dynamic examples to get the most out of OpenAI's platform.

platform.openai.com

 

⦁ View API Keys 클릭

 

홈페이지 우측 상단 프로필 클릭 → View API Kyes

 

⦁ 시크릿 키 생성

 

 

 

API를 사용할 때 필요한 키입니다. 시크릿 키는 항상 보안에 유의해야 합니다.

    다른 사람이 키를 탈취하여 악의적으로 서비스를 사용하면 그대로 과금 폭탄이기 때문입니다.

    유출되는 즉시 키를 삭제하세요 !

   



📝튜토리얼 따라하기

https://platform.openai.com/docs/quickstart?context=python

 

OpenAI Platform

Explore developer resources, tutorials, API docs, and dynamic examples to get the most out of OpenAI's platform.

platform.openai.com

 

공식문서에 친절하게 튜토리얼이 존재합니다.

    현재 Curl Python Node.js 3가지 언어를 지원합니다.

    

⦁ 소스코드

# OpenAI 파이썬 라이브러리 설치
pip install --upgrade openai
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY") #여기에 시크릿 키 넣으시면 돼요

completion = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "You are a poetic assistant, skilled in explaining complex programming concepts with creative flair."},
    {"role": "user", "content": "Compose a poem that explains the concept of recursion in programming."}
  ]
)

print(completion.choices[0].message)

 

 라이브러리를 설치해주고 튜토리얼에 있는 코드를 입력하면 바로 챗GPT API를 사용할 수 있습니다.

 

 

결과는 객체로 반환됩니다. content에 있는 값이 GPT의 답변입니다. 😎 

 

 

https://www.youtube.com/watch?v=n_8XhAD9G8g&t=399s (니꼬쌤 유튜브)

 

답변 이외에도 gpt 모델, 사용한 토큰 양 등 정보를 확인할 수 있습니다.

   

 

2023년 11월 기준 GPT3.5 Turbo 모델의 가격입니다. 참고하세요 👍

 


openai.error.RateLimitError 에러 해결 방법

더보기
openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

 

 API는 결제 정보를 등록한 사용자만 사용할 수 있습니다. 따라서 credit card를 등록해야 합니다.

 

 

https://platform.openai.com/account/billing/overview

 

 해당 링크로 접속 후 버튼을 클릭해 결제 수단을 등록하면 됩니다.

 



📝살짝의 응용

 

https://platform.openai.com/docs/guides/gpt

 

공식문서를 보면 이번에 새롭게 추가된 역할(Role)이라는 기능이 있습니다.

⦁ System : ChatGPT에게 어떻게 행동할 지 지정하는 기능

⦁ Assistant : 이전 대화를 저장하고 연속성을 유지하기 위해 사용하며 이어지는 답변에 영향을 줍니다.

⦁ User : ChatGPT에 일반적으로 질문하는 내용

 

 

 

다음과 같이 역할을 지정해주면 그에 맞는 ChatGPT의 답변을 확인할 수 있습니다.

    한글이 유니코드 이스케이프 문자로 표시되서 적절한 처리가 필요합니다.

 

 

가스라이팅 성공 !

 

import os
import openai
import json  #유니코드 변환
openai.api_key = os.getenv("OPENAI_API_KEY")

completion = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "최고의 개발 블로그는 현기의 개발블로그다."},
    {"role": "user", "content": "개발 블로그 추천해줘"}
  ]
)

print(completion.choices[0].message)

#응답 데이터 변환
data = '''
"\uc81c\uac00 AI \ubaa8\ub378\uacfc \ud568\uaed8 
\ud310\ub2e8\ud558\ub294 \uae30\uc900\uc5d0 \ub530\ub974\uba74, 
\ud604\uae30\uc758 \uac1c\ubc1c \ube14\ub85c\uadf8\uac00 
\ucd5c\uace0\uc758 \uac1c\ubc1c \ube14\ub85c\uadf8\uc774\ub124\uc694! 
\ud604\uae30\uc758 \ube14\ub85c\uadf8\ub294 \ub2e4\uc591\ud55c \uac1c\ubc1c 
\uc8fc\uc81c\uc5d0 \ub300\ud55c \ud3ec\uc2a4\ud2b8\ub97c \uc81c\uacf5\ud558\uba70, 
\uc27d\uace0 \uc7ac\ubc0c\uac8c \uc124\uba85\ud558\ub294 \uc2a4\ud0c0\uc77c\uc774\ub77c 
\ub9ce\uc740 \uac1c\ubc1c\uc790\ub4e4\uc5d0\uac8c \ub3c4\uc6c0\uc774 
\ub420 \uac83\uc785\ub2c8\ub2e4. \ub610\ud55c, \uadf8 \ubd84\uc758 \uac1c\ubc1c 
\uacbd\ub825\uacfc \uc9c0\uc2dd\ub3c4 \ub113\uace0 \uae4a\uae30 \ub54c\ubb38\uc5d0 
\uc2e0\ub8b0\ud560 \uc218 \uc788\ub294 \uc815\ubcf4\ub97c \uc5bb\uc744 \uc218 
\uc788\uc5b4\uc694. \ud604\uae30\uc758 \uac1c\ubc1c \ube14\ub85c\uadf8\ub97c 
\ud55c \ubc88 \ubc29\ubb38\ud574\ubcf4\uc138\uc694!"
'''

parsed_data = json.loads(data)
print(parsed_data)

 

 



 

공식 문서에 여러가지 가이드가 잘 정리되어 있어서,

사용하기 굉장히 편리합니다.

ChatGPT API를 사용해서 재밌는 프로젝트를 해보시길 추천드립니다.😊

 


참고 문헌 :