Obtenir le nombre de jetons et les caractères facturables

Les modèles d'IA générative décomposent les données textuelles en unités appelées jetons pour le traitement. La manière dont les données textuelles sont converties en jetons dépend de la fonction de tokenisation utilisée. Un jeton peut consister en caractères, en mots ou en expressions. Chaque modèle dispose d'un nombre maximal de jetons qu'il peut gérer dans une requête et une réponse. Cette page vous explique comment obtenir le nombre de jetons et le nombre de caractères facturables pour une requête.

Modèles compatibles

Les modèles de fondation suivants sont compatibles avec l'obtention du nombre de jetons de requête:

  • text-bison
  • chat-bison
  • code-bison
  • codechat-bison
  • code-gecko
  • textembedding-gecko

Pour savoir comment obtenir le nombre de jetons de requête pour les modèles Gemini, consultez les instructions d'obtention du nombre de jetons pour l'API Vertex AI Gemini.

Obtenir le nombre de jetons pour une requête

Vous pouvez obtenir le nombre de jetons et le nombre de caractères facturables d'une requête à l'aide de l'API countTokens. Le format d'entrée pour countTokens dépend du modèle que vous utilisez. Chacun de ces formats d'entrée est identique à celui utilisé pour predict.

text-bison

REST

Pour obtenir le nombre de jetons et le nombre de caractères facturables d'une requête à l'aide de l'API Vertex AI, envoyez une requête POST au point de terminaison du modèle de diffuseur.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : saisissez une région compatible. Pour obtenir la liste des régions compatibles, consultez la section Emplacements disponibles.
  • PROJECT_ID : l'ID de votre projet.
  • PROMPT: requête pour obtenir le nombre de jetons et les caractères facturables. (N'ajoutez pas de guillemets autour de la requête ici.)

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/text-bison:countTokens

Corps JSON de la requête :

{
  "instances": [
    { "prompt": "PROMPT" }
  ]
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "instances": [
    { "prompt": "PROMPT" }
  ]
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

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/text-bison:countTokens"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "instances": [
    { "prompt": "PROMPT" }
  ]
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/text-bison:countTokens" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

{
  "totalTokens": 12,
  "totalBillableCharacters": 54
}

Exemple de commande curl

PROJECT_ID="PROJECT_ID"

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/text-bison:countTokens -d \
$'{
  "instances": [
    { "prompt": "Give me ten interview questions for the role of program manager." },
    { "prompt": "List some good qualities for a program manager." }
  ]
}'

chat-bison

REST

