AI

OpenAI vs Gemini API 실제 토큰 사용량 측정과 비용 비교 #3

pauls 2025. 5. 27. 10:22
반응형

오늘은, 지난 글에 이어서 OpenAI API와 Gemini API의 토큰당 비용에 대한 이야기를 중 이 두 API에서 실제 토큰 정보를 가져오는 부분에 대해 비교 정리해 보겠습니다.

OpenAI vs Gemini API 실제 토큰 사용량 측정과 비용 비교
OpenAI vs Gemini API 실제 토큰 사용량 측정과 비용 비교

 

반응형

OpenAI vs Gemini API 실제 토큰 사용량 측정과 비용 비교

지난 글에서는 OpenAI와 Gemini 홈페이지에서 공개한 토큰당 비용에 대해 이야기했어요. 

OpenAI API와 Gemini API의 토큰당 비용 비교와 어떤 차이점과 공통점이 있는지 살펴보자 #2

 

OpenAI API와 Gemini API의 토큰당 비용 비교와 어떤 차이점과 공통점이 있는지 살펴보자 #2

OpenAI와 Google Gemini API의 모델별 토큰당 가격을 비교해, 사용자 입장에서 비용 효율성과 서비스 선택 기준을 이해할 수 있도록 돕기 위해 작성되었습니다. 특히 GPT-4o와 Gemini 2.5 모델의 최신 요금

paulsmedia.tistory.com

 

그럼, 이제 실제로 API르르 활용했을 때, 모델에서 계산된 토큰(Token) 수를 가져오는 코드를 구현하여 예상한 토큰수와 비교해 보겠습니다.

 

  OpenAI API, Token

OpenAI API의 경우는 이전 글에서 코드 구성을 제시한 적이 있는데, 아래와 같이 다시 한번 간단하게 구성해 볼게요.

openai.api_key=OPENAI_API_KEY

try:
    response = openai.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "system", "content": "당신은 친절한 어시스턴트입니다."},
            {"role": "user", "content": "오늘 서울의 날씨가 어때?"}
        ]
    )

    # 응답에서 토큰 사용량 확인
    if response.usage:
        print(f"프롬프트 토큰: {response.usage.prompt_tokens}")
        print(f"응답 토큰: {response.usage.completion_tokens}")
        print(f"총 토큰: {response.usage.total_tokens}")      
    else:
        print("error.")

    # 모델의 응답 내용 확인
    print(f"응답: {response.choices[0].message.content}")

except openai.APIError as e:
    print(f"error : {e}")

 

위 코드는 프롬프트 이외 역할(Role) 베이스로 구성했어요. 모델은 비용이 가장 작은 4o-mini를 사용했고요.

예외 처리까지 코드를 구성해서 거의 실무에 적용 가능한 코드 구성으로 작성해 봤어요. OpenAI API는 이미 여러 번 이 블로그에서도 다뤄봤으므로, 조금 더 실용 가능한 수준으로 제시해 봤어요.

 

그러면, GPT의 응답은 실행해야 받을 수 있으니, 우선 작성한 프롬프트의 토큰수 즉, input 토큰수는 얼마나 되는지 생각해 볼까요? 한글의 경우 문자 하나당 토큰이 1개 이상일 수 있으니, 대략 띄어쓰기 포함 31자 정도이므로 프롬프트 토큰수는 32개 이상이라고 예상됩니다.

 

저, 그럼 위 코드를 실행한 결과를 볼게요.

프롬프트 토큰: 33
응답 토큰: 52
총 토큰: 85
응답: 죄송하지만, 실시간 정보를 제공할 수는 없습니다. 오늘 서울의 날씨를 확인하려면 기상청 웹사이트나 날씨 앱을 이용하시는 것을 추천합니다. 필요한 다른 정보가 있다면 언제든지 말씀해 주세요!

일단, 예상한 프롬프트 토큰수와 대략 비슷했습니다.

간단한 질문이었음에도, 역시 GPT 모델은 말을 길게 하는군요. 응답 토큰이 52개나 됩니다. 


 

  Gemini API, Token

그러면, 이제 Gemini는 Token 정보를 어떻게 얻을 수 있는지 보죠.

구글 Gemini api 문서에서 토큰 관련 페이지를 열어 보면 아래와 같이 정리가 잘 되어 있어요. 물론, OpenAI의 문서도 잘 정리되어 있음에도 상대적으로 더 잘 정리가 됐어요. 그중 유연한 한글화도 한몫을 한 것이죠.

 

