このページでは、特定のプロンプトに対してトークンを計算する方法について説明します。
トークンは、言語モデルにとって意味を持つテキストの最小単位です。テキストを理解できるように準備するために、モデルはトークン化を使用します。トークン化とは、文やテキストの大きなチャンクを個々のトークンに分割するプロセスです。分割後、一意のトークンに数値 ID が割り当てられます。これにより、モデルはテキストを数値として処理できます。トークンを作成すると、大規模言語モデル(LLM)がトークン間の統計的関係を計算し、一連のトークンの中で次に可能性が高いトークンを生成できます。
サポートされているモデル
次の基盤モデルは、トークンとトークン ID のリストの取得をサポートしています。
text-bison
chat-bison
textembedding-gecko
code-bison
codechat-bison
code-gecko
プロンプトのトークンとトークン ID のリストを取得する
トークンとトークン ID のリストを取得するには、Vertex AI API を使用します。
REST
Vertex AI API を使用してプロンプトのトークンとトークン ID のリストを取得するには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- MODEL_ID: プロンプトのトークンを計算するモデルの名前。基盤モデルのオプションは次のとおりです。
text-bison
chat-bison
textembedding-gecko
code-bison
codechat-bison
code-gecko
@001
をモデル名に追加)することで、安定バージョンを指定できます。 バージョン番号をモデル名に追加しないことで、最新バージョンを指定することもできます。利用可能な * 安定 * モデル バージョンについては、利用可能な安定モデル バージョンをご覧ください。 - PROMPT: トークンを計算するプロンプト(ここでは、プロンプトを引用符で囲まないでください)。
HTTP メソッドと URL:
POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens
リクエストの本文(JSON):
{ "instances": [ { "prompt": "PROMPT"} ], }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "instances": [ { "prompt": "PROMPT"} ], } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "instances": [ { "prompt": "PROMPT"} ], } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$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://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens" | Select-Object -Expand Content
出力トークンは base64 文字列で表されます。読みやすくするために、出力を通常の文字列に戻すことができます。以下に例を示します。
{ "tokensInfo": [ { "tokens": [ "IFByb3ZpZGU=", "IGE=", "IHN1bW1hcnk=", "IG9m" ], "tokenIds": [ "45895", "1016", "14292", "1024" ] } ] }
curl コマンドの例
MODEL_ID="text-bison"
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/v1beta1/projects/${PROJECT_ID}/locations/us-central1/publishers/google/models/${MODEL_ID}:computeTokens -d \
$'{
"instances": [
{ "prompt": "'"$PROMPT"'"}
],
}'
料金と割り当て
ComputeTokens
API の使用に対して料金は発生しません。1 分あたり 3,000 件のリクエストという割り当て上限があります。これは CountTokens
API の割り当てと同じです。
次のステップ
- トークンをカウントする方法を確認する。
- チャット プロンプトのテスト方法を確認する。
- テキスト プロンプトのテスト方法を学習する。
- テキスト エンベディングの取得方法を学習する。