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 dasar dan model yang di-fine-tune.
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:
- Anthropic Claude
Log permintaan-respons untuk model dasar
Anda dapat mengonfigurasi log permintaan-respons untuk model dasar dengan 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 tentang cara mengaktifkan log permintaan-respons untuk model dasar.
Untuk model Anthropic, hanya REST yang didukung untuk konfigurasi logging. Aktifkan
konfigurasi logging melalui REST API dengan menyetel penayang ke anthropic
dan menyetel 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
Membuat atau memperbarui PublisherModelConfig
menggunakan setPublisherModelConfig
:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- ENDPOINT_PREFIX: Region
resource model yang 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 mencatat semua permintaan, dan nilai 0,1 mencatat 10% permintaan.
- 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
, denganENDPOINT_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 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 di-fine-tune
Anda dapat mengonfigurasi log permintaan-respons untuk model yang di-fine-tune menggunakan REST API atau Python SDK.
Mengaktifkan log permintaan-respons
Pilih salah satu tab berikut untuk mengetahui petunjuk tentang cara mengaktifkan log permintaan-respons untuk model yang di-fine-tune.
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
: ditetapkan 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 di-fine-tune 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
Menonaktifkan 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 yang di-deploy ke endpoint. |
logging_time | TIMESTAMP | Waktu saat pencatatan log 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. Nilai 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; 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 write API BigQuery tidak dicatat.
Langkah berikutnya
- Memperkirakan harga untuk logging prediksi online.
- Deploy model menggunakan konsol Google Cloud atau menggunakan Vertex AI API.
- Pelajari cara membuat tabel BigQuery.