inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

OpenAI API 실전 마스터: 중급자를 위한 고성능 AI 서비스 설계 및 배포

실습 - Vision API 활용 방법 이해

max_tokens 관련

229

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

인프런 AI 인턴

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

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

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

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

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

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

알파벤티지 sleep(5) 관련 문의

0

6

0

강의 자료 및 코드 수령

0

14

2

8/6 작성한 연장문의 질문글에 대한 재요청

0

14

1

실전 계좌에서 운영하고 계신 분 계신가요?

1

19

2

수강기간 연장 문의

0

14

1

수강기간 연장문의

0

9

1

수강기간 연장 요청 문의드립니다

0

14

1

기초실습 BERT파인튜닝 예제 오류

0

7

1

Fal.ai에 기존 AI를 끌어오는것은 안되는건가요?

0

22

1

잘못된 파일 다운로드

0

29

1

DataSet 다운 받는 방법

0

25

1

어디다가 환불요청해야돼요

0

33

1

해당 차수 영상이 짤려 나갑니다

0

34

1

130_Transformer.ipynb 오류 대응 부탁드립니다.

0

26

1

수업자료는 어디서 받나요

0

28

2

Lecture19 강좌pdf파일이 없네요..

0

24

1

클로드

0

38

2

테이블 적재 Task 작성 실습

0

35

2

수강 기간 연장 문의

0

34

1

kernel crash 문의

0

37

2

[데이터 전처리] dropna에서 특정 두 지표만 기준으로 결측치를 제거한 이유가 궁금합니다

1

23

1

pip install -r requirements.txt

0

44

2

함수호출 관련 질문

0

90

2

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

0

79

1