Gemini Enterprise Agent Platform 可以記錄 Gemini 和支援的合作夥伴模型的要求和回覆樣本。記錄會儲存至 BigQuery 資料表,方便您查看及分析。此外,Agent Platform 可與特定 MaaS 合作夥伴分享特定 Advanced AI 模型的請求/回應記錄,協助您履行對這些 MaaS 合作夥伴的義務。
本頁面說明如何為基礎基礎模型和微調模型設定要求/回應記錄。
支援的記錄 API 方法
凡是使用 generateContent 或 streamGenerateContent 的 Gemini 模型,都支援要求/回應記錄。
系統也支援下列使用
rawPredict
或
streamrawPredict
的合作夥伴模型:
- Anthropic Claude
基礎模型的要求/回應記錄
您可以使用 REST API 或 Python SDK,為基礎基礎模型設定要求/回應記錄。記錄設定可能需要幾分鐘才會生效。
啟用要求/回應記錄功能
選取下列任一分頁標籤,查看如何為基礎基礎模型啟用要求/回應記錄。
對於 Anthropic 模型,記錄設定僅支援 REST。透過 REST API 啟用記錄設定,方法是將發布者設為 anthropic,並將模型名稱設為支援的 Claude 模型之一。
Python SDK
這個方法可用於建立或更新 PublisherModelConfig。
# Specify the preview version of GenerativeModel
import vertexai
from vertexai.preview.generative_models import(
GenerativeModel,
)
PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"
vertexai.init(project=PROJECT_ID, location=LOCATION)
publisher_model = GenerativeModel("gemini-2.5-flash")
# Set logging configuration
publisher_model.set_request_response_logging_config(
enabled=True,
sampling_rate=1.0,
bigquery_destination="bq://PROJECT_ID.DATASET_NAME.TABLE_NAME",
enable_otel_logging=True
)
REST API
使用 setPublisherModelConfig 建立或更新 PublisherModelConfig:
使用任何要求資料之前,請先修改下列項目的值:
- ENDPOINT_PREFIX:模型資源的區域,後接
-。例如:us-central1-。如要使用全域端點,請留白。模型支援的所有地區,都支援要求/回應記錄。 - PROJECT_ID:專案 ID。
- LOCATION:模型資源的區域。
如要使用全域端點,請輸入
global。 - PUBLISHER:發布者名稱。例如:
google。 - MODEL:基礎模型名稱。例如:
gemini-2.0-flash-001。 - SAMPLING_RATE:如要降低儲存費用,您可以設定介於 0 到 1 之間的數字,定義要記錄的要求比例。舉例來說,值為 1 會記錄所有要求,值為 0.1 則會記錄 10% 的要求。
- BQ_URI:用於記錄的 BigQuery 資料表 URI。例如:
bq://PROJECT_ID.DATASET_NAME.TABLE_NAME。如果您只指定專案名稱,系統會建立名為logging_ENDPOINT_DISPLAY_NAME\_ENDPOINT_ID的新資料集,其中ENDPOINT_DISPLAY_NAME遵循 BigQuery 命名規則。如果未指定資料表名稱,系統會建立名為request_response_logging的新資料表。
HTTP 方法和網址:
POST https://ENDPOINT_PREFIXaiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig
JSON 要求內文:
{
"publisherModelConfig": {
"loggingConfig": {
"enabled": true,
"samplingRate": SAMPLING_RATE,
"bigqueryDestination": {
"outputUri": "bq://BQ_URI"
},
"enableOtelLogging": true
}
}
}
如要傳送要求,請選擇以下其中一個選項:
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://ENDPOINT_PREFIXaiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig"
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://ENDPOINT_PREFIXaiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
取得記錄設定
使用 REST API 取得基礎模型的請求/回應記錄設定。
REST API
使用 fetchPublisherModelConfig 取得要求/回應記錄設定:
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:專案 ID。
- LOCATION:模型資源的位置。
- PUBLISHER:發布者名稱。例如:
google。 - MODEL:基礎模型名稱。例如:
gemini-2.0-flash-001。
HTTP 方法和網址:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
停用記錄
使用 REST API 或 Python SDK,停用基礎模型的請求/回應記錄功能。
Python SDK
# Specify the preview version of GenerativeModel
import vertexai
from vertexai.preview.generative_models import(
GenerativeModel,
)
PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"
vertexai.init(project=PROJECT_ID, location=LOCATION)
publisher_model = GenerativeModel("gemini-2.5-flash")
# Disable logging
publisher_model.set_request_response_logging_config(
enabled=False,
sampling_rate=1.0,
bigquery_destination="bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
)
REST API
使用 setPublisherModelConfig 停用記錄功能:
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:專案 ID。
- LOCATION:模型資源的位置。
- PUBLISHER:發布者名稱。例如:
google。 - MODEL:基礎模型名稱。例如:
gemini-2.0-flash-001。
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig
JSON 要求內文:
{
"publisherModelConfig": {
"loggingConfig": {
"enabled": false
}
}
}
如要傳送要求,請選擇以下其中一個選項:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig"
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
微調模型的要求/回應記錄
您可以使用 REST API 或 Python SDK,為微調模型設定要求/回應記錄。
啟用要求/回應記錄
如要瞭解如何為微調模型啟用要求/回應記錄,請選取下列任一分頁標籤。
Python SDK
這個方法可用於更新端點的要求/回應記錄設定。
# Specify the preview version of GenerativeModel
import vertexai
from vertexai.preview.generative_models import(
GenerativeModel,
)
PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"
vertexai.init(project=PROJECT_ID, location=LOCATION)
tuned_model = GenerativeModel(f"projects/{PROJECT_ID}/locations/{LOCATION}/endpoints/ENDPOINT_ID")
# Set logging configuration
tuned_model.set_request_response_logging_config(
enabled=True,
sampling_rate=1.0,
bigquery_destination=f"bq://{PROJECT_ID}.DATASET_NAME.TABLE_NAME",
enable_otel_logging=True,
)
REST API
您只能在透過 projects.locations.endpoints.create 建立端點時,或透過 projects.locations.endpoints.patch 修補現有端點時,啟用要求/回應記錄。
系統會在端點層級記錄要求和回應,因此傳送至同一端點下任何已部署模型的要求都會記錄下來。
建立或修補端點時,請在端點資源的 predictRequestResponseLoggingConfig 欄位中填入下列項目:
enabled:設為True即可啟用要求/回應記錄。samplingRate:如要降低儲存空間費用,您可以設定介於 0 到 1 之間的數字,定義要記錄的要求比例。舉例來說,值為 1 會記錄所有要求,值為 0.1 則會記錄 10% 的要求。BigQueryDestination:用於記錄的 BigQuery 資料表。如果只指定專案名稱,系統會建立名為logging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID的新資料集,其中ENDPOINT_DISPLAY_NAME遵循 BigQuery 命名規則。如果未指定資料表名稱,系統會建立名為request_response_logging的新資料表。enableOtelLogging:設為true,即可啟用OpenTelemetry (OTEL) 記錄功能,以及預設的請求/回應記錄功能。
如要查看 BigQuery 資料表結構定義,請參閱記錄資料表結構定義。
以下為設定範例:
{
"predictRequestResponseLoggingConfig": {
"enabled": true,
"samplingRate": 0.5,
"bigqueryDestination": {
"outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
},
"enableOtelLogging": true
}
}
取得記錄設定
使用 REST API 取得微調模型的請求/回應記錄設定。
REST API
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:專案 ID。
- LOCATION:端點資源的位置。
- MODEL:基礎模型名稱。例如:
gemini-2.0-flash-001。 - ENDPOINT_ID:端點的 ID。
HTTP 方法和網址:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
停用記錄設定
停用端點的要求/回應記錄設定。
Python SDK
# Specify the preview version of GenerativeModel
import vertexai
from vertexai.preview.generative_models import(
GenerativeModel,
)
PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"
vertexai.init(project=PROJECT_ID, location=LOCATION)
tuned_model = GenerativeModel(f"projects/{PROJECT_ID}/locations/{LOCATION}/endpoints/ENDPOINT_ID")
# Disable logging
tuned_model.set_request_response_logging_config(
enabled=False,
sampling_rate=1.0,
bigquery_destination="bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
)
REST API
{
"predictRequestResponseLoggingConfig": {
"enabled": false
}
}
記錄資料表結構定義
在 BigQuery 中,系統會使用下列結構定義記錄記錄:
| 欄位名稱 | 類型 | 附註 |
|---|---|---|
| endpoint | STRING | 部署調整後模型的端點資源名稱。 |
| deployed_model_id | STRING | 部署至端點的調整後模型 ID。 |
| logging_time | TIMESTAMP | 執行記錄作業的時間。這大約是系統傳回回應的時間。 |
| request_id | NUMERIC | 系統會根據 API 要求自動產生整數要求 ID。 |
| request_payload | STRING | 適用於合作夥伴模型記錄,並與 Agent Platform 端點要求與回覆記錄回溯相容。 |
| response_payload | STRING | 適用於合作夥伴模型記錄,並與 Agent Platform 端點要求與回覆記錄回溯相容。 |
| 模型 | STRING | 模型資源名稱。 |
| model_version | STRING | 模型版本。Gemini 模型通常會使用「預設」值。 |
| api_method | STRING | generateContent、streamGenerateContent、rawPredict、streamRawPredict |
| full_request | JSON | 完整GenerateContentRequest。 |
| full_response | JSON | 完整GenerateContentResponse。 |
| 中繼資料 | JSON | 呼叫的任何中繼資料,包含要求延遲時間。 |
| otel_log | JSON | OpenTelemetry 結構定義格式的記錄。只有在記錄設定中啟用 otel_logging 時,才能使用這項功能。 |
請注意,如果要求/回應配對超過 BigQuery Write API 10 MB 的資料列大小上限,系統就不會記錄。
與 MaaS 合作夥伴分享要求和回應
對於某些進階 AI 模型,部分 MaaS 合作夥伴會要求以防竄改的方式,與其信任與安全團隊分享提示和回覆記錄,以便監控潛在的濫用行為。舉例來說,使用 Anthropic Advanced AI 時,須遵守 Anthropic《服務專屬條款》的 F 節規定。啟用這項dataSharingEnabledProvider功能後,系統會即時將「進階 AI 安全附錄」下的記錄要求和回應分享給 MaaS 合作夥伴。
如要啟用防竄改要求/回應記錄共用功能,請使用 setPublisherModelConfig API,詳情請參閱下列章節。
支援的模型
下表列出支援分享要求和回應的 MaaS 合作夥伴和模型:
| 支援的 MaaS 合作夥伴 | 支援的模型 |
|---|---|
| Anthropic |
|
MaaS 合作夥伴和模型必須相符。要求/回應記錄只能與發布模型的 MaaS 合作夥伴共用。
必要條件
Google 必須先取得這項專案的《進階 AI 安全性附加條款》同意聲明,才能啟用資料共用功能。如要進一步瞭解附加條款,請參閱「進階 AI 安全性」。
您不必啟用 BigQuery 的要求/回應記錄功能,即可使用要求/回應記錄共用功能。
限制
根據預設,受 VPC Service Controls 保護的專案無法與 MaaS 合作夥伴共用資料。系統不支援設定 VPC Service Controls 輸出規則。如要為受 VPC Service Controls 保護的專案啟用資料共用功能,請提出支援案件。
啟用資料
請執行下列步驟:
REST API
使用任何要求資料之前,請先修改下列項目的值:
-
ENDPOINT_PREFIX:模型端點位置的適當前置字元。請使用下列值:
-
如為
global端點,請使用aiplatform。 -
如果是
us或eu等多區域端點,請使用aiplatform.LOCATION.rep -
如果是
us-central1等區域端點,請使用LOCATION-aiplatform。
-
如為
- PROJECT_ID:您的專案 ID。
-
LOCATION:模型端點的位置。例如:
global、us、eu或us-central1。 -
PUBLISHER:模型發布者的名稱,須為小寫。例如:
anthropic。 -
MODEL:基礎模型名稱。例如:
claude-fable-5。 -
MAAS_PARTNER:模型發布者的名稱,以大寫表示。MaaS 合作夥伴必須是上述
MODEL的大寫版本。例如:ANTHROPIC。
HTTP 方法和網址:
POST https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig
JSON 要求內文:
{
"publisherModelConfig": {
"dataSharingEnabledProvider": "ANTHROPIC"
}
}
如要傳送要求,請選擇以下其中一個選項:
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://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig"
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://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig" | Select-Object -Expand Content
您應該會收到執行成功的狀態碼 (2xx) 和空白回應。
取得共用設定
請執行下列步驟:
REST API
使用任何要求資料之前,請先修改下列項目的值:
-
ENDPOINT_PREFIX:模型端點位置的適當前置字元。請使用下列值:
-
如為
global端點,請使用aiplatform。 -
如果是
us或eu等多區域端點,請使用aiplatform.LOCATION.rep -
如果是
us-central1等區域端點,請使用LOCATION-aiplatform。
-
如為
- PROJECT_ID:您的專案 ID。
-
LOCATION:模型端點的位置。例如:
global、us、eu或us-central1。 -
PUBLISHER:模型發布者的名稱,須為小寫。例如:
anthropic。 -
MODEL:基礎模型名稱。例如:
claude-fable-5。
HTTP 方法和網址:
https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method `
-Headers $headers `
-Uri "https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"loggingConfig": {},
"dataSharingEnabledProvider": "ANTHROPIC"
}
停用資料共用功能
請執行下列步驟:
REST API
使用任何要求資料之前,請先修改下列項目的值:
-
ENDPOINT_PREFIX:模型端點位置的適當前置字元。請使用下列值:
-
如為
global端點,請使用aiplatform。 -
如果是
us或eu等多區域端點,請使用aiplatform.LOCATION.rep -
如果是
us-central1等區域端點,請使用LOCATION-aiplatform。
-
如為
- PROJECT_ID:您的專案 ID。
-
LOCATION:模型端點的位置。例如:
global、us、eu或us-central1。 -
PUBLISHER:模型發布者的名稱,須為小寫。例如:
anthropic。 -
MODEL:基礎模型名稱。例如:
claude-fable-5。
HTTP 方法和網址:
POST https://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig
JSON 要求內文:
{
"publisherModelConfig": {
"dataSharingEnabledProvider": "MODEL_PROVIDER_UNSPECIFIED"
}
}
如要傳送要求,請選擇以下其中一個選項:
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://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig"
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://ENDPOINT_PREFIX.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig" | Select-Object -Expand Content
您應該會收到執行成功的狀態碼 (2xx) 和空白回應。
禁止資料共用要求
如要禁止與 MaaS 合作夥伴分享要求和回應記錄,專案管理員可以執行下列任一操作:
建立 VPC Service Controls 服務範圍,其中包含專案和
aiplatform.googleapis.com(受限制的服務)對
aiplatform.endpoints.setPublisherModelConfig權限強制執行最低權限,防止啟用記錄或記錄分享功能。
後續步驟
- 估算線上預測記錄的價格。
- 使用 Google Cloud 控制台或 Agent Platform API 部署模型。
如要進一步瞭解要求回應記錄的相關政策,請參閱下列文章: