En esta página, se muestra cómo obtener el recuento de tokens y la cantidad de caracteres facturables para un prompt.
Modelos compatibles
Los siguientes modelos de base permiten obtener recuentos de tokens de prompts:
gemini-1.0-pro
gemini-1.0-pro-vision
Obtén el recuento de tokens de una instrucción
Puedes obtener el recuento de tokens y la cantidad de caracteres facturables de un mensaje mediante la API de Vertex AI.
Python
Si deseas obtener información para instalar o actualizar el SDK de Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
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: la región para procesar la solicitud. Las opciones
disponibles incluyen las siguientes:
Haz clic para expandir las regiones disponibles.
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: El ID del proyecto.
- MODEL_ID: el ID del modelo multimodal
que deseas usar. Las opciones son las siguientes:
gemini-1.0-pro-vision
gemini-1.0-pro
- ROLE:
el rol en una conversación asociada con el contenido. Especificar un rol es obligatorio incluso en
casos de uso de un solo turno.
Los valores aceptables son los siguientes:
USER
: especifica el contenido que envías.
- TEXT: las instrucciones de texto que se incluirán en el mensaje.
- IMAGE_BYTES: Es una secuencia de bytes en lugar de caracteres.
- FILE_URI: el URI de Cloud Storage de la imagen o el video que se incluirá en el mensaje. El bucket que almacena el archivo debe estar en el mismo proyecto de Google Cloud que envía la solicitud. También debes especificar MIMETYPE.
- MIME_TYPE:
el tipo de medio de la imagen o el video especificados en los campos
data
ofileUri
. Los valores aceptables son los siguientes:Haz clic para expandir los tipos de MIME.
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
HTTP method and URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
Cuerpo JSON de la solicitud:
{ "contents": { "role": "ROLE", "parts": [ { "inlineData": { "mimeType": "MIME_TYPE", "data": "IMAGE_BYTES" } }, { "fileData": { "mimeType": "MIME_TYPE", "fileUri": "FILE_URI" } }, { "text": "TEXT" } ] }, }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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/MODEL_ID:countTokens"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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/MODEL_ID:countTokens" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
A continuación, se muestra un ejemplo del comando curl para texto con imagen o video:
MODEL_ID="gemini-1.0-pro-vision"
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/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens-d \
$'{
"contents": [
{ "prompt": "'"$PROMPT"'" }
{ "inlineData": {"'"$MIME_TYPE"'": "image/jpeg", "data": "'"$IMAGE_BYTES"'" } },
{ "fileData": {"mimeType": "video/avi", "fileUri":"'"$FILE_URI"'" } } ] }}
A continuación, se muestra un ejemplo del comando curl solo para el texto:
MODEL_ID="gemini-1.0-pro-vision"
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/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:computeTokens-d \
$'{
"contents": [
{ "prompt": "'"$PROMPT"'"}
],
}'
Precios y cuota
No se aplican cargos ni restricciones de cuota 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 para probar las instrucciones de chat.
- Obtén información sobre cómo probar los mensajes de texto.