本指南介绍了如何运行基于计算的评估流水线,以评估基础模型和经过调优的生成式 AI 模型在 Vertex AI 上的性能。流水线会针对您提供的评估数据集,使用一组指标来评估模型。 本页面涵盖以下主题: 下图总结了运行基于计算的评估的总体工作流程: 如需了解最新的基于计算的评估功能,请参阅定义指标。 如需评估模型的性能,请提供包含提示和标准答案对的评估数据集。对于每个对,提示是要评估的输入,标准答案是该提示的理想回答。 在评估过程中,该流程会将每对中的提示传递给模型以生成输出。然后,该流程会使用模型生成的输出和相应的标准答案来计算评估指标。 用于评估的指标类型取决于您所评估的任务。下表显示了支持的任务以及用于评估每种任务的指标: 您可以评估以下模型: 评估数据集包含与您要评估的任务相配的提示和标准答案对。数据集必须至少包含一个提示和标准答案对;为获得有意义的指标,至少包含 10 个对。您提供的示例越多,结果就越有意义。 评估数据集必须采用 JSON 行 (JSONL) 格式,其中每行都是一个 JSON 对象。每个对象都必须包含一个 您可以创建新的 Cloud Storage 存储桶,也可以使用现有存储分区来存储数据集文件。存储桶必须与模型位于同一区域。 存储桶准备就绪后,将数据集文件上传到存储桶。 您可以使用 Google Cloud 控制台、REST API 或 Vertex AI SDK for Python 运行基于计算的评估作业。下表可帮助您为您的使用场景选择最佳方案。 您可以使用以下方法之一来执行模型评估作业。
如需创建模型评估作业,请使用 pipelineJobs 方法发送 在使用任何请求数据之前,请先进行以下替换: 示例: 示例: 评估作业不会影响模型或其资源的任何现有部署。 HTTP 方法和网址: 请求 JSON 正文:
如需发送请求,请选择以下方式之一:
将请求正文保存在名为
将请求正文保存在名为 您应该收到类似以下内容的 JSON 响应。请注意,为节省空间,系统截断了 如需了解如何安装或更新 Vertex AI SDK for Python,请参阅安装 Vertex AI SDK for Python。
如需了解详情,请参阅 Python API 参考文档。
如需使用 Google Cloud 控制台创建模型评估作业,请按以下步骤操作: 您可以在创建评估作业时指定的 Cloud Storage 输出目录中找到评估结果。该文件的名称为 对于经过调优的模型,您还可以在 Google Cloud 控制台中查看评估结果: 在 Google Cloud 控制台的 Vertex AI 部分中,进入 Vertex AI Model Registry 页面。 点击模型名称以查看其评估指标。 在评估标签页中,点击要查看的评估运行的名称。
基于计算的模型评估的运作方式
任务
指标
分类
Micro-F1、Macro-F1、Per class F1
摘要
ROUGE-L
问题回答
完全匹配
文本生成
BLEU、ROUGE-L
支持的模型
text-bison
:基础版本和调优后的版本。准备并上传评估数据集
数据集格式
input_text
字段(包含您要评估的提示)和一个 output_text
字段(包含该提示的理想回答)。input_text
的词元长度上限为 8,192,output_text
的词元长度上限为 1,024。将数据集上传到 Cloud Storage
选择评估方法
方法
说明
使用场景
Google Cloud 控制台
一种图形界面 (GUI),可提供引导式分步工作流,用于创建和监控评估作业。
REST API
一种程序化接口,用于通过向端点发送 JSON 请求来创建评估作业。
Python 版 Vertex AI SDK
一个高级 Python 库,可简化与 Vertex AI API 的交互。
执行模型评估
REST
POST
请求。
us-central1
。
publishers/google/models/MODEL@MODEL_VERSION
publishers/google/models/text-bison@002
projects/PROJECT_NUMBER/locations/LOCATION/models/ENDPOINT_ID
projects/123456789012/locations/us-central1/models/1234567890123456789
summarization
question-answering
text-generation
classification
jsonl
。如需详细了解此参数,请参阅 InputConfig。jsonl
。如需详细了解此参数,请参阅 InputConfig。e2-highmem-16
。如需查看支持的机器类型的列表,请参阅机器类型。projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
。如果指定此字段,则需要拥有适用于 Vertex AI 的 VPC 网络对等互连。如果未指定,则评估作业不与任何网络对等互连。projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
。密钥需要与评估作业处于同一区域。POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs
{
"displayName": "PIPELINEJOB_DISPLAYNAME",
"runtimeConfig": {
"gcsOutputDirectory": "gs://OUTPUT_DIR",
"parameterValues": {
"project": "PROJECT_ID",
"location": "LOCATION",
"batch_predict_gcs_source_uris": ["gs://DATASET_URI"],
"batch_predict_gcs_destination_output_uri": "gs://OUTPUT_DIR",
"model_name": "MODEL_NAME",
"evaluation_task": "EVALUATION_TASK",
"batch_predict_instances_format": "INSTANCES_FORMAT",
"batch_predict_predictions_format: "PREDICTIONS_FORMAT",
"machine_type": "MACHINE_TYPE",
"service_account": "SERVICE_ACCOUNT",
"network": "NETWORK",
"encryption_spec_key_name": "KEY_NAME"
}
},
"templateUri": "https://us-kfp.pkg.dev/vertex-evaluation/pipeline-templates/evaluation-llm-text-generation-pipeline/1.0.1"
}
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/pipelineJobs"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/pipelineJobs" | Select-Object -Expand ContentpipelineSpec
。示例 curl 命令
PROJECT_ID=myproject
REGION=us-central1
MODEL_NAME=publishers/google/models/text-bison@002
TEST_DATASET_URI=gs://my-gcs-bucket-uri/dataset.jsonl
OUTPUT_DIR=gs://my-gcs-bucket-uri/output
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/pipelineJobs" -d \
$'{
"displayName": "evaluation-llm-text-generation-pipeline",
"runtimeConfig": {
"gcsOutputDirectory": "'${OUTPUT_DIR}'",
"parameterValues": {
"project": "'${PROJECT_ID}'",
"location": "'${REGION}'",
"batch_predict_gcs_source_uris": ["'${TEST_DATASET_URI}'"],
"batch_predict_gcs_destination_output_uri": "'${OUTPUT_DIR}'",
"model_name": "'${MODEL_NAME}'",
}
},
"templateUri": "https://us-kfp.pkg.dev/vertex-evaluation/pipeline-templates/evaluation-llm-text-generation-pipeline/1.0.1"
}'
Python
控制台
ground_truth
。jsonl
。查看评估结果
evaluation_metrics.json
。
后续步骤
运行基于计算的评估流水线
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-19。