Pour obtenir le nombre de jetons et le nombre de caractères facturables d'une requête à l'aide de l'API Vertex AI, envoyez une requête POST au point de terminaison du modèle de diffuseur.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : saisissez une région compatible. Pour obtenir la liste des régions compatibles, consultez la section Emplacements disponibles.
  • PROJECT_ID : l'ID de votre projet.
  • CONTEXT : facultatif. Le contexte peut consister en instructions que vous fournissez au modèle sur la manière dont il doit répondre ou les informations qu'il utilise ou les références pour générer une réponse. Ajoutez des informations contextuelles dans votre requête lorsque vous devez fournir des informations au modèle, ou si vous souhaitez limiter les réponses aux éléments figurant dans le contexte.
  • EXAMPLE_AUTHOR_1 : auteur de EXAMPLE_INPUT (l'utilisateur).
  • EXAMPLE_INPUT : exemple de message.
  • EXAMPLE_AUTHOR_2 : auteur de EXAMPLE_OUTPUT (le bot).
  • EXAMPLE_OUTPUT : exemple de réponse idéale
  • AUTHOR_1 : auteur du message (l'utilisateur).
  • CONTENT : contenu du message.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/chat-bison:countTokens

Corps JSON de la requête :

{
  "instances": [
    {
      "context": "CONTEXT",
      "examples": [
        {
          "input": {
            "author": "EXAMPLE_AUTHOR_1",
            "content": "EXAMPLE_INPUT"
          },
          "output": {
            "author": "EXAMPLE_AUTHOR_2",
            "content": "EXAMPLE_OUTPUT"
          }
        }
      ],
      "messages": [
        {
          "author": "AUTHOR_1",
          "content": "CONTENT"
        }
      ]
    }
  ]
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "instances": [
    {
      "context": "CONTEXT",
      "examples": [
        {
          "input": {
            "author": "EXAMPLE_AUTHOR_1",
            "content": "EXAMPLE_INPUT"
          },
          "output": {
            "author": "EXAMPLE_AUTHOR_2",
            "content": "EXAMPLE_OUTPUT"
          }
        }
      ],
      "messages": [
        {
          "author": "AUTHOR_1",
          "content": "CONTENT"
        }
      ]
    }
  ]
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

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/chat-bison:countTokens"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "instances": [
    {
      "context": "CONTEXT",
      "examples": [
        {
          "input": {
            "author": "EXAMPLE_AUTHOR_1",
            "content": "EXAMPLE_INPUT"
          },
          "output": {
            "author": "EXAMPLE_AUTHOR_2",
            "content": "EXAMPLE_OUTPUT"
          }
        }
      ],
      "messages": [
        {
          "author": "AUTHOR_1",
          "content": "CONTENT"
        }
      ]
    }
  ]
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/chat-bison:countTokens" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

{
  "totalTokens": 43,
  "totalBillableCharacters": 182
}

Exemple de commande curl

PROJECT_ID="PROJECT_ID"

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/chat-bison:countTokens -d \
$'{
  "instances": [
    {
      "context": "You are Captain Bartholomew, the most feared pirate dog of the seven seas.",
      "examples": [
        {
          "input": {
            "author": "User",
            "content": "Hello!"
          },
          "output": {
            "author": "Captain Barktholomew",
            "content": "Argh! What brings ye to my ship?"
          }
        },
        {
          "input": {
            "author": "User",
            "content": "Who are you?"
          },
          "output": {
            "author": "Captain Barktholomew",
            "content": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
          }
        }
      ],
      "messages": [
        {
          "author": "User",
          "content": "Hello!"
        },
        {
          "author": "Captain Barktholomew",
          "content": "Ahoy there, landlubber! What brings ye to me ship?"
        },
        {
          "author": "User",
          "content": "Can you tell me a tale of your most recent adventure?"
        },
        {
          "author": "Captain Barktholomew",
          "content": "Aye, I\'ll spin ye a tale of me latest adventure....",
        },
        {
          "author": "User",
          "content": "I\'m listening."
        }
      ]
    }
  ]
}'

code-bison

REST

Pour obtenir le nombre de jetons et le nombre de caractères facturables d'une requête à l'aide de l'API Vertex AI, envoyez une requête POST au point de terminaison du modèle de diffuseur.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : saisissez une région compatible. Pour obtenir la liste des régions compatibles, consultez la section Emplacements disponibles.
  • PROJECT_ID : l'ID de votre projet.
  • PREFIX : pour les modèles de code, prefix représente le début d'un code de programmation significatif ou une requête en langage naturel décrivant le code à générer.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-bison:countTokens

Corps JSON de la requête :

{
  "instances": [
    {
      "prefix": "PREFIX"
    }
  ]
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "instances": [
    {
      "prefix": "PREFIX"
    }
  ]
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

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/code-bison:countTokens"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "instances": [
    {
      "prefix": "PREFIX"
    }
  ]
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-bison:countTokens" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

{
  "totalTokens": 43,
  "totalBillableCharacters": 182
}

Exemple de commande curl

PROJECT_ID=PROJECT_ID

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/code-bison:countTokens -d \
$'{
  "instances": [
    {
      "prefix": "Write a function that checks if a year is a leap year."
    }
  ]
}'

codechat-bison

REST

Pour obtenir le nombre de jetons et le nombre de caractères facturables d'une requête à l'aide de l'API Vertex AI, envoyez une requête POST au point de terminaison du modèle de diffuseur.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : saisissez une région compatible. Pour obtenir la liste des régions compatibles, consultez la section Emplacements disponibles.
  • PROJECT_ID : l'ID de votre projet.
  • AUTHOR : auteur du message.
  • CONTENT : contenu du message.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/codechat-bison:countTokens

Corps JSON de la requête :

{
  "instances": {
    "messages": [
      {
         "author": "AUTHOR",
         "content": "CONTENT"
      }
    ]
  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "instances": {
    "messages": [
      {
         "author": "AUTHOR",
         "content": "CONTENT"
      }
    ]
  }
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

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/codechat-bison:countTokens"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "instances": {
    "messages": [
      {
         "author": "AUTHOR",
         "content": "CONTENT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/codechat-bison:countTokens" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

{
  "totalTokens": 43,
  "totalBillableCharacters": 182
}

Exemple de commande curl

PROJECT_ID=PROJECT_ID

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/codechat-bison:countTokens -d \
$'{
  "instances": {
    "messages": [
      {
        "author": "user",
        "content": "Hi, how are you?"
      },
      {
        "author": "system",
        "content": "I am doing good. What Can I help you with in the coding world?"
      },
      {
        "author": "user",
        "content": "Please help write a function to calculate the min of two numbers"
      }
    ]
  }
}'

code-gecko

REST

Pour obtenir le nombre de jetons et le nombre de caractères facturables d'une requête à l'aide de l'API Vertex AI, envoyez une requête POST au point de terminaison du modèle de diffuseur.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : saisissez une région compatible. Pour obtenir la liste des régions compatibles, consultez la section Emplacements disponibles.
  • PROJECT_ID : l'ID de votre projet.
  • PREFIX : pour les modèles de code, prefix représente le début d'un code de programmation significatif ou une requête en langage naturel décrivant le code à générer. Le modèle tente de remplir le code entre le prefix et le suffix.
  • SUFFIX : pour la fin du code, suffix représente la fin d'un code de programmation pertinent. Le modèle tente de remplir le code entre le prefix et le suffix.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-gecko:countTokens

Corps JSON de la requête :

{
  "instances": [
    {
      "prefix": "PREFIX",
      "suffix": "SUFFIX"
    }
  ]
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "instances": [
    {
      "prefix": "PREFIX",
      "suffix": "SUFFIX"
    }
  ]
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

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/code-gecko:countTokens"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "instances": [
    {
      "prefix": "PREFIX",
      "suffix": "SUFFIX"
    }
  ]
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-gecko:countTokens" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

{
  "totalTokens": 43,
  "totalBillableCharacters": 182
}

Exemple de commande curl

PROJECT_ID=PROJECT_ID

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/code-gecko:countTokens -d \
$'{
  "instances": [
    {
      "prefix": "def reverse_string(s):",
      "suffix": ""
    }
  ]
}'

textembedding-gecko

REST

Pour obtenir le nombre de jetons et le nombre de caractères facturables d'une requête à l'aide de l'API Vertex AI, envoyez une requête POST au point de terminaison du modèle de diffuseur.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : saisissez une région compatible. Pour obtenir la liste des régions compatibles, consultez la section Emplacements disponibles.
  • PROJECT_ID : l'ID de votre projet.
  • TEXT : texte pour lequel vous souhaitez générer des représentations vectorielles continues.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/textembedding-gecko:countTokens

Corps JSON de la requête :

{
  "instances": [
    {
      "content": "TEXT"
    }
  ]
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "instances": [
    {
      "content": "TEXT"
    }
  ]
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

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/textembedding-gecko:countTokens"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "instances": [
    {
      "content": "TEXT"
    }
  ]
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/textembedding-gecko:countTokens" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

{
  "totalTokens": 43,
  "totalBillableCharacters": 182
}

Exemple de commande curl

PROJECT_ID=PROJECT_ID

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/textembedding-gecko:countTokens -d \
$'{
  "instances": [
    {
      "content": "What is life?"
    }
  ]
}'

Tarifs et quotas

L'utilisation de l'API CountTokens est gratuite. Le quota maximal pour l'API CountTokens et pour l'API ComputeTokens est de 3000 requêtes par minute.

Étapes suivantes