Inflearn brand logo image

인프런 커뮤니티 질문&답변

SoulKey님의 프로필 이미지
SoulKey

작성한 질문수

OpenAI API 를 이용한 생성형 AI 프로그램 개발 - 2025 최신판

실습 - Vision (Chat Completion Vision) API 활용 방법 이해

max_tokens 관련

작성

·

41

0

 

  1. 실습 - Vision API 활용 방법 이해에서

 

아래와 같은 코드를 실행하게 되면

url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"

response = client.chat.completions.create(
    model=Model,
    messages=[
      {
        "role": "user",
        "content": [
            {"type": "text", "text": "이 이미지의 내용을 설명해줘. 한국어로 설명해줘."},
            {"type": "image_url", "image_url": {"url": url}},
        ]
      } 
    ],
    max_tokens=300,
)

response.to_dict()

 

결과가 아래와 같이 나오는데

{'id': 'chatcmpl-BnxBjLVQUG5mlJJA9i9YhADGfCe2u',
 'choices': [{'finish_reason': 'stop',
   'index': 0,
   'logprobs': None,
   'message': {'content': '이미지는 푸른 풀밭과 하늘이 넓게 펼쳐진 풍경을 보여주고 있습니다. 중앙에는 나무 판자로 된 산책로가 놓여 있어 풀밭을 따라 걷는 길처럼 보입니다. 하늘은 맑고 파란색으로 구름이 흩어져 있으며, 주변에는 나무와 덤불이 자생하고 있습니다. 전체적으로 자연의 평화롭고 고요한 분위기를 느낄 수 있는 장면입니다.',
    'refusal': None,
    'role': 'assistant',
    'annotations': []}}],
 'created': 1751245291,
 'model': 'gpt-4o-mini-2024-07-18',
 'object': 'chat.completion',
 'service_tier': 'default',
 'system_fingerprint': 'fp_62a23a81ef',
 'usage': {'completion_tokens': 108,
  'prompt_tokens': 36857,
  'total_tokens': 36965,
  'completion_tokens_details': {'accepted_prediction_tokens': 0,
   'audio_tokens': 0,
   'reasoning_tokens': 0,
   'rejected_prediction_tokens': 0},
  'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}}

 

max_tokens으로 준 인자값은 completion_token 의 상한 limit를 정하는건가요? prompt_tokens 의 값이 강의의 내용과 비교해서 너무 큰거 같아서 질문을 드리는 겁니다.

 

 

답변 2

0

YoungJea Oh님의 프로필 이미지
YoungJea Oh
지식공유자

max_tokens=300 은 모델이 생성할 수 있는 응답의 최대 길이를 제한하는 것입니다. prompt_tokens가 예상보다 큰 이유는 이미지 처리로 인해 생긴 현상입니다. 입력 전체 (텍스트 + 이미지)의 토큰 수로 계산한 것으로 생각됩니다.

좋은 질문 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

SoulKey님이 질문해 주신 max_tokens는 모델이 생성할 수 있는 completion 부분의 최대 토큰 수를 제한하는 기능입니다. 다만, 이 값이 prompt_tokens에는 영향을 미치지 않습니다. prompt_tokens는 API에 입력된 메시지(프롬프트)의 토큰 개수를 나타냅니다.

토큰의 수를 설명드리면, 일반적으로 토큰은 단어와 유사하지만, 단어보다 더 세분화되어 있을 수 있습니다. 예를 들어, “apple”은 하나의 단어이지만, 이는 여러 토큰으로 나눠질 수 있습니다.

prompt_tokens가 높다는 것은 입력된 명령이나 데이터의 크기가 클 수 있음을 의미합니다. 이와 관련해, 입력 내용을 줄이거나 조정하여 최적화할 수 있는 방법을 모색하는 것이 좋습니다. 특히 이미지로 인해 prompt_tokens의 수가 많아질 수 있습니다.

관련해서 추가 정보를 원하시면 OpenAI’s Token System에서 더 많은 정보를 찾으실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

SoulKey님의 프로필 이미지
SoulKey

작성한 질문수

질문하기