Vertex AI dapat mencatat sampel permintaan dan respons untuk Gemini dan model partner yang didukung. Log disimpan ke tabel BigQuery untuk dilihat dan dianalisis. Halaman ini menjelaskan cara mengonfigurasi log permintaan-respons untuk model fondasi dasar dan model yang disesuaikan.
Metode API yang didukung untuk logging
Log permintaan-respons didukung untuk semua model Gemini yang menggunakan generateContent
atau streamGenerateContent
.
Model partner berikut yang menggunakan
rawPredict
atau
streamrawPredict
juga didukung:
- Claude Anthropic
Log permintaan-respons untuk model dasar
Anda dapat mengonfigurasi log permintaan-respons untuk model dasar bahasa menggunakan REST API atau Python SDK. Konfigurasi logging dapat memerlukan waktu beberapa menit untuk diterapkan.
Mengaktifkan logging respons permintaan
Pilih salah satu tab berikut untuk mengetahui petunjuk cara mengaktifkan log permintaan-respons untuk model fondasi dasar.
Untuk model Anthropic, hanya REST yang didukung untuk konfigurasi logging. Aktifkan
konfigurasi logging melalui REST API dengan menetapkan penayang ke anthropic
dan menetapkan nama model ke salah satu
model Claude yang didukung.
Python SDK
Metode ini dapat digunakan untuk membuat atau memperbarui PublisherModelConfig
.
publisher_model = GenerativeModel('gemini-2.0-pro-001')
# 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
Buat atau perbarui PublisherModelConfig
menggunakan setPublisherModelConfig
:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- ENDPOINT_PREFIX: Region resource model diikuti dengan
-
. Misalnya,us-central1-
. Jika menggunakan endpoint global, biarkan kosong. Logging permintaan-respons didukung untuk semua region yang didukung oleh model. - PROJECT_ID: Project ID Anda.
- LOCATION: Region resource model.
Jika menggunakan endpoint global, masukkan
global
. - PUBLISHER: Nama penayang. Misalnya,
google
. - MODEL: Nama model dasar. Misalnya,
gemini-2.0-flash-001
. - SAMPLING_RATE: Untuk mengurangi biaya penyimpanan, Anda dapat menetapkan angka antara 0 atau 1 untuk menentukan fraksi permintaan yang akan dicatat ke dalam log. Misalnya, nilai 1 akan mencatat semua permintaan ke dalam log, dan nilai 0,1 akan mencatat 10% permintaan ke dalam log.
- BQ_URI: tabel BigQuery yang akan digunakan untuk logging. Jika Anda hanya menentukan nama project, set data baru akan dibuat dengan nama
logging_ENDPOINT_DISPLAY_NAME\_ENDPOINT_ID
, di manaENDPOINT_DISPLAY_NAME
mengikuti aturan penamaan BigQuery. Jika Anda tidak menentukan nama tabel, tabel baru akan dibuat dengan namarequest_response_logging
.
Metode HTTP dan URL:
POST https://ENDPOINT_PREFIXaiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig
Isi JSON permintaan:
{ "publisherModelConfig": { "loggingConfig": { "enabled": true, "samplingRate": SAMPLING_RATE, "bigqueryDestination": { "outputUri": "BQ_URI" }, "enableOtelLogging": true } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$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
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Mendapatkan konfigurasi logging
Dapatkan konfigurasi logging permintaan-respons untuk model dasar menggunakan REST API.
REST API
Dapatkan konfigurasi logging permintaan-respons menggunakan
fetchPublisherModelConfig
:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Lokasi resource model.
- PUBLISHER: Nama penayang. Misalnya,
google
. - MODEL: Nama model dasar. Misalnya,
gemini-2.0-flash-001
.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:fetchPublisherModelConfig
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
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
Jalankan perintah berikut:
$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
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Menonaktifkan logging
Nonaktifkan logging permintaan-respons untuk model dasar dengan menggunakan REST API atau Python SDK.
Python SDK
publisher_model.set_request_response_logging_config(
enabled=False,
sampling_rate=0,
bigquery_destination=''
)
REST API
Gunakan setPublisherModelConfig
untuk menonaktifkan logging:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Lokasi resource model.
- PUBLISHER: Nama penayang. Misalnya,
google
. - MODEL: Nama model dasar. Misalnya,
gemini-2.0-flash-001
.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/PUBLISHER/models/MODEL:setPublisherModelConfig
Isi JSON permintaan:
{ "publisherModelConfig": { "loggingConfig": { "enabled": false } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$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
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Log permintaan-respons untuk model yang telah disesuaikan
Anda dapat mengonfigurasi log permintaan-respons untuk model yang disesuaikan menggunakan REST API atau Python SDK.
Mengaktifkan log permintaan-respons
Pilih salah satu tab berikut untuk mengetahui petunjuk cara mengaktifkan log permintaan-respons untuk model yang telah disesuaikan.
Python SDK
Metode ini dapat digunakan untuk memperbarui konfigurasi logging permintaan-respons untuk endpoint.
tuned_model = GenerativeModel("projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID")
# Set logging configuration
tuned_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
Anda hanya dapat mengaktifkan logging permintaan-respons saat membuat endpoint menggunakan projects.locations.endpoints.create
atau menerapkan patch pada endpoint yang ada menggunakan projects.locations.endpoints.patch
.
Permintaan dan respons dicatat ke dalam log di tingkat endpoint, sehingga permintaan yang dikirim ke model yang di-deploy pada endpoint yang sama akan dicatat ke dalam log.
Saat Anda
membuat atau menerapkan patch endpoint,
isi kolom predictRequestResponseLoggingConfig
dari
Resource endpoint
dengan entri berikut:
enabled
: tetapkan keTrue
untuk mengaktifkan logging permintaan-respons.samplingRate
: Untuk mengurangi biaya penyimpanan, Anda dapat menetapkan angka antara 0 atau 1 untuk menentukan fraksi permintaan yang akan dicatat ke dalam log. Misalnya, nilai 1 mencatat semua permintaan ke dalam log, dan nilai 0,1 mencatat 10% permintaan ke dalam log.BigQueryDestination
: tabel BigQuery yang akan digunakan untuk logging. Jika Anda hanya menentukan nama project, set data baru akan dibuat dengan namalogging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID
, di manaENDPOINT_DISPLAY_NAME
mengikuti aturan penamaan BigQuery. Jika Anda tidak menentukan nama tabel, tabel baru akan dibuat dengan namarequest_response_logging
.enableOtelLogging
: tetapkan ketrue
untuk mengaktifkan logging OpenTelemetry (OTEL) selain logging permintaan-respons default.
Untuk melihat skema tabel BigQuery, lihat Skema tabel logging.
Berikut adalah contoh konfigurasi:
{ "predictRequestResponseLoggingConfig": { "enabled": true, "samplingRate": 0.5, "bigqueryDestination": { "outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME" }, "enableOtelLogging": true } }
Mendapatkan konfigurasi logging
Dapatkan konfigurasi logging permintaan-respons untuk model yang dioptimalkan menggunakan REST API.
REST API
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Lokasi resource endpoint.
- MODEL: Nama model dasar. Misalnya,
gemini-2.0-flash-001
. - ENDPOINT_ID: ID endpoint.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
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
Jalankan perintah berikut:
$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
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Menonaktifkan konfigurasi logging
Nonaktifkan konfigurasi logging permintaan-respons untuk endpoint.
Python SDK
tuned_model = GenerativeModel("projects/PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID")
# Set logging configuration
tuned_model.set_request_response_logging_config(
enabled=False,
sampling_rate=1.0,
bigquery_destination="bq://PROJECT_ID.DATASET_NAME.TABLE_NAME",
enable_otel_logging=False
)
REST API
{ "predictRequestResponseLoggingConfig": { "enabled": false } }
Skema tabel logging
Di BigQuery, log dicatat menggunakan skema berikut:
Nama kolom | Jenis | Catatan |
---|---|---|
endpoint | STRING | Nama resource endpoint tempat model yang disesuaikan di-deploy. |
deployed_model_id | STRING | ID model yang di-deploy untuk model yang disesuaikan dan di-deploy ke endpoint. |
logging_time | TIMESTAMP | Waktu logging dilakukan. Ini adalah perkiraan waktu respons ditampilkan. |
request_id | NUMERIC | ID permintaan bilangan bulat yang dibuat otomatis berdasarkan permintaan API. |
request_payload | STRING | Disertakan untuk logging model partner dan kompatibilitas mundur dengan log permintaan-respons endpoint Vertex AI. |
response_payload | STRING | Disertakan untuk logging model partner dan kompatibilitas mundur dengan log permintaan-respons endpoint Vertex AI. |
model | STRING | Nama resource model. |
model_version | STRING | Versi model. Hal ini sering kali "default" untuk model Gemini. |
api_method | STRING | generateContent, streamGenerateContent, rawPredict, streamRawPredict |
full_request | JSON | GenerateContentRequest lengkap. |
full_response | JSON | GenerateContentResponse lengkap. |
metadata | JSON | Metadata panggilan apa pun; berisi latensi permintaan. |
otel_log | JSON | Log dalam format skema OpenTelemetry. Hanya tersedia jika otel_logging diaktifkan dalam konfigurasi logging. |
Perhatikan bahwa pasangan permintaan-respons yang lebih besar dari batas baris 10 MB API tulis BigQuery tidak dicatat.
Langkah berikutnya
- Memperkirakan harga untuk logging prediksi online.
- Deploy model menggunakan Google Cloud konsol atau menggunakan Vertex AI API.
- Pelajari cara membuat tabel BigQuery.