Priceless

Chat GPT API 사용하기 (Python) 본문

NLP/LLM

Chat GPT API 사용하기 (Python)

Hyun__ 2024. 11. 22. 21:22

API Key 발급 받기

https://platform.openai.com/docs/quickstart?language-preference=python

Chat GPT를 사용해본 적 있다면 그 계정으로 로그인한다

없다면 새로 계정을 만든 후 로그인한다

 

Key 종류

User keys의 API keys 사이트에 접속한다

Project keys의 사이트의 기능은 잘 모르겠다

 

API Keys 사이트에 들어왔으면 

Key를 새로 만든다

 

Key를 만드려고 하면

'you'와 'service account' 

두 가지 옵션이 주어진다

 

 

두 옵션의 차이는 아래와 같다

보통의 프로젝트에서는 'you' 옵션을 사용하면 될 듯하다

Key의 이름을 작성한 후 발급 받는다

 

 

 

Chat GPT API 사용하기

python 환경에서 사용하기 위해 패키지를 설치한다

pip install openai

 

API Key 숨겨서 사용하기

python 코드 상에서 API를 노출시키는 것은

배포 과정이나 이렇게 블로그를 쓰는 과정에서 유출되어 위험할 수 있다

그렇기에 환경 변수로 설정하여 코드에서 가져오도록 하는 것이 좋다고 생각한다

 

운영체제에 맞게 shrc에 추가하거나

한 번만 사용하려면 key export 명령어를 입력한다

# linux
nano ~/.bashrc

# mac
nano ~/.zshrc

# add in shrc or just enter repeatly
export OPENAI_API_KEY="your_api_key_here"

 

 

GPT 모델 종류

아래와 같은 식으로 python 코드 내에서 사용할 수 있다

사용할 수 있는 GPT 모델의 종류와 특징 및 가격은

아래 사이트를 참고한다

https://openai.com/api/pricing/

 

본인은 가장 저렴한 3.5 turbo를 사용한다

 

코드

환경에 따라 수정해야 할 수 있다

아래와 같이 테스트 코드를 작성했다

import os
import openai

# 환경 변수에서 API 키 가져오기
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
    raise EnvironmentError("환경 변수 'OPENAI_API_KEY'가 설정되지 않았습니다.")

# OpenAI API 키 설정
openai.api_key = api_key

# GPT-3.5 Turbo 모델로 요청
completion = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        # {"role": "system", "content": "You are a helpful assistant."},
        {
            "role": "user",
            "content": "Can you summarize some article in Korean?"
        }
    ]
)

# 출력 결과
print(completion.choices[0].message["content"])

 

실행한다

실행하면 GPT의 응답을 확인할 수 있다

$ python summary.py
Yes, I can summarize articles in Korean. Just provide me with the article and I will summarize it for you.

 

 

트러블슈팅

본인은 실행하면서 버전 불일치 문제가 발생하여

openai의 버전을 변경하였다

실행 과정 중 버전 관련 에러가 발생하면

알려주는 버전에 맞게 바꾸면 된다

pip install openai==0.28

 

 

당신은 돈을 내지 않았습니다

예전 블로그들을 보면 3.5 버전은 무료라는 글이 있었지만

지금은 아닌 듯하다 

python 파일을 실행하면 아래와 같은 에러가 나타난다

openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}

 

그럴 땐 어떻게 하지?

 

 

결제하면 된다

3.5 버전을 사용해도 결제가 된 후 정상적으로 작동했다

우선적으로 5달러를 결제하고 수수료가 10% 붙어 5.5달러가 결제 되었다

환율이 1400원 대라 약 8,500원이 결제되었다

 

 

GPT가 정상적으로 대답을 하고 난 후

정상적으로 charge된 것을 확인할 수 있다

테스트 코드를 잘 활용하며 쓰면 좋을 듯 하다

 

참고

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

https://velog.io/@yule/OpenAI-API-%EB%B0%9C%EA%B8%89

https://velog.io/@jhp21c/day-20-Chat-GPT-API