このページでは、プロンプトのトークンの数と課金対象文字数を取得する方法について説明します。
サポートされているモデル
次のマルチモーダル モデルは、プロンプトのトークン数の取得をサポートしています。
gemini-1.0-pro
gemini-1.0-pro-vision
プロンプトのトークン数を取得する
Vertex AI API を使用して、プロンプトのトークンの数と課金対象文字数を取得できます。
Python
Python をインストールまたは更新する方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js 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。次のオプションがあります。
gemini-1.0-pro-vision
gemini-1.0-pro
- ROLE: コンテンツに関連付けられた会話におけるロール。単一ターンのユースケースでも、ロールの指定が必要です。指定できる値は以下のとおりです。
USER
: 送信するコンテンツを指定します。
- TEXT: プロンプトに含める指示のテキスト。
- IMAGE_BYTES: 文字ではなくバイトのシーケンス。
- FILE_URI: プロンプトに含める画像または動画の Cloud Storage URI。ファイルを格納するバケットは、リクエストを送信するプロジェクトと同じ Google Cloud プロジェクトに存在する必要があります。MIMETYPE も指定する必要があります。
- MIME_TYPE:
data
またはfileUri
フィールドで指定された画像、PDF、動画のメディアタイプ。指定できる値は次のとおりです。クリックして MIME タイプを開く
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
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": [ { "inlineData": { "mimeType": "MIME_TYPE", "data": "IMAGE_BYTES" } }, { "fileData": { "mimeType": "MIME_TYPE", "fileUri": "FILE_URI" } }, { "text": "TEXT" } ] }, }
リクエストを送信するには、次のいずれかのオプションを選択します。
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 レスポンスが返されます。
画像または動画を含むテキストの場合の curl コマンドの例:
MODEL_ID="gemini-1.0-pro-vision"
PROJECT_ID="my-project"
PROMPT="Provide a summary with about two sentences for the following article."
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens-d \
$'{
"contents": [
{ "prompt": "'"$PROMPT"'" }
{ "inlineData": {"'"$MIME_TYPE"'": "image/jpeg", "data": "'"$IMAGE_BYTES"'" } },
{ "fileData": {"mimeType": "video/avi", "fileUri":"'"$FILE_URI"'" } } ] }}
テキストのみの場合の curl コマンドの例:
MODEL_ID="gemini-1.0-pro-vision"
PROJECT_ID="my-project"
PROMPT="Provide a summary with about two sentences for the following article."
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens-d \
$'{
"contents": [
{ "prompt": "'"$PROMPT"'"}
],
}'
料金と割り当て
CountTokens
API の使用に料金や割り当ての制限はありません。CountTokens
API と ComputeTokens
API の最大の割り当ては、1 分あたり 3,000 リクエストです。
次のステップ
- チャット プロンプトをテストする方法を学習する。
- テキスト プロンプトのテスト方法を学習する。