トークンのリストを取得する

このページでは、特定のプロンプトに対してトークンを計算する方法について説明します。

トークンは、言語モデルにとって意味を持つテキストの最小単位です。テキストを理解できるように準備するために、モデルはトークン化を使用します。トークン化とは、文やテキストの大きなチャンクを個々のトークンに分割するプロセスです。分割後、一意のトークンに数値 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 の割り当てと同じです。

次のステップ