Halaman ini menjelaskan cara mendapatkan prediksi batch menggunakan Cloud Storage.
1. Menyiapkan input Anda
Model Batch untuk Gemini menerima satu file JSON Lines (JSONL) yang disimpan di Cloud Storage sebagai data input. Setiap baris dalam data input batch adalah permintaan ke model, mengikuti format yang sama untuk Gemini API.
Contoh:
{"request":{"contents": [{"role": "user", "parts": [{"text": "What is the relation between the following video and image samples?"}, {"fileData": {"fileUri": "gs://cloud-samples-data/generative-ai/video/animals.mp4", "mimeType": "video/mp4"}}, {"fileData": {"fileUri": "gs://cloud-samples-data/generative-ai/image/cricket.jpeg", "mimeType": "image/jpeg"}}]}], "generationConfig": {"temperature": 0.9, "topP": 1, "maxOutputTokens": 256}}}
Download file permintaan batch contoh
Setelah Anda menyiapkan data input dan menguploadnya ke Cloud Storage. Pastikan Agen Layanan AI Platform memiliki izin ke file Cloud Storage.
2. Mengirimkan tugas batch
Anda dapat membuat tugas batch melalui konsol Google Cloud , Google Gen AI SDK, atau REST API.
Konsol
- Di bagian Vertex AI pada Google Cloud konsol, buka halaman Inferensi Batch.
- Klik Buat.
REST
Untuk membuat tugas prediksi batch, gunakan metode
projects.locations.batchPredictionJobs.create
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region yang mendukung model Gemini.
- PROJECT_ID: Project ID Anda.
- MODEL_PATH: nama model penayang, misalnya,
publishers/google/models/gemini-2.5-flash
; atau nama endpoint yang disesuaikan, misalnya,projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID
, dengan MODEL_ID adalah ID model yang disesuaikan. - INPUT_URI: Lokasi Cloud Storage input prediksi batch JSONL Anda, seperti
gs://bucketname/path/to/file.jsonl
. - OUTPUT_FORMAT: Untuk menghasilkan output ke
bucket Cloud Storage, tentukan
jsonl
. - DESTINATION: Untuk
BigQuery, tentukan
bigqueryDestination
. Untuk Cloud Storage, tentukangcsDestination
. - OUTPUT_URI_FIELD_NAME:
Untuk BigQuery, tentukan
outputUri
. Untuk Cloud Storage, tentukanoutputUriPrefix
. - OUTPUT_URI: Untuk
BigQuery, tentukan lokasi tabel seperti
bq://myproject.mydataset.output_result
. Region set data BigQuery output harus sama dengan tugas prediksi batch Vertex AI. Untuk Cloud Storage, tentukan lokasi bucket dan direktori sepertigs://mybucket/path/to/output
.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
Isi JSON permintaan:
{ "displayName": "my-cloud-storage-batch-prediction-job", "model": "MODEL_PATH", "inputConfig": { "instancesFormat": "jsonl", "gcsSource": { "uris" : "INPUT_URI" } }, "outputConfig": { "predictionsFormat": "OUTPUT_FORMAT", "DESTINATION": { "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI" } } }
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/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs"
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/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content
Anda akan melihat respons JSON yang mirip seperti berikut:
Responsnya menyertakan ID unik untuk tugas batch. Anda dapat melakukan polling untuk status tugas batch menggunakan BATCH_JOB_ID. Untuk mengetahui informasi selengkapnya, lihat Memantau status tugas. Catatan: Laporan akun Layanan Kustom, progres langsung, CMEK, dan VPCSC tidak didukung.Python
Instal
pip install --upgrade google-genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
3. Memantau status dan progres tugas
Setelah tugas dikirimkan, Anda dapat memeriksa status tugas batch menggunakan API, SDK, dan Konsol Cloud
Konsol
- Buka halaman Inferensi Batch.
- Pilih tugas batch Anda untuk memantau progresnya.
REST
Untuk memantau tugas prediksi batch, gunakan metode
projects.locations.batchPredictionJobs.get
dan lihat kolom CompletionStats
dalam respons.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region yang mendukung model Gemini.
- PROJECT_ID: .
- BATCH_JOB_ID: ID tugas batch Anda.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/BATCH_JOB_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/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/BATCH_JOB_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/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/BATCH_JOB_ID" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan berikut ini.
Python
Instal
pip install --upgrade google-genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Status tugas batch tertentu dapat berupa salah satu dari berikut:
JOB_STATE_PENDING
: Antrean untuk kapasitas. Tugas dapat berada dalam statusqueue
hingga 72 jam sebelum memasuki statusrunning
.JOB_STATE_RUNNING
: File input berhasil divalidasi dan batch sedang dijalankan.JOB_STATE_SUCCEEDED
: Batch telah selesai dan hasilnya sudah siapJOB_STATE_FAILED
: file input gagal dalam proses validasi, atau tidak dapat diselesaikan dalam jangka waktu 24 jam setelah memasuki statusRUNNING
.JOB_STATE_CANCELLING
: batch sedang dibatalkanJOB_STATE_CANCELLED
: batch dibatalkan
4. Mengambil output batch
Setelah tugas prediksi batch selesai, output akan disimpan di bucket Cloud Storage yang Anda tentukan saat membuat tugas. Untuk baris yang berhasil, respons model disimpan di kolom response
. Jika tidak,
detail error disimpan di kolom status
untuk pemeriksaan lebih lanjut.
Selama tugas yang berjalan lama, prediksi yang telah selesai akan terus diekspor ke tujuan output yang ditentukan. Jika tugas prediksi batch dihentikan, semua baris yang selesai akan diekspor. Anda hanya dikenai biaya untuk prediksi yang selesai.
Contoh output
Contoh yang berhasil
{
"status": "",
"processed_time": "2024-11-01T18:13:16.826+00:00",
"request": {
"contents": [
{
"parts": [
{
"fileData": null,
"text": "What is the relation between the following video and image samples?"
},
{
"fileData": {
"fileUri": "gs://cloud-samples-data/generative-ai/video/animals.mp4",
"mimeType": "video/mp4"
},
"text": null
},
{
"fileData": {
"fileUri": "gs://cloud-samples-data/generative-ai/image/cricket.jpeg",
"mimeType": "image/jpeg"
},
"text": null
}
],
"role": "user"
}
]
},
"response": {
"candidates": [
{
"avgLogprobs": -0.5782725546095107,
"content": {
"parts": [
{
"text": "This video shows a Google Photos marketing campaign where animals at the Los Angeles Zoo take self-portraits using a modified Google phone housed in a protective case. The image is unrelated."
}
],
"role": "model"
},
"finishReason": "STOP"
}
],
"modelVersion": "gemini-2.0-flash-001@default",
"usageMetadata": {
"candidatesTokenCount": 36,
"promptTokenCount": 29180,
"totalTokenCount": 29216
}
}
}
Contoh gagal
{
"status": "Bad Request: {\"error\": {\"code\": 400, \"message\": \"Please use a valid role: user, model.\", \"status\": \"INVALID_ARGUMENT\"}}",
"processed_time": "2025-07-09T19:57:43.558+00:00",
"request": {
"contents": [
{
"parts": [
{
"text": "Explain how AI works in a few words"
}
],
"role": "tester"
}
]
},
"response": {}
}