문서 내용을 보면 위에서 다룬 OpenAI API의 API의 경우 응답(Response) 정보의 "usage" 내에 토큰 정보가 구성되어 있는데, 이와 매우 유사하게도 Gemini의 경우 "usage_metadata"로 구성되어 있습니다. 매우 비슷한 구성이죠?

 

자, 그럼 이제 필요한 부분은 확인했으니, Gemini API 코드를 구성하고 실제 모델에서 응답하는 토큰수를 확인해 보죠.

from google.genai import types

response = client.models.generate_content(
    model="gemini-2.0-flash", 
    config=types.GenerateContentConfig(
        system_instruction="당신은 친절한 어시스턴트입니다."),
    contents="오늘 서울의 날씨가 어때?"
)
#print(response.usage_metadata) 
print(f"프롬프트 토큰: {response.usage_metadata.prompt_token_count}")
print(f"응답 토큰: {response.usage_metadata.candidates_token_count}")
print(f"총 토큰: {response.usage_metadata.total_token_count}")
print(f"응답: {response.text}")

 

비교를 위해 앞서 구현한 OpenAI의 형식과 비슷하게 구성했어요. 지난 4월 Gemini 관련 라이브러리가 업데이트가 되어서인지, 모델의 페르소나 설정을 위와 같이 하도록 권장하고 있었습니다. 
일단, 코드의 실행 결과를 보시죠.

프롬프트 토큰: 23
응답 토큰: 20
총 토큰: 43
응답: 지금 서울의 날씨는 맑고, 기온은 24도입니다.

 

무엇보다 눈에 띄는 부분은 응답이 짧습니다. 물론, 해당 모델이 실시간 정보 검색 능력이 다르기 때문이겠지만, 대략 맞는 응답을 간략하게 해주고 있습니다. 때문에 전체 토큰수도 작죠.

 

그런데, 여기서 출력된 정보를 좀 자세히 보면 다른 거 보다 두 모델의 프롬프트 토큰수 차이가 크다는 것입니다.

  • OpenAI API, gpt-4o-mini: 33
  • Gemini API, gemini-2.0-flash: 23


 
왜 이런 차이가 발생할까요?

우선 생각해 볼 수 있는 것은 메시지 구조의 차이에서 발생하고 있어요. OpenAI API의 경우 Role, System 등의 정보를 메시지 내에 구성하고 있지만, Gemini의 경우는 system_instruction을 config 객체에 포함할 뿐, content와 분리해서 처리하는 방식입니다.

때문에 input 토큰수에 해당하는 범위가 서로 차이가 나는 것으로 보입니다.

그 외, LLM 모델에 따라 토큰화 방식의 차이가 있다는 것도 알아야 합니다. 이것은 OpenAI의 모델 종류에 따라서도 토큰수에 차이가 발생할 수 있듯, 위의 경우와 같이 서로 다른 모델이면 토큰화 방식의 차이가 분명할 것이기 때문이죠.

 

생성형 AI 모델 특성 중 토큰의 의미와 토큰(Token) 수 확인 방법에 대해 다뤄봤어요. 내가 사용하는 API 모델의 비용을 정확하게 알고, 또 어떤 모델이 상대적 비용 효율이 좋은 지도 생각해 볼 수 있었습니다. 

 

 


OpenAI API와 Gemini API의 토큰당 비용 비교와 어떤 차이점과 공통점이 있는지 살펴보자 #2

 

OpenAI API와 Gemini API의 토큰당 비용 비교와 어떤 차이점과 공통점이 있는지 살펴보자 #2

OpenAI와 Google Gemini API의 모델별 토큰당 가격을 비교해, 사용자 입장에서 비용 효율성과 서비스 선택 기준을 이해할 수 있도록 돕기 위해 작성되었습니다. 특히 GPT-4o와 Gemini 2.5 모델의 최신 요금

paulsmedia.tistory.com

Google Gemini API 무료로 시작하고 OpenAI API와 비교하기 - Google AI Studio 활용법 #1

 

Google Gemini API 무료로 시작하고 OpenAI API와 비교하기 - Google AI Studio 활용법 #1

이번에는 구글의 제미나이 Google Gemini API 사용 방법에 대해 정리해 보겠습니다. 그동안 Openai API에 대해 여러 이야기를 다뤄봤습니다. 다른 이유 보다 직접 사용하는 데에 있어서 '구글 AI가 Openai G

paulsmedia.tistory.com

 

반응형