Café

ChatGPT API 사용 방법 - 가이드(금액 충전, 키 발급, 사용 하기 등) 본문

생성형 AI/ChatGPT

ChatGPT API 사용 방법 - 가이드(금액 충전, 키 발급, 사용 하기 등)

hyunicecream 2024. 4. 17. 17:32
반응형

OpenAI의 API를 Python코드로 사용하는 방법에 대해 소개하고자 합니다. 

순서는 다음과 같습니다. 

  1. 결제 및 API Key값 받기
  2. pip install openai
  3. API를 활용한 ChatGPT 사용하기 
  4. API 사용 금액 확인하기 
  5. 사용 가능한 모델

1. 결제 및 API Key값 받기

먼저 https://platform.openai.com/docs/api-reference 사이트에 들어가신 후에, 왼쪽 탭을 누르시면 됩니다.

최초 화면
최초 화면

API keys를 누르시고 Create new secret key 화면을 클릭하고 만들면 됩니다. 

API Key 발급받기 화면
API Key 발급받기 화면

 

API key 발급 받기
API key 발급 받기

API Key값은 한 번 받고 난 후에 최초에만 볼 수 있고 그 이후에는 볼 수 없습니다. 즉, 다시 발급을 받으셔야 합니다. 발급을 받으시면 Key값을 어딘가에 저장해 두세요!

이제 사용할 비용을 선지불을 해야 합니다. 카드 등록을 먼저 해주시면 됩니다. API keys 아래에 Settings를 눌러 줍니다.

그 이후에 Billing을 누르시고 Payment methods에서 Add payment method를 눌러 카드를 등록해 주시면 됩니다. 

카드 등록하기 화면
카드 등록하기 화면

카드를 등록하셨다면 Billing에서 Overview를 클릭하시고 난 뒤에, Add credit balance를 눌러 카드를 결제를 해줍니다. 

결제 금액은 원하는 금액을 입력하시면 됩니다. ($5 ~ $90)

그리고 결제하시면 저와 같이 Credit balance에 결제 금액이 나옵니다. (저는 사용 후 남은 금액입니다)

Overview 화면
Overview 화면
결제 화면
결제 화면

 

2. pip install openai 설치

API를 사용하기 위해서 먼저 터미널에 들어가셔서 pip install을 해주셔야 합니다. 

pip install openai

3. API key값 이용한 ChatGPT 사용하기 

YOUR KEY부분에 아까 발급받은 API키를 넣으시면 됩니다. 

저는 GPT 3.5 버전, 그리고 response_format={ "type": "json_object" }으로 하시면 json형식으로 출력받을 수 있습니다. 

from openai import OpenAI

client = OpenAI(api_key="YOUR KEY")

response = client.chat.completions.create(
    model="gpt-3.5-turbo-1106",
    response_format={ "type": "json_object" },
    messages=[
    {"role": "system", "content": "You are a helpful assistant designed to output JSON."},
    {"role": "user", "content": "Tell me about the GPT-4 Turbo and GPT-4 models available in OpenAI-API."},
    ]
)

test = response.choices[0].message.content
print(test)

출력 화면
출력 화면

role 부분은 크게 3가지 역할을 할 수 있습니다. 

1. system - 시스템이 대화에 제공하는 초기 설정이나 지침을 나타냅니다. 대화의 맥락을 설정하거나 모델이 특정 규칙이나 행동 지침을 따르도록 지시하는 데 사용됩니다.

2. user - 실제 사용자의 입력을 나타냅니다. 사용자가 대화에서 질문하거나 요청하는 내용을 포함합니다.

3. assistant - 대화에서 AI 도우미의 역할을 나타냅니다. 모델이 사용자 또는 시스템의 메시지에 대응하여 생성한 메시지입니다. assistant 역할은 모델이 생성한 출력을 명시적으로 지정하여, 시스템과 사용자 메시지와 구분됩니다. 

from openai import OpenAI

client = OpenAI(api_key="YOUR KEY")

response = client.chat.completions.create(
    model="gpt-3.5-turbo-1106",
    response_format={ "type": "json_object" },
    messages=[
        {"role": "system", "content": "You are a helpful assistant designed to output JSON."},
        {"role": "user", "content": "Tell me about the GPT-4 Turbo and GPT-4 models available in OpenAI-API."},
        {"role": "assistant", "content": "GPT-4 Turbo is an advanced version of GPT-4, optimized for faster responses and improved accuracy. It supports a wide range of tasks, offering robust answers across various domains."}
    ]
)

