이 페이지에서는 countTokens
API를 사용하여 프롬프트에 대해 토큰 수 및 청구 가능한 문자 수를 가져오는 방법을 보여줍니다.
지원되는 모델
다음 멀티모달 모델은 프롬프트 토큰 수 추정치 가져오기를 지원합니다.
gemini-1.5-flash-002
gemini-1.5-pro-002
gemini-1.0-pro-002
gemini-1.0-pro-vision-001
모델 버전에 대한 자세한 내용은 Gemini 모델 버전 및 수명 주기를 참고하세요.
프롬프트의 토큰 수 가져오기
Vertex AI API를 사용해서 프롬프트에 대한 토큰 수 추정치와 청구 가능한 문자 수를 가져올 수 있습니다.
Python
Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
Java
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Vertex AI Java API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Vertex AI C# API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Vertex AI Node.js API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Vertex AI Go API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
Vertex AI API를 사용해서 프롬프트에 대해 토큰 수 및 청구 가능한 문자 수를 가져오려면 게시자 모델 엔드포인트에 POST 요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 요청을 처리하는 리전입니다. 사용 가능한 옵션은 다음과 같습니다.
클릭하여 사용 가능한 리전의 일부 목록 펼치기
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: 프로젝트 ID
- MODEL_ID: 사용할 멀티모달 모델의 모델 ID입니다.
- ROLE: 콘텐츠와 연결된 대화의 역할입니다. 싱글턴 사용 사례에서도 역할을 지정해야 합니다.
허용되는 값은 다음과 같습니다.
USER
: 전송한 콘텐츠를 지정합니다.
- TEXT: 프롬프트에 포함할 텍스트 안내입니다.
- NAME: 호출하려는 함수의 이름
- DESCRIPTION: 함수 설명 및 용도
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
JSON 요청 본문:
{ "contents": [{ "role": "ROLE", "parts": [{ "text": "TEXT" }] }], "system_instruction": { "role": "ROLE", "parts": [{ "text": "TEXT" }] }, "tools": [{ "function_declarations": [ { "name": "NAME", "description": "DESCRIPTION", "parameters": { "type": "OBJECT", "properties": { "location": { "type": "TYPE", "description": "DESCRIPTION" } }, "required": [ "location" ] } } ] }] }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 수신됩니다.
콘솔
Google Cloud 콘솔에서 Vertex AI Studio를 사용하여 프롬프트의 토큰 수를 가져오려면 다음 단계를 따르세요.
- Google Cloud 콘솔의 Vertex AI 섹션에서 Vertex AI 스튜디오 페이지로 이동합니다.
- 자유 형식 열기 또는 Chat 열기를 클릭합니다.
- 토큰 수는 프롬프트 창에 입력할 때 계산되어 표시됩니다. 입력 파일의 토큰 수가 포함됩니다.
- 자세한 내용을 보려면 <count> 토큰을 클릭하여 프롬프트 토큰라이저를 엽니다.
- 텍스트 프롬프트에서 각 토큰 ID의 경계를 표시하는 다양한 색상으로 강조표시된 토큰을 보려면 토큰 ID 텍스트로 변환을 클릭합니다. 미디어 토큰은 지원되지 않습니다.
- 토큰 ID를 보려면 토큰 ID를 클릭합니다.
토크나이저 도구 창을 닫으려면 X를 클릭하거나 창 바깥쪽을 클릭합니다.
이미지 또는 동영상이 포함된 텍스트에 대한 curl 명령어 예시:
MODEL_ID="gemini-1.0-pro-vision"
PROJECT_ID="my-project"
TEXT="Provide a summary with about two sentences for the following article."
REGION="us-central1"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:countTokens -d \
$'{
"contents": [{
"role": "user",
"parts": [
{
"file_data": {
"file_uri": "gs://cloud-samples-data/generative-ai/video/pixel8.mp4",
"mime_type": "video/mp4"
}
},
{
"text": "'"$TEXT"'"
}]
}]
}'
텍스트 전용 curl 명령어 예시:
MODEL_ID="gemini-1.0-pro-vision"
PROJECT_ID="my-project"
TEXT="Provide a summary with about two sentences for the following article."
REGION="us-central1"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:countTokens -d \
$'{
"contents": [{
"role": "user",
"parts": [{
"text": "'"$TEXT"'"
}]
}]
}'
가격 책정 및 할당량
CountTokens
API 사용에는 요금 또는 할당량 제한이 없습니다. CountTokens
API의 최대 할당량은 분당 요청 3,000개입니다.
다음 단계
- 채팅 프롬프트 테스트 방법 알아보기
- 텍스트 프롬프트 테스트 방법 알아보기