inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

실습 - Vision API 활용 방법 이해

max_tokens 관련

175

SoulKey

작성한 질문수 18

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에서 더 많은 정보를 찾으실 수 있습니다.

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

평가지표 F1 스코어 질문드립니다.

0

9

2

수업 내 사용되는 프롬프트 등 강의 자료

0

4

0

강의 일정

0

12

2

replit에서 developer frameworks가 안보여요

0

9

2

Notion 권한 승인 요청 드립니다.

0

14

1

가상환경 설정시 문의

0

19

2

개발환경에 대해셔 설명부탁드립니다.

0

14

1

파트9 강의는 언제 오픈하시나요

0

18

2

20년 4,5회 13번

0

15

1

작업형 2 기출7회분에서

0

22

2

11. 데이터를 목록화하는 리스트와 튜플 에서 콘솔 실행시

0

19

1

수업자료 및 프롬프트 어디서 다운 받는 건가요?

0

19

1

ZIP 파일

0

21

2

26강 13F 강의 불일치 및 질문 요청

0

25

3

챌린지 과제 문의

0

19

1

[업로드오류] 강의 내용과 제목 불일치

0

23

2

ollama설치해서 llama로 돌려도 되나요?

0

22

2

강의와는 별개로...

0

31

3

[예제002] 에서 파인썬 인터프리터가 없습니다

0

33

3

65강 소리

0

19

1

어텐션의 정의

0

16

1

작업형2 모의문제1 (30강)

0

25

2

함수호출 관련 질문

0

61

2

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

0

57

1