[OpenAI API] 키 발급받고 사용해보기
2024. 6. 21.
Open AI API 키 발급
이미 발급받은 API key가 있다면 넘어가도 된다.
https://platform.openai.com/api-keys
위 사이트로 이동한다. Open AI 계정에 로그인하지 않았다면 로그인 한 후에 페이지 이동한다.

Create new secret key 버튼 클릭하여 키를 생성한다.
키를 생성하지 않았으면 가운데에도 키 생성 버튼이 있을 것이다.
키의 소유권을 나한테 할건지 서비스 계정에 할건지 선택한다. 여기서는 나(You)를 선택한다. (서비스 계정에 대한 선택이 어떤 건지에 대한건 잘 모르겠다.)
키 이름은 입력해도되고 안해도 된다. 프로젝트를 선택한다. (여기서는 Default project를 선택함)

키를 생성하고 키를 복사해서 다른곳에 잘 저장해놓는다. 해당 키는 생성했을 때 나타나는 창에서만 출력되고 후에는 다시 볼 수 없다고 경고해준다. 잘 보관해놓자.
API 요청 테스트
터미널에서도 curl 명령어를 통해 가능하고 HTTP 요청 테스트를 할 수 있는 프로그램에서도 가능하다. 나는 Postman이라는 프로그램을 사용했다.
curl 명령어로 API 요청
인터넷에 돌아다니는 curl로 테스트하는 명령어를 기반으로 postman에서 API 요청을 해봤다.
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
}'
출처: velog 블로그
Postman API 요청 설정
URL: https://api.openai.com/v1/chat/completions
Headers: Content-Type, Authorization
Body: JSON

참고로 Authorization값은 "Bearer 발급받은 OpenAI API 키" 다.

Send 버튼을 누르면 API 전송되고 결과가 아래에 출력된다.

OpenAI API Limit 설정
API 사용량이 증가하여 추가과금이 되지 않게 설정하기 위해서 프로필 설정 > limits 페이지로 이동하여 설정해준다.

예산설정(Set a monthly budget) 부분에 0을 입력하여 None으로 만들어준다. 이 설정을 통해 과금이 요구되는 API 요청은 거부되니 안심하고 사용할 수 있다.
OpenAI API 사용량 확인
등록하고 사용량을 확인하기 위해서 아래 페이지에서 확인하면 된다.
무분별한 사용으로 과금이 될 가능성이 있으니 Limit 설정을 과금이 가능하게 열어두신 분들이라면 사용량을 주기적으로 확인하는 편이 좋을 것 같다.
https://platform.openai.com/usage
TroubleShooting
결제수단 등록
결제수단 등록 안하고 API 요청하면 아래와 같이 에러 메시지가 발생한다.
{
"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": null,
"code": "insufficient_quota"
}
}
결제수단 등록하고 Usage limits를 설정해서 혹여나 과금이 될까 걱정 하지 않게 하자. (과금이 되도 상관 없으신 분들은 설정 안 하셔도 된다!)
사용자 프로필 설정 페이지의 billing 메뉴로 이동한다.
https://platform.openai.com/settings/organization/billing/overview

Add payment details 버튼을 클릭하여 카드를 등록해준다. 나는 개인용이기 때문에 Individual을 선택했다.


영어주소를 입력하는 부분은 영어주소 변환 사이트로 가서 주소를 입력하여 변환한 결과를 입력하면 편하다.

처음 충전금액을 설정하는데 무조건 첫 충전을 진행해야하는건가?..

일단 진행해본다.

충전이 완료 되었다. Cancel plan을 통해서 충전금을 취소하고 환불받을 수 있는건가 싶다. (일단 해보고 환불되면 글을 수정해서 알려드리겠습니다.)
그리고 다시 API를 요청해본다.

API를 요청한 결과 정상적으로 결과를 받아온다. 해결!