test = response.choices[0].message.content
print(test)

여기서 "role": "assistant"는 이 메시지가 AI 모델에 의해 생성되었음을 표시합니다. 즉, 시스템이나 사용자가 아닌 AI 자체의 '말'을 나타내는 부분입니다.

"content"에 적힌 텍스트는 AI가 생성해야 할 응답을 예시로 보여주는 것입니다. 실제 API를 사용할 때는 이 부분이 자동으로 AI에 의해 생성되어 사용자의 질문이나 시스템의 설정에 대한 답변을 제공합니다.

예를 들어, 사용자가 "GPT-4 Turbo와 GPT-4 모델에 대해 알려주세요"라고 물었을 때, AI는 "GPT-4 Turbo는 GPT-4의 고급 버전으로, 더 빠른 응답과 향상된 정확성을 위해 최적화되었습니다. 다양한 작업을 지원하며, 여러 분야에 걸쳐 견고한 답변을 제공합니다."라고 응답하는 것이 적절하겠죠. AI가 사용자의 요구에 응답하여 제공하는 정보입니다.

"role": "user"는 여러 개의 prompt를 통해 조절할 수도 있습니다. 즉, 원하는 정보를 제공 여러개 제공이 가능합니다. 

다음과 같은 방법으로 여러 개를 추가할 수 있습니다. 

서비스 또는 사용자의 입맛에 맞게 고쳐 가면서 사용해 보세요!!

{"role": "system", "content": "You are a helpful assistant designed to output JSON."},
{"role": "user", "content": "Tell me about the GPT-4 Turbo and GPT-4 models available in OpenAI-API."},
{"role": "user", "content": "What are the main differences between GPT-4 and GPT-3?"},
{"role": "user", "content": "Can GPT-4 generate images?"},
{"role": "user", "content": "How is the pricing structured for GPT-4 usage?"},
{"role": "user", "content": "What are the limitations of GPT-4?"},
{"role": "user", "content": "Can GPT-4 be used for real-time applications?"},
{"role": "user", "content": "What languages does GPT-4 support?"},
{"role": "user", "content": "How can I integrate GPT-4 into my own application?"},
{"role": "user", "content": "What kind of training data was used for GPT-4?"},
{"role": "user", "content": "Is there any specific hardware required to use GPT-4 effectively?"},
{"role": "user", "content": "Can you provide examples of successful applications using GPT-4?"},

4.  사용 금액 확인 

사용 금액도 확인하실 수 있습니다. 왼쪽바에 다시 가셔서 Usage를 누르시면 다음과 같은 화면이 나옵니다. 

그리고 CostActivity를 누르시면 어떤 모델을 얼마나 썼는지, Token 사용량은 얼마인지, 누가 많이 얼마나 사용했는지 등 확인하실 수 있습니다. 

Usage 화면
Usage 화면

5. 사용 가능한 모델

OpenAI에서 제공하는 API 모델의 종류는 다음과 같습니다. 카테고리로 이렇게 나뉘었지만, 세부적으로 들어가면 더 많습니다. 

사용하고 싶은 모델을 코드에서 모델부분에 해당 모델로 작성하시면 바로 사용이 가능합니다. 

공식문서 사이트에 들어가셔서 보시면 될 것 같습니다. 링크도 아래 남겨드리겠습니다. 

https://platform.openai.com/docs/models/overview

사용 가능한 모델
사용 가능한 모델

API,  ChatGPT 서비스 모두 잘 사용하기 위해서는 프롬프트가 중요합니다. 혹시 어떻게 해야 할지 잘 모르시는 분은 프롬프트 방법 가이드도 보시는 것을 추천드립니다. 

 

챗GPT 사용법 - 프롬프트(질문) 방법 가이드! 질문의 중요성

ChatGPT 질문(프롬프트)의 중요성에 대해 알아보겠습니다. 어떻게 질문(Prompt)을 해서 사용해야 하는지 감이 안 오시는 분들은 이번 가이드라인을 보고 참고해 보세요. 예시는 모두 ChatGPT-4(유료 회

hyunicecream.tistory.com

 

반응형