CountTokens API 会在向 Gemini API 发送请求之前计算输入词元的数量。
使用 CountTokens API 防止请求超出模型上下文窗口,并根据计费字符数或词元估算潜在费用。
CountTokens API 可以使用与 Gemini API 推理请求相同的 contents
参数。
支持的模型
- Gemini 2.5 Flash(预览版)
- Gemini 2.5 Flash-Lite (预览版)
- Gemini 2.5 Flash 图片
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash(支持图片生成)(预览版)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
- Gemini 2.0 Flash-Lite
参数列表
此类包含两个主要属性:role
和 parts
。role
属性表示生成内容的个人,而 parts
属性包含多个元素,每个元素表示消息中的一段数据。
参数 | |
---|---|
|
可选: 创建消息的实体的身份。请将该字符串设置为以下各项之一:
对于非多轮对话,此字段可以留空或未设置。 |
|
构成单条消息的有序部分的列表。不同的部分可能具有不同的 IANA MIME 类型。 |
Part
包含属于多部分 Content
消息一部分的媒体的数据类型。
参数 | |
---|---|
|
可选: 文本提示或代码段。 |
|
可选: 原始字节中的内嵌数据。 |
|
可选: 存储在文件中的数据。 |
Blob
内容 blob。如果可能,这会以文本而非原始字节的形式发送。
参数 | |
---|---|
|
数据的 IANA MIME 类型。 |
|
原始字节。 |
FileData
基于 URI 的数据。
参数 | |
---|---|
|
数据的 IANA MIME 类型。 |
|
存储数据的文件的 Cloud Storage URI。 |
system_instruction
此字段用于用户提供的 system_instructions
。它与 contents
相同,但对内容类型的支持有限。
参数 | |
---|---|
|
数据的 IANA MIME 类型。此字段在内部被忽略。 |
|
仅限文本。用户希望传递给模型的指令。 |
FunctionDeclaration
OpenAPI 3.0 规范定义的函数声明的结构化表示法,表示模型可能会为其生成 JSON 输入的函数。
参数 | |
---|---|
|
要调用的函数名称。 |
|
可选: 函数的说明和用途。 |
|
可选: 以 OpenAPI JSON 架构对象格式描述函数的参数:OpenAPI 3.0 规范。 |
|
可选: 以 OpenAPI JSON 架构对象格式描述函数的输出:OpenAPI 3.0 规范。 |
示例
从文本问题获取词元数
以下示例计算单个文本问题的词元数:
REST
如需使用 Vertex AI API 获取问题的词元数和计费字符数,请向发布者模型端点发送POST
请求。在使用任何请求数据之前,请先进行以下替换:
- LOCATION:处理请求的区域。可用的选项包括:
点击即可展开可用区域的部分列表
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID:您的项目 ID。
- MODEL_ID:您要使用的多模态模型 ID。
- ROLE:与内容关联的对话中的角色。即使在单轮应用场景中,也需要指定角色。
可接受的值包括:
USER
:指定由您发送的内容。
- TEXT:要包含在提示中的文本说明。
HTTP 方法和网址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
请求 JSON 正文:
{ "contents": [{ "role": "ROLE", "parts": [{ "text": "TEXT" }] }] }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
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
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$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
您应该收到类似以下内容的 JSON 响应。
Python
安装
pip install --upgrade google-genai
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Gen AI SDK 与 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
了解如何安装或更新 Go。
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Gen AI SDK 与 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
安装
npm install @google/genai
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Gen AI SDK 与 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
了解如何安装或更新 Java。
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Gen AI SDK 与 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
从媒体问题获取词元数
此示例会对使用各种媒体类型的问题的词元数进行统计。
REST
如需使用 Vertex AI API 获取问题的词元数和计费字符数,请向发布者模型端点发送POST
请求。在使用任何请求数据之前,请先进行以下替换:
- LOCATION:处理请求的区域。可用的选项包括:
点击即可展开可用区域的部分列表
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID:。
- MODEL_ID:您要使用的多模态模型 ID。
- ROLE:与内容关联的对话中的角色。即使在单轮应用场景中,也需要指定角色。
可接受的值包括:
USER
:指定由您发送的内容。
- TEXT:要包含在提示中的文本说明。
- FILE_URI:要包含在提示中的文件的 URI 或网址。可接受的值包括:
- Cloud Storage 存储桶 URI:对象必须可公开读取,或者位于发送请求的同一 Google Cloud 项目中。对于
gemini-2.0-flash
和gemini-2.0-flash-lite
,大小限制为 2 GB。 - HTTP 网址:文件网址必须可公开读取。您可以为每个请求指定一个视频文件、一个音频文件和最多 10 个图片文件。音频文件、视频文件和文档的大小不得超过 15 MB。
- YouTube 视频网址:YouTube 视频必须由您用于登录 Google Cloud 控制台的账号所拥有,或者是公开的。每个请求仅支持一个 YouTube 视频网址。
指定
fileURI
时,您还必须指定文件的媒体类型 (mimeType
)。 如果启用了 VPC Service Controls,则不支持为fileURI
指定媒体文件网址。 - Cloud Storage 存储桶 URI:对象必须可公开读取,或者位于发送请求的同一 Google Cloud 项目中。对于
- MIME_TYPE:在
data
或fileUri
字段中指定的文件的媒体类型。可接受的值包括:点击即可展开 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
HTTP 方法和网址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
请求 JSON 正文:
{ "contents": [{ "role": "ROLE", "parts": [ { "file_data": { "file_uri": "FILE_URI", "mime_type": "MIME_TYPE" } }, { "text": "TEXT } ] }] }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
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
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$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
您应该收到类似以下内容的 JSON 响应。
Python
安装
pip install --upgrade google-genai
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Gen AI SDK 与 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
了解如何安装或更新 Go。
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Gen AI SDK 与 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
安装
npm install @google/genai
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Gen AI SDK 与 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
了解如何安装或更新 Java。
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Gen AI SDK 与 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
后续步骤
- 详细了解 Gemini API。