Obtenir une liste de jetons

Cette page vous explique comment calculer les jetons pour une requête donnée.

Les jetons sont la plus petite unité de texte portant une signification pour un modèle de langage. Pour préparer le texte à la compréhension, les modèles utilisent la tokenisation, un processus qui décompose les phrases ou les blocs de texte plus volumineux en jetons individuels. Ensuite, chaque jeton unique se voit attribuer un ID numérique. Cela permet au modèle de traiter le texte comme des nombres. Lorsque vous créez un jeton, un grand modèle de langage (LLM) peut calculer les relations statistiques entre les jetons et produire le prochain jeton le plus probable dans une séquence de jetons.

Modèles compatibles

Les modèles de fondation suivants sont compatibles avec l'obtention d'une liste de jetons et d'ID de jetons :

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

Obtenir la liste des jetons et des ID de jetons pour une requête

Vous pouvez obtenir la liste des jetons et des ID de jetons à l'aide de l'API Vertex AI.

REST

Pour obtenir la liste des jetons et des ID de jetons d'une requête à l'aide de l'API Vertex AI, envoyez une requête POST au point de terminaison du modèle de l'éditeur.

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

  • PROJECT_ID : l'ID de votre projet.
  • MODEL_ID : nom du modèle pour lequel vous souhaitez calculer les jetons pour votre requête. Les options de modèle de base sont les suivantes :
    • text-bison
    • chat-bison
    • textembedding-gecko
    • code-bison
    • codechat-bison
    • code-gecko
    Vous pouvez spécifier une version stable en ajoutant un numéro de version, par exemple @001, au nom du modèle. Vous pouvez également spécifier une dernière version en n'ajoutant pas de numéro de version au nom du modèle. Pour savoir quelles versions de modèles *stables* sont disponibles, consultez la section Versions de modèles stables disponibles.
  • PROMPT : la requête pour laquelle calculer les jetons. (N'ajoutez pas de guillemets autour de la requête ici.)

Méthode HTTP et URL :

POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens

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://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens"

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://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens" | Select-Object -Expand Content

Les jetons de sortie sont représentés par une chaîne base64. Pour améliorer la lisibilité, vous pouvez reconvertir la sortie en chaîne standard. Voici un exemple :


  {
    "tokensInfo": [
      {
        "tokens": [
          "IFByb3ZpZGU=",
          "IGE=",
          "IHN1bW1hcnk=",
          "IG9m"
        ],
        "tokenIds": [
          "45895",
          "1016",
          "14292",
          "1024"
        ]
      }
    ]
  }

Exemple de commande 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"'"}
  ],
}'

Tarifs et quotas

L'utilisation de l'API ComputeTokens est gratuite. Il existe une restriction de quota de 3 000 requêtes par minute, soit le même quota pour l'API CountTokens.

Étapes suivantes