본문 바로가기
인공지능

OpenAI ChatGPT AuthenticationError RateLimitError 에러 해결

by touslesmatins 2023. 7. 10.

OpenAI ChatGPT AuthenticationError

일단 공식홈페이지 예시 코드를 생각 없이 돌려보고 에러가 발생하면 그때부터 거꾸로 올라가서 해결해보는 편..

역시나 에러가 발생했고 해결해야 할 문제는 AuthenticationError이다. 

 

AuthenticationError: No API key provided. You can set your API key in code using 'openai.api_key = <API-KEY>', or you can set the environment variable OPENAI_API_KEY=<API-KEY>). If your API key is stored in a file, you can point the openai module at it with 'openai.api_key_path = <PATH>'. You can generate API keys in the OpenAI web interface. See https://platform.openai.com/account/api-keys for details.

OPENAI ChatGPT AuthenticationError
OPENAI&nbsp;ChatGPT&nbsp;AuthenticationError

 

1. https://platform.openai.com/account/api-keys 접속

2. Log in 또는 Sign up

    구글 계정과 연동되어 2초만에 로그인 또는 가입 가능

Log in 또는 Sign up
Log in 또는 Sign up

 

3.  2초만에 API keys 페이지 접속 가능 > Create new secret key

Create new secret key
Create new secret key

4. 원하는 이름을 입력한 이후에 Create secret key

Create secret key
Create secret key

5. secret key 복사

   * 이때 복사해서 안전한 곳에 보관해야 한다. 다시 볼 수 없으며 잃어버리면 새로 발급해야 한다.

secret key 복사
secret key 복사

6. API keys 생성 확인

   이렇게 간단하다고?

API keys 생성 확인
API keys 생성 확인

 

ChatGPT API 사용량

과거 다른 포스팅을 보면  2022년 12월까지는 가입 이후에 18달러까지도 무료로 주어졌던 거 같다.

현재 7월 기준으로는 5달러의 무료 trial이 주어진다.. 기간은 3개월 동안 사용이 가능하다.

이런 거 무서운데.. 테스트를 하면서 얼마나 요금이 붙는지에 대한 감을 가져야겠다.

ChatGPT API 사용량
ChatGPT API 사용량

 

 

OpenAI ChatGPT RateLimitError

import os
os.environ.get('OPENAI_API_KEY') is None
os.environ["OPENAI_API_KEY"] = '########'
print(os.environ.get('OPENAI_API_KEY'))
import os
import openai

# Load your API key from an environment variable or secret management service
openai.api_key = os.getenv("OPENAI_API_KEY")

chat_completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world"}])

 

RateLimitError: You exceeded your current quota, please check your plan and billing details.

 

으으 다시 시작이다.. 새로운 에러.. 어쩐지 너무 쉽다했어

USAGE 메뉴에 들어가면 분명 5달러의 credit granted가 있는데 왜 안 되는 것일까

난 한번도 사용한 적이 없었는데 말이다

 

 

공식 홈페이지에 나와있는 해당 오류에 대한 설명과 해결방법은 다음과 같다.

 

RateLimitError Cause: You have hit your assigned rate limit.
Solution: Pace your requests. Read more in our Rate limit guide.

 

'RateLimitError' 는 할당된 요금제 제한에 도달한 경우 나타나는 에러입니다. 제한된 시간 동안 너무 많은 토큰이나 요청이 있었기 때문에 서비스가 일시적으로 더 이상의 요청을 보내지 못하도록 차단한 것이다.  이는 리소스의 공정하고 효율적인 사용이 가능하게 하고 서비스의 남용 또는 과부하를 방지하기 위한 조치입니다.


RateLimitError 해결을 위한 조치 방안

1. 요청이나 토큰을 줄이거나, 속도를 늦추세요. 요청 빈도나 양을 줄이거나, 토큰 일괄 처리, 지수 백오프 구현 등이 필요할 수 있습니다. 자세한 내용은 요금제 가이드를 참고하세요.
2. 요금제 제한이 재설정될 때까지 기다렸다가 다시 요청하세요(1분). 에러 메시지에서 사용량과 허용량을 확인할 수 있습니다.
3. 또한 계정 대시보드에서 API 사용 통계를 확인할 수 있습니다.

 

 

위의 조치 방안을 모두 확인해보았지만 모두 해당되는 것이 없었다.

그래서 혹시나.. EXPIRES(UTC)를 확인해보니 2023년 7월 1일에 만료가 되었다..

내가 나도 모르게 가입했던 적이 있었나보다.. paid plan으로 업그레이드 하고 카드 결제 정보를 입력해야 사용이 가능하다고 한다.. 난 가입만하고 API key를 생성한 적은 없었던 거 같은데..(기억이 나지 않는다) 3개월 전의 나.. 무엇을 했던 것일까. 

혹시나 API를 방금 전에 생성했는데 RateLimitError가 나서 어려움을 겪고 계신다면 만료기간을 확인해보셔야 할 것 같습니다.