A API CountTokens calcula o número de tokens de entrada antes de enviar um pedido à API Gemini.
Use a API CountTokens para evitar que os pedidos excedam a janela de contexto do modelo e estime os potenciais custos com base nos carateres ou tokens faturáveis.
A API CountTokens pode usar o mesmo parâmetro contents
que os pedidos de inferência da API Gemini.
Modelos suportados
- Pré-visualização de imagens do Gemini 2.5 Flash (pré-visualização)
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash com geração de imagens (pré-visualização)
- Vertex AI Model Optimizer (experimental)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
- Gemini 2.0 Flash-Lite
Lista de parâmetros
Esta classe é constituída por duas propriedades principais: role
e parts
. A propriedade role
denota o indivíduo que produz o conteúdo, enquanto a propriedade parts
contém vários elementos, cada um representando um segmento de dados numa mensagem.
Parâmetros | |
---|---|
|
Opcional: A identidade da entidade que cria a mensagem. Defina a string para uma das seguintes opções:
O valor Para conversas que não envolvem várias interações, este campo pode ser deixado em branco ou não definido. |
|
Uma lista de partes ordenadas que compõem uma única mensagem. As diferentes partes podem ter diferentes tipos MIME da IANA. |
Part
Um tipo de dados que contém conteúdo multimédia que faz parte de uma mensagem Content
multipartes.
Parâmetros | |
---|---|
|
Opcional: Um comando de texto ou um fragmento do código. |
|
Opcional: Dados inline em bytes não processados. |
|
Opcional: Dados armazenados num ficheiro. |
Blob
Blob de conteúdo. Se possível, envie como texto em vez de bytes não processados.
Parâmetros | |
---|---|
|
Tipo MIME IANA dos dados. |
|
Bytes não processados. |
FileData
Dados baseados em URI.
Parâmetros | |
---|---|
|
Tipo MIME IANA dos dados. |
|
O URI do Cloud Storage para o ficheiro que armazena os dados. |
system_instruction
Este campo destina-se a system_instructions
fornecidos pelo utilizador. É igual ao contents
, mas com um apoio técnico limitado dos tipos de conteúdo.
Parâmetros | |
---|---|
|
Tipo MIME IANA dos dados. Este campo é ignorado internamente. |
|
Apenas texto. Instruções que os utilizadores querem transmitir ao modelo. |
FunctionDeclaration
Uma representação estruturada de uma declaração de função, conforme definido pela especificação OpenAPI 3.0, que representa uma função para a qual o modelo pode gerar entradas JSON.
Parâmetros | |
---|---|
|
O nome da função a chamar. |
|
Opcional: Descrição e finalidade da função. |
|
Opcional: Descreve os parâmetros da função no formato de objeto de esquema JSON OpenAPI: especificação OpenAPI 3.0. |
|
Opcional: Descreve a saída da função no formato de objeto de esquema JSON OpenAPI: especificação OpenAPI 3.0. |
Exemplos
Obtenha a contagem de tokens a partir de um comando de texto
Este exemplo contabiliza os tokens de um único comando de texto:
REST
Para obter a contagem de tokens e o número de carateres faturáveis de um comando através da API Vertex AI, envie um pedidoPOST
para o ponto final do modelo do publicador.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION: a região para processar o pedido. As opções
disponíveis incluem o seguinte:
Clique para expandir uma lista parcial das regiões disponíveis
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: o seu ID do projeto.
- MODEL_ID: o ID do modelo multimodal que quer usar.
- ROLE:
A função numa conversa associada ao conteúdo. É necessário especificar uma função, mesmo em exemplos de utilização de uma única interação.
Os valores aceitáveis incluem o seguinte:
USER
: especifica o conteúdo enviado por si.
- TEXT: As instruções de texto a incluir no comando.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
Corpo JSON do pedido:
{ "contents": [{ "role": "ROLE", "parts": [{ "text": "TEXT" }] }] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Deve receber uma resposta JSON semelhante à seguinte.
Python
Instalação
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Saiba como instalar ou atualizar o Go.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
Instalação
npm install @google/genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Saiba como instalar ou atualizar o Java.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Obtenha a contagem de tokens a partir do comando de conteúdo multimédia
Este exemplo conta os tokens de um comando que usa vários tipos de suportes.
REST
Para obter a contagem de tokens e o número de carateres faturáveis de um comando através da API Vertex AI, envie um pedidoPOST
para o ponto final do modelo do publicador.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION: a região para processar o pedido. As opções
disponíveis incluem o seguinte:
Clique para expandir uma lista parcial das regiões disponíveis
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: .
- MODEL_ID: o ID do modelo multimodal que quer usar.
- ROLE:
A função numa conversa associada ao conteúdo. É necessário especificar uma função, mesmo em exemplos de utilização de uma única interação.
Os valores aceitáveis incluem o seguinte:
USER
: especifica o conteúdo enviado por si.
- TEXT: As instruções de texto a incluir no comando.
- FILE_URI:
O URI ou o URL do ficheiro a incluir no comando. Os valores aceitáveis incluem o seguinte:
- URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
gemini-2.0-flash
egemini-2.0-flash-lite
, o limite de tamanho é de 2 GB. - URL HTTP: o URL do ficheiro tem de ser legível publicamente. Pode especificar um ficheiro de vídeo, um ficheiro de áudio e até 10 ficheiros de imagem por pedido. Os ficheiros de áudio, os ficheiros de vídeo e os documentos não podem exceder os 15 MB.
- URL do vídeo do YouTube: o vídeo do YouTube tem de ser propriedade da conta que usou para iniciar sessão na Google Cloud consola ou ser público. Apenas é suportado um URL de vídeo do YouTube por pedido.
Quando especifica um
fileURI
, também tem de especificar o tipo de suporte (mimeType
) do ficheiro. Se o VPC Service Controls estiver ativado, a especificação de um URL de ficheiro multimédia parafileURI
não é suportada. - URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
- MIME_TYPE:
o tipo de suporte do ficheiro especificado nos campos
data
oufileUri
Os valores aceitáveis incluem o seguinte:Clique para expandir os tipos MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
Corpo JSON do pedido:
{ "contents": [{ "role": "ROLE", "parts": [ { "file_data": { "file_uri": "FILE_URI", "mime_type": "MIME_TYPE" } }, { "text": "TEXT } ] }] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Deve receber uma resposta JSON semelhante à seguinte.
Python
Instalação
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Saiba como instalar ou atualizar o Go.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
Instalação
npm install @google/genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Saiba como instalar ou atualizar o Java.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
O que se segue?
- Saiba mais sobre a API Gemini.