inflearn logo
강의

講義

知識共有

OpenAI API 実践マスター:中級者のための高性能AIサービス設計およびデプロイ

実習 - Vision API活用方法の理解

max_tokens 관련

199

SoulKey

投稿した質問数 19

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 의 값이 강의의 내용과 비교해서 너무 큰거 같아서 질문을 드리는 겁니다.

 

 

python NLP chatgpt openai-api 생성형ai

回答 2

0

YoungJea Oh

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

좋은 질문 감사합니다.

0

communityai8509

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

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

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

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

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

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

26년 1회실기

0

8

1

26,27강 진행 간 노션, html 프롬프트 파일 불일치

0

13

3

강의 자료

0

17

1

27:15 break 출력

0

17

1

kaggle notebook에 service key 설정이 누락된 것 같습니다

1

21

2

수업 노트가 안 보입니다.

0

22

1

Python formatter 설치

0

23

1

55강 파이썬에만있는 연산자들

0

33

2

55강의 파이썬에서만 있는 연산자들

0

24

2

주말에 실행할 경우 update_economic_data_in_background에 로직 변경 필요성

1

32

1

naver 글자 수집 오류 건

0

26

1

쥬피터 노트북이 실행이 안됩니다.

0

28

1

뒤로가기 버튼 같은 것이 있나요?

0

29

1

다음 강의 수강방법

0

20

1

Replit 강의 자료가 안나와요

0

21

1

강의 연장 문의

0

33

1

프로그램 실행시간에 대한 질문

1

25

2

비중 및 매수 종목수 조정.

1

33

2

Claude api가 소식 동기화가 늦는 문제

1

42

2

[긴급요청2] 28강 동영상 오류(27강 음성 재생) 수정 예정일자를 알려주세요

0

26

1

codex에게 대용량 코드베이스를 인식 시키는 방법은 어떤게 있나요?

0

35

1

출력값 질문

0

32

2

함수호출 관련 질문

0

67

2

구조화된 출력을 활용한 콘텐츠 심사 내용중 코드 질문

0

63

1