Obtenir une liste de jetons

Cette page vous explique comment calculer des jetons pour une invite 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 des phrases ou des fragments de texte plus volumineux en jetons individuels. Ensuite, chaque jeton unique se voit attribuer un ID numérique. Cela permet au modèle de travailler avec du texte sous forme de 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 invite

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 invite à 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 invite. 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 : l'invite pour laquelle calculer les jetons. (N'ajoutez pas de guillemets autour de l'invite 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 dans une chaîne en 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