Obtén una lista de tokens

En esta página, se muestra cómo calcular los tokens para un mensaje determinado.

Los tokens son la unidad más pequeña de texto que tiene significado para un modelo de lenguaje. Para preparar el texto para su comprensión, los modelos usan la asignación de token, un proceso que divide las oraciones o fragmentos de texto más grandes en tokens individuales. Luego, a cada token único se le asigna un ID numérico. Esto permite que el modelo trabaje con texto como números. Cuando creas un token, un modelo de lenguaje grande (LLM) puede calcular las relaciones estadísticas entre los tokens y produce el siguiente token más probable en una secuencia de tokens.

Modelos compatibles

Los siguientes modelos base admiten obtener una lista de tokens e IDs de tokens:

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

Obtén una lista de tokens e IDs de token para un prompt

Puedes obtener una lista de tokens y los IDs de tokens mediante la API de Vertex AI.

REST

Para obtener una lista de tokens e IDs de token para un mensaje mediante la API de Vertex AI, envía una solicitud POST al extremo del modelo del publicador.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto.
  • MODEL_ID: El nombre del modelo para el que deseas calcular los tokens para tu prompt. Las opciones del modelo de base son las siguientes:
    • text-bison
    • chat-bison
    • textembedding-gecko
    • code-bison
    • codechat-bison
    • code-gecko
    Para especificar una versión estable, agrega un número de versión al nombre del modelo, como @001 al nombre del modelo. También puedes especificar una versión más reciente si no agregas un número de versión al nombre del modelo. Para saber qué versiones del modelo *estables* están disponibles, consulta Versiones de modelos estables disponibles.
  • PROMPT: El prompt para calcular los tokens. (No agregues comillas alrededor del mensaje aquí).

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

Los tokens de salida se representan en la cadena base64. Para facilitar la lectura, puedes volver a convertir el resultado en una cadena normal. A continuación, se muestra un ejemplo:


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

Ejemplo del comando 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"'"}
  ],
}'

Precios y cuota

No se aplican cargos por usar la API de ComputeTokens. Hay una cuota. de 3,000 solicitudes por minuto, la misma cuota para la API de CountTokens.

¿Qué sigue?