本文档介绍如何使用监督式微调来调优 Gemini 模型。
准备工作
在开始之前,您必须准备好监督式微调数据集。根据您的应用场景,准备数据集的要求会有所不同:
支持的模型
以下 Gemini 模型支持监督式调优:
点击即可展开支持的模型
创建调优作业
您可以使用 Google Cloud 控制台、Google Gen AI SDK、REST API 或 Colab Enterprise 创建监督式微调作业。
可选:(预览版)对于 Gemini 2.5 及更早的模型,添加 evaluationConfig 以在调优作业完成后使用 Gen AI Evaluation Service 自动运行评估。此评估配置适用于 us-central1 区域。
控制台
如需使用Google Cloud 控制台通过监督式微调功能来调整文本模型,请执行以下步骤:
- 在 Google Cloud 控制台的 Gemini Enterprise Agent Platform 部分中,前往 Agent Studio 页面。
- 点击创建经调整的模型。
- 在模型详情下,配置以下内容:
- 在已调优模型的名称字段中,输入新的调优后模型的名称,最多 128 个字符。
- 在基本模型字段中,选择要调优的基础模型。
- 在区域下拉字段中,选择运行流水线调优作业以及部署调优后模型的区域。
- 在调优设置下,配置以下内容:
- 在周期数字段中,输入要为模型调优运行的步数。
- 在适配器大小字段中,输入要用于模型调优的适配器大小。
- 在学习速率调节系数字段中,输入每次迭代时的步长。默认值为 1。 。
- 可选:如需停用中间检查点并仅使用最新检查点,请点击仅导出最后一个检查点切换开关。
- 点击继续。
调优数据集页面随即会打开。
- 如需上传数据集文件,请选择以下选项之一:
- 如果您尚未上传数据集,请选中将文件上传到 Cloud Storage 单选按钮。
- 在选择 JSONL 文件字段中,点击浏览,然后选择数据集文件。
- 在数据集位置字段中,点击浏览并选择要存储数据集文件的 Cloud Storage 存储桶。
- 如果您的数据集文件已在 Cloud Storage 存储桶中,请选择 Cloud Storage 上的现有文件单选按钮。
- 在 Cloud Storage 文件路径字段中,点击浏览,然后选择数据集文件所在的 Cloud Storage 存储桶。
- 如果您尚未上传数据集,请选中将文件上传到 Cloud Storage 单选按钮。
- (可选)如需在训练期间获取验证指标,请点击启用模型验证切换开关。
- 在验证数据集文件中,输入验证数据集的 Cloud Storage 路径。
- 点击开始调优。
您的新模型会显示在“调优和蒸馏”页面上的调优模型部分下。模型调优完成后,状态会显示成功。
Python
安装 Google Gen AI SDK:
pip install --upgrade google-genai
如需了解详情,请参阅相应的 SDK 参考文档。
设置环境变量,以便将 Google Gen AI SDK 与 Gemini Enterprise Agent Platform 搭配使用:
# Replace PROJECT_ID with your project ID, and set GOOGLE_CLOUD_LOCATION to # the region where the tuning job runs. export GOOGLE_CLOUD_PROJECT=PROJECT_ID export GOOGLE_CLOUD_LOCATION=us # Use us-central1 for Gemini 2.5 and earlier models export GOOGLE_GENAI_USE_ENTERPRISE=True
创建调优作业:
REST
如需创建模型调优作业,请使用 tuningJobs.create 方法发送 POST 请求。某些参数只受部分模型支持。确保仅包含您要调优的模型的适用参数。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的项目 ID。
- TUNING_JOB_REGION:运行调优作业的区域。这也是上传调优后模型的默认区域。对于 Gemini 3 及更高版本的模型,请使用
us或eu多区域端点。 - BASE_MODEL:要调整的基础模型的名称。
- TRAINING_DATASET_URI:训练数据集的 Cloud Storage URI。数据集必须采用 JSONL 文件格式。为获得最佳效果,请提供至少 100 到 500 个样本。如需了解详情,请参阅监督式调优数据集简介。
- VALIDATION_DATASET_URI 可选:验证数据集文件的 Cloud Storage URI。
- EPOCH_COUNT可选:在训练期间,模型完整通过整个训练数据集的次数。如果不设置,则使用预先填充的建议值。
- ADAPTER_SIZE可选:用于调优作业的适配器大小。适配器大小会影响调优作业的可训练参数数量。适配器越大,意味着模型可以学习更复杂的任务,但需要更大的训练数据集和更长的训练时间。
- LEARNING_RATE_MULTIPLIER 可选:要应用于建议的学习速率的调节系数。如果不设置,则使用建议的值。
- EXPORT_LAST_CHECKPOINT_ONLY(可选):设置为
true可仅使用最新的检查点。 - TUNED_MODEL_DISPLAYNAME可选:调优后模型的显示名称。如果未设置,则会生成随机名称。
- KMS_KEY_NAME(可选):用于保护资源的客户管理的加密密钥的 Cloud Key Management Service 资源标识符。密钥的格式为
projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key。密钥需要与计算资源创建位置处于同一区域。如需了解详情,请参阅客户管理的加密密钥 (CMEK)。 - SERVICE_ACCOUNT(可选):运行 tuningJob 工作负载所用的服务账号。如果未指定,则使用项目中的 Agent Platform Secure Fine-Tuning Service Agent。请参阅 Tuning Service Agent。如果您计划使用客户管理的服务账号,则必须向该服务账号授予
roles/aiplatform.tuningServiceAgent角色。此外,还要向客户管理的服务账号授予 Tuning Service Agentroles/iam.serviceAccountTokenCreator角色。
HTTP 方法和网址:
POST https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
请求 JSON 正文:
{
"baseModel": "BASE_MODEL",
"supervisedTuningSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI",
"hyperParameters": {
"epochCount": EPOCH_COUNT,
"adapterSize": "ADAPTER_SIZE",
"learningRateMultiplier": LEARNING_RATE_MULTIPLIER
},
"exportLastCheckpointOnly": EXPORT_LAST_CHECKPOINT_ONLY
},
"tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME",
"encryptionSpec": {
"kmsKeyName": "KMS_KEY_NAME"
},
"serviceAccount": "SERVICE_ACCOUNT"
}
如需发送请求,请选择以下方式之一:
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://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
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://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
示例 curl 命令
PROJECT_ID=PROJECT_ID
LOCATION=us
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://aiplatform.${LOCATION}.rep.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/tuningJobs" \
-d \
$'{
"baseModel": "gemini-3.5-flash",
"supervisedTuningSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI"
},
"tunedModelDisplayName": "tuned_gemini"
}'
REST
如需创建模型调优作业,请使用 tuningJobs.create 方法发送 POST 请求。某些参数只受部分模型支持。确保仅包含您要调优的模型的适用参数。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的项目 ID。
- TUNING_JOB_REGION:运行调优作业的区域。这也是上传调优后模型的默认区域。Gemini 2.5 及更早版本的模型不支持多区域端点。使用区域级端点,例如
us-central1。 - BASE_MODEL:要调整的基础模型的名称。
- TRAINING_DATASET_URI:训练数据集的 Cloud Storage URI。数据集必须采用 JSONL 文件格式。为获得最佳效果,请提供至少 100 到 500 个样本。如需了解详情,请参阅监督式调优数据集简介。
- VALIDATION_DATASET_URI 可选:验证数据集文件的 Cloud Storage URI。
- EPOCH_COUNT可选:在训练期间,模型完整通过整个训练数据集的次数。如果不设置,则使用预先填充的建议值。
- ADAPTER_SIZE可选:用于调优作业的适配器大小。适配器大小会影响调优作业的可训练参数数量。适配器越大,意味着模型可以学习更复杂的任务,但需要更大的训练数据集和更长的训练时间。
- LEARNING_RATE_MULTIPLIER 可选:要应用于建议的学习速率的调节系数。如果不设置,则使用建议的值。
- EXPORT_LAST_CHECKPOINT_ONLY(可选):设置为
true可仅使用最新的检查点。 - METRIC_SPEC(可选):您用于通过 Gen AI Evaluation Service 运行评估的一个或多个指标规范。您可以使用以下指标规范:
pointwiseMetricSpec、pairwiseMetricSpec、exactMatchSpec、bleuSpec和rougeSpec。 - METRIC_SPEC_FIELD_NAME(可选):所选指标规范的必填字段。例如,
metricPromptTemplate - METRIC_SPEC_FIELD_CONTENT(可选):所选指标规范的字段内容。例如,您可以将以下字段内容用于逐点评估:
"Evaluate the fluency of this sentence: {response}. Give score from 0 to 1. 0 - not fluent at all. 1 - very fluent." - CLOUD_STORAGE_BUCKET(可选):用于存储 Gen AI Evaluation Service 所运行评估的结果的 Cloud Storage 存储桶。
- TUNED_MODEL_DISPLAYNAME可选:调优后模型的显示名称。如果未设置,则会生成随机名称。
- KMS_KEY_NAME(可选):用于保护资源的客户管理的加密密钥的 Cloud Key Management Service 资源标识符。密钥的格式为
projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key。密钥需要与计算资源创建位置处于同一区域。如需了解详情,请参阅客户管理的加密密钥 (CMEK)。 - SERVICE_ACCOUNT(可选):运行 tuningJob 工作负载所用的服务账号。如果未指定,则使用项目中的 Agent Platform Secure Fine-Tuning Service Agent。请参阅 Tuning Service Agent。如果您计划使用客户管理的服务账号,则必须向该服务账号授予
roles/aiplatform.tuningServiceAgent角色。此外,还要向客户管理的服务账号授予 Tuning Service Agentroles/iam.serviceAccountTokenCreator角色。
HTTP 方法和网址:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
请求 JSON 正文:
{
"baseModel": "BASE_MODEL",
"supervisedTuningSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI",
"hyperParameters": {
"epochCount": EPOCH_COUNT,
"adapterSize": "ADAPTER_SIZE",
"learningRateMultiplier": LEARNING_RATE_MULTIPLIER
},
"exportLastCheckpointOnly": EXPORT_LAST_CHECKPOINT_ONLY,
"evaluationConfig": {
"metrics": [
{
"aggregationMetrics": ["AVERAGE", "STANDARD_DEVIATION"],
"METRIC_SPEC": {
"METRIC_SPEC_FIELD_NAME":
METRIC_SPEC_FIELD_CONTENT
}
}
],
"outputConfig": {
"gcsDestination": {
"outputUriPrefix": "CLOUD_STORAGE_BUCKET"
}
}
}
},
"tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME",
"encryptionSpec": {
"kmsKeyName": "KMS_KEY_NAME"
},
"serviceAccount": "SERVICE_ACCOUNT"
}
如需发送请求,请选择以下方式之一:
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://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
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://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
示例 curl 命令
PROJECT_ID=PROJECT_ID
LOCATION=us-central1
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/tuningJobs" \
-d \
$'{
"baseModel": "gemini-2.5-flash",
"supervisedTuningSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI"
},
"tunedModelDisplayName": "tuned_gemini"
}'
Colab Enterprise
您可以使用 Colab Enterprise 中的侧边栏在 Agent Platform 中创建模型调优作业。侧边栏会将相关代码段添加到您的笔记本中。然后,您需要修改代码段并运行它们,以创建调优作业。如需详细了解如何将侧边栏与 Agent Platform 调优作业搭配使用,请参阅与 Agent Platform 交互以调优模型。
-
在 Google Cloud 控制台中,前往 Colab Enterprise 我的笔记本页面。
-
在区域菜单中,选择包含笔记本的区域。
-
点击您要打开的笔记本。如果您尚未创建笔记本,请创建一个笔记本。
-
在侧边栏中,点击笔记本右侧的 调优按钮。
侧边栏会展开调优标签页。
-
点击调优 Gemini 模型按钮。
Colab Enterprise 会在您的笔记本中添加代码单元,以便您调优 Gemini 模型。
-
在笔记本中,找到存储参数值的代码单元。 您将使用这些参数与 Agent Platform 进行交互。
-
更新以下参数的值:
-
PROJECT_ID:笔记本所在项目的 ID。 -
REGION:笔记本所在的区域。 -
TUNED_MODEL_DISPLAY_NAME:经过调优的模型的名称。
-
-
在下一个代码单元中,更新模型调优参数:
-
source_model:您要使用的 Gemini 模型,例如gemini-2.0-flash-001。 -
train_dataset:训练数据集的网址。 -
validation_dataset:验证数据集的网址。 - 根据需要调整其余参数。
-
-
运行侧边栏添加到笔记本中的代码单元。
-
最后一个代码单元运行完毕后,点击显示的 查看调优作业按钮。
-
侧边栏会显示有关模型调优作业的信息。
- 当指标准备就绪后,监控标签页会显示调优指标。
- 数据集标签页会在数据集处理完毕后显示有关数据集的摘要和指标。
- 详细信息标签页显示有关调优作业的相关信息,例如调优方法和您使用的基准模型(源模型)。
-
调优作业完成后,您可以直接从调优详情标签页转到可测试模型的页面。点击测试。
Google Cloud 控制台会打开 Agent Platform Text chat(文字聊天)页面,您可以在其中测试模型。
调整超参数
建议您提交第一个调优作业,而无需更改超参数。默认值是基于基准测试结果的建议值,可实现最佳模型输出质量。
- 周期数:在训练期间,模型完整通过整个训练数据集的次数。Gemini Enterprise Agent Platform 会根据训练数据集大小自动调整默认值。此值基于基准测试结果,可优化模型输出质量。
- 适配器大小:用于调优作业的适配器大小。适配器大小会影响调优作业的可训练参数数量。适配器越大,意味着模型可以学习更复杂的任务,但需要更大的训练数据集和更长的训练时间。
- 学习速率调节系数:要应用于建议的学习速率的调节系数。您可以增加该值以加快收敛速度,也可以减小该值以避免过拟合。
如需了解有关监督式微调的最佳实践,请参阅博文适用于 Gemini 的监督式微调:最佳实践指南。
查看调优作业列表
您可以使用Google Cloud 控制台、Google Gen AI SDK 或使用 tuningJobs.list 方法发送 GET 请求来查看当前项目中的调优作业列表。
控制台
如需在 Google Cloud 控制台中查看调优作业,请前往 Agent Studio 页面。
Gemini 调优作业列在调优模型部分下的表格中。
Python
REST
如需查看模型调优作业列表,请使用 tuningJobs.list 方法发送 GET 请求。
在使用任何请求数据之前,请先进行以下替换:
HTTP 方法和网址:
GET https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
REST
如需查看模型调优作业列表,请使用 tuningJobs.list 方法发送 GET 请求。
在使用任何请求数据之前,请先进行以下替换:
HTTP 方法和网址:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
获取调优作业的详细信息
如需获取当前项目中调优作业的详细信息,您可以使用Google Cloud 控制台、Google Gen AI SDK 或使用 tuningJobs.get 方法发送 GET 请求。
控制台
-
如需在 Google Cloud 控制台中查看调优作业,请前往 Agent Studio 页面。
-
在调优的模型表中,找到您的模型,然后点击详细信息。
系统会显示模型的详细信息。
Python
REST
如需查看模型调优作业的详细信息,请使用 tuningJobs.get 方法发送 GET 请求并指定 TUNING_JOB_ID。
在使用任何请求数据之前,请先进行以下替换:
HTTP 方法和网址:
GET https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
REST
如需查看模型调优作业的详细信息,请使用 tuningJobs.get 方法发送 GET 请求并指定 TUNING_JOB_ID。
在使用任何请求数据之前,请先进行以下替换:
HTTP 方法和网址:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
取消调优作业
您可以使用 Google Cloud 控制台、Google Gen AI SDK 或使用 tuningJobs.cancel 方法发送 POST 请求来取消当前项目中的调优作业。
控制台
-
如需在 Google Cloud 控制台中取消调优作业,请前往 Agent Studio 页面。
- 在调优的模型表中,点击 管理运行。
- 点击取消。
Python
REST
如需取消模型调优作业,请使用 tuningJobs.cancel 方法发送 POST 请求并指定 TUNING_JOB_ID。
在使用任何请求数据之前,请先进行以下替换:
HTTP 方法和网址:
POST https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://aiplatform.TUNING_JOB_REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
REST
如需取消模型调优作业,请使用 tuningJobs.cancel 方法发送 POST 请求并指定 TUNING_JOB_ID。
在使用任何请求数据之前,请先进行以下替换:
HTTP 方法和网址:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
评估调优后的模型
如果您未配置 Gen AI Evaluation Service 以在调优作业完成后自动运行,则可以使用 Google Gen AI SDK,或者通过使用 generateContent 方法发送 POST 请求,来与经过调优的模型端点进行交互,就像与基础 Gemini 进行交互一样。
对于思考模型,我们建议在调优任务中将思考预算设为 0(对于 Gemini 2.5 及更早的模型)或将思考级别设为 MINIMAL(对于 Gemini 3 及更高版本的模型),以实现最佳性能和成本效益。在监督式微调期间,模型会进行学习以模仿调优数据集中的标准答案,从而省略思考过程。因此,经过调优的模型无需思考预算即可有效地处理任务。
以下示例向模型提示“为什么天空是蓝色的?”这一问题。
控制台
-
如需在 Google Cloud 控制台中查看调优后模型的详细信息,请前往 Agent Studio 页面。
-
在调优的模型表中,选择测试。
系统会显示一个页面,您可以在其中创建与调优后模型进行的对话。
Python
REST
如需使用提示测试调优的模型,请发送 POST 请求并指定 MREP_LOCATION 和 ENDPOINT_ID。
在使用任何请求数据之前,请先进行以下替换:
-
MREP_LOCATION:运行调优作业的 Google Cloud多区域端点位置。接受的值如下:
useu
- PROJECT_ID:您的项目 ID。
- ENDPOINT_ID:来自 GET API 的调优的模型端点 ID。
-
TEMPERATURE:温度 (temperature) 在生成回答期间用于采样,在应用
topP和topK时会生成回答。温度可以控制词元选择的随机性。 较低的温度有利于需要更少开放性或创造性回复的提示,而较高的温度可以带来更具多样性或创造性的结果。温度为0表示始终选择概率最高的词元。在这种情况下,给定提示的回复大多是确定的,但可能仍然有少量变化。如果模型返回的回答过于笼统、过于简短,或者模型给出后备回答,请尝试提高温度。 如果模型进入无限生成状态,将温度提高到至少
0.1可能会改善结果。1.0是建议的温度初始值。 -
TOP_P:Top-P 可更改模型选择输出词元的方式。系统会按照概率从最高到最低的顺序选择 token,直到所选 token 的概率总和等于 top-P 值。例如,如果词元 A、B 和 C 的概率分别为 0.3、0.2 和 0.1,并且 top-P 值为
0.5,则模型将选择 A 或 B 作为下一个词元(通过温度确定),并会排除 C,将其作为候选词元。指定较低的值可获得随机程度较低的回答,指定较高的值可获得随机程度较高的回答。
-
TOP_K:Top-K 可更改模型选择输出词元的方式。如果 top-K 设为
1,表示所选词元是模型词汇表的所有词元中概率最高的词元(也称为贪心解码)。如果 top-K 设为3,则表示系统将从 3 个概率最高的词元(通过温度确定)中选择下一个词元。在每个词元选择步骤中,系统都会对概率最高的 top-K 词元进行采样。然后,系统会根据 top-P 进一步过滤词元,并使用温度采样选择最终的词元。
指定较低的值可获得随机程度较低的回答,指定较高的值可获得随机程度较高的回答。
-
MAX_OUTPUT_TOKENS:响应中可生成的词元数量上限。词元约为 4 个字符。100 个词元对应大约 60-80 个单词。
指定较低的值可获得较短的回答,指定较高的值可获得可能较长的回答。
HTTP 方法和网址:
POST https://aiplatform.MREP_LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/MREP_LOCATION/endpoints/ENDPOINT_ID:generateContent
请求 JSON 正文:
{
"contents": [
{
"role": "USER",
"parts": [
{
"text": "Why is sky blue?"
}
]
}
],
"generationConfig": {
"temperature": TEMPERATURE,
"topP": TOP_P,
"topK": TOP_K,
"maxOutputTokens": MAX_OUTPUT_TOKENS
}
}
如需发送请求,请选择以下方式之一:
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://aiplatform.MREP_LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/MREP_LOCATION/endpoints/ENDPOINT_ID:generateContent"
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://aiplatform.MREP_LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/MREP_LOCATION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
REST
如需使用提示测试调优的模型,请发送 POST 请求并指定 ENDPOINT_ID。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的项目 ID。
- TUNING_JOB_REGION:运行调优作业的区域。这也是上传调优后模型的默认区域。
- ENDPOINT_ID:来自 GET API 的调优的模型端点 ID。
-
TEMPERATURE:温度 (temperature) 在生成回答期间用于采样,在应用
topP和topK时会生成回答。温度可以控制词元选择的随机性。 较低的温度有利于需要更少开放性或创造性回复的提示,而较高的温度可以带来更具多样性或创造性的结果。温度为0表示始终选择概率最高的词元。在这种情况下,给定提示的回复大多是确定的,但可能仍然有少量变化。如果模型返回的回答过于笼统、过于简短,或者模型给出后备回答,请尝试提高温度。 如果模型进入无限生成状态,将温度提高到至少
0.1可能会改善结果。1.0是建议的温度初始值。 -
TOP_P:Top-P 可更改模型选择输出词元的方式。系统会按照概率从最高到最低的顺序选择 token,直到所选 token 的概率总和等于 top-P 值。例如,如果词元 A、B 和 C 的概率分别为 0.3、0.2 和 0.1,并且 top-P 值为
0.5,则模型将选择 A 或 B 作为下一个词元(通过温度确定),并会排除 C,将其作为候选词元。指定较低的值可获得随机程度较低的回答,指定较高的值可获得随机程度较高的回答。
-
TOP_K:Top-K 可更改模型选择输出词元的方式。如果 top-K 设为
1,表示所选词元是模型词汇表的所有词元中概率最高的词元(也称为贪心解码)。如果 top-K 设为3,则表示系统将从 3 个概率最高的词元(通过温度确定)中选择下一个词元。在每个词元选择步骤中,系统都会对概率最高的 top-K 词元进行采样。然后,系统会根据 top-P 进一步过滤词元,并使用温度采样选择最终的词元。
指定较低的值可获得随机程度较低的回答,指定较高的值可获得随机程度较高的回答。
-
MAX_OUTPUT_TOKENS:响应中可生成的词元数量上限。词元约为 4 个字符。100 个词元对应大约 60-80 个单词。
指定较低的值可获得较短的回答,指定较高的值可获得可能较长的回答。
HTTP 方法和网址:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
请求 JSON 正文:
{
"contents": [
{
"role": "USER",
"parts": [
{
"text": "Why is sky blue?"
}
]
}
],
"generationConfig": {
"temperature": TEMPERATURE,
"topP": TOP_P,
"topK": TOP_K,
"maxOutputTokens": MAX_OUTPUT_TOKENS
}
}
如需发送请求,请选择以下方式之一:
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://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"
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://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
删除经过调优的模型
如需删除经过调优的模型,请执行以下操作:
REST
调用 models.delete 方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的项目 ID。
- REGION:经过调优的模型所在的区域。
- MODEL_ID:要删除的调优模型的 ID。
HTTP 方法和网址:
DELETE https://aiplatform.REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://aiplatform.REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://aiplatform.REGION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
REST
调用 models.delete 方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的项目 ID。
- REGION:经过调优的模型所在的区域。
- MODEL_ID:要删除的调优模型的 ID。
HTTP 方法和网址:
DELETE https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
调优和验证指标
您可以配置模型调优作业,以收集和报告模型调优和模型评估指标,然后在 Agent Studio 中直观呈现这些指标。
如需在 Google Cloud 控制台中查看调优后模型的详细信息,请前往 Agent Studio 页面。
在调优和提炼表格中,点击要查看指标的调优模型的名称。
调优指标会显示在监控标签页下。
模型调优指标
模型调优作业会自动为模型收集以下调优指标:
/train_total_loss:一个训练步长中调整数据集的损失。/train_fraction_of_correct_next_step_preds:一个训练步长中的词元准确率。单次推理由一系列预测的 token 组成。该指标衡量预测词元的准确率(与调优数据集中的标准答案相比)。/train_num_predictions:一个训练步长中的预测token数。
模型验证指标
您可以配置模型调优作业,以便为模型收集以下验证指标:
/eval_total_loss:验证步骤中验证数据集的损失。/eval_fraction_of_correct_next_step_preds:一个验证步长中的词元准确率。单次推理由一系列预测的 token 组成。该指标衡量评估词元的准确率(与验证数据集中的标准答案相比)。/eval_num_predictions:一个验证步长中的预测词元数。
调优作业开始运行后,指标可视化即可使用。 随着调优的进行,它会实时更新。 如果您在创建调优作业时未指定验证数据集,则系统只提供调优指标的可视化内容。
后续步骤
了解如何部署调优后的 Gemini 模型。
如需了解如何在构建生成式 AI 知识库的解决方案中使用监督式微调,请参阅快速起步解决方案:生成式 AI 知识库。