Los modelos de IA generativa dividen los datos de texto en unidades llamadas tokens para su procesamiento. La forma en que los datos de texto se convierten en tokens depende del tokenizador que se usa. Un token pueden ser caracteres, palabras o frases. Cada modelo tiene una cantidad máxima de tokens que puede manejar en una instrucción y una respuesta. En esta página, se muestra cómo obtener el recuento de tokens y la cantidad de caracteres facturables para una instrucción.
Modelos compatibles
Los siguientes modelos base admiten obtener recuentos de tokens de instrucción:
text-bison
chat-bison
code-bison
codechat-bison
code-gecko
textembedding-gecko
Si deseas obtener información sobre cómo obtener el recuento de tokens de instrucción para los modelos de Gemini, consulta las instrucciones de recuento de tokens para la API de Vertex AI Gemini.
Obtén el recuento de tokens de una instrucción
Puedes obtener el recuento de tokens y la cantidad de caracteres facturables de una instrucción mediante la API de countTokens
. Importante: El formato de entrada para countTokens
depende del modelo que uses. Cada formato de entrada es el mismo que el formato de entrada predict
.
text-bison
REST
Para obtener el recuento de tokens y la cantidad de caracteres facturables de un prompt 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:
- LOCATION: Ingresa una región compatible. Para obtener la lista completa de regiones admitidas, consulta Ubicaciones disponibles.
- PROJECT_ID: El ID del proyecto.
- PROMPT: La instrucción para obtener el recuento de tokens y los caracteres facturables. (No agregues comillas alrededor del mensaje aquí).
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/text-bison:countTokens
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/text-bison:countTokens"
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/text-bison:countTokens" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "totalTokens": 12, "totalBillableCharacters": 54 }
Ejemplo del comando 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
Para obtener el recuento de tokens y la cantidad de caracteres facturables de un prompt 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:
- LOCATION: Ingresa una región compatible. Para obtener la lista completa de regiones admitidas, consulta Ubicaciones disponibles.
- PROJECT_ID: El ID del proyecto.
- CONTEXT: Opcional El contexto pueden ser instrucciones que le das al modelo sobre cómo debe responder o sobre la información que usa o referencias para generar una respuesta. Agrega información contextual en tu instrucción si necesitas dar información al modelo o restringir los límites de las respuestas a solo lo que está dentro del contexto.
- EXAMPLE_AUTHOR_1: El autor de
EXAMPLE_INPUT
(el usuario). - EXAMPLE_INPUT: Ejemplo de un mensaje.
- EXAMPLE_AUTHOR_2: El autor de
EXAMPLE_OUTPUT
(el bot). - EXAMPLE_OUTPUT: Ejemplo de la respuesta ideal.
- AUTHOR_1: El autor del mensaje (el usuario).
- CONTENT: El contenido del mensaje.
HTTP method and URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/chat-bison:countTokens
Cuerpo JSON de la solicitud:
{ "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" } ] } ] }
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": [ { "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
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/chat-bison:countTokens"
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": [ { "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
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/chat-bison:countTokens" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "totalTokens": 43, "totalBillableCharacters": 182 }
Ejemplo del comando 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
Para obtener el recuento de tokens y la cantidad de caracteres facturables de un prompt 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:
- LOCATION: Ingresa una región compatible. Para obtener la lista completa de regiones admitidas, consulta Ubicaciones disponibles.
- PROJECT_ID: El ID del proyecto.
- PREFIX:
En los modelos de código,
prefix
representa el comienzo de un código de programación significativo o un mensaje de lenguaje natural que describe el código que se generará.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-bison:countTokens
Cuerpo JSON de la solicitud:
{ "instances": [ { "prefix": "PREFIX" } ] }
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": [ { "prefix": "PREFIX" } ] } 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-bison:countTokens"
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": [ { "prefix": "PREFIX" } ] } '@ | 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-bison:countTokens" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "totalTokens": 43, "totalBillableCharacters": 182 }
Ejemplo del comando 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
Para obtener el recuento de tokens y la cantidad de caracteres facturables de un prompt 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:
- LOCATION: Ingresa una región compatible. Para obtener la lista completa de regiones admitidas, consulta Ubicaciones disponibles.
- PROJECT_ID: El ID del proyecto.
- AUTHOR: El autor del mensaje.
- CONTENT: El contenido del mensaje.
HTTP method and URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/codechat-bison:countTokens
Cuerpo JSON de la solicitud:
{ "instances": { "messages": [ { "author": "AUTHOR", "content": "CONTENT" } ] } }
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": { "messages": [ { "author": "AUTHOR", "content": "CONTENT" } ] } } 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/codechat-bison:countTokens"
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": { "messages": [ { "author": "AUTHOR", "content": "CONTENT" } ] } } '@ | 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/codechat-bison:countTokens" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "totalTokens": 43, "totalBillableCharacters": 182 }
Ejemplo del comando 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
Para obtener el recuento de tokens y la cantidad de caracteres facturables de un prompt 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:
- LOCATION: Ingresa una región compatible. Para obtener la lista completa de regiones admitidas, consulta Ubicaciones disponibles.
- PROJECT_ID: El ID del proyecto.
- PREFIX:
En los modelos de código,
prefix
representa el comienzo de un fragmento de código de programación significativo o una instrucción de lenguaje natural que describe el código que se generará. El modelo intenta completar el código entreprefix
ysuffix
. - SUFFIX:
para completar el código,
suffix
representa el final de un fragmento de código de programación significativo. El modelo intenta completar el código entreprefix
ysuffix
.
HTTP method and URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-gecko:countTokens
Cuerpo JSON de la solicitud:
{ "instances": [ { "prefix": "PREFIX", "suffix": "SUFFIX" } ] }
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": [ { "prefix": "PREFIX", "suffix": "SUFFIX" } ] } 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-gecko:countTokens"
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": [ { "prefix": "PREFIX", "suffix": "SUFFIX" } ] } '@ | 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/code-gecko:countTokens" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "totalTokens": 43, "totalBillableCharacters": 182 }
Ejemplo del comando 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
Para obtener el recuento de tokens y la cantidad de caracteres facturables de un prompt 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:
- LOCATION: Ingresa una región compatible. Para obtener la lista completa de regiones admitidas, consulta Ubicaciones disponibles.
- PROJECT_ID: El ID del proyecto.
- TEXT: El texto para el que deseas generar incorporaciones.
HTTP method and URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/textembedding-gecko:countTokens
Cuerpo JSON de la solicitud:
{ "instances": [ { "content": "TEXT" } ] }
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": [ { "content": "TEXT" } ] } 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/textembedding-gecko:countTokens"
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": [ { "content": "TEXT" } ] } '@ | 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/textembedding-gecko:countTokens" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "totalTokens": 43, "totalBillableCharacters": 182 }
Ejemplo del comando 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?" } ] }'
Precios y cuota
No se aplican cargos por usar la API de CountTokens
. La cuota máxima para la API de CountTokens
y la API de ComputeTokens
es de 3,000 solicitudes por minuto.
¿Qué sigue?
- Obtén información sobre cómo procesar tokens.
- Obtén información para probar las instrucciones de chat.
- Obtén información sobre cómo probar los mensajes de texto.
- Obtén más información para obtener incorporaciones de texto.