Prediksi batch adalah cara untuk mengirim beberapa prompt multimodal secara efisien yang tidak sensitif terhadap latensi. Tidak seperti prediksi {i>online<i}, di mana Anda berada terbatas pada satu perintah input dalam satu waktu, Anda dapat mengirim prompt multimodal dalam satu permintaan batch. Kemudian, tanggapan Anda mengisi secara asinkron dalam output penyimpanan BigQuery Anda lokasi HTTP/HTTPS.
Model multimodal yang mendukung prediksi batch
Model multimodal berikut mendukung prediksi batch.
gemini-1.5-flash-001
gemini-1.5-pro-001
gemini-1.0-pro-002
gemini-1.0-pro-001
Menyiapkan input Anda
Permintaan batch untuk model multimodal hanya menerima penyimpanan BigQuery
sumber. Untuk mempelajari lebih lanjut, lihat
Ringkasan penyimpanan BigQuery.
Simpan input Anda dalam tabel BigQuery dengan kolom JSON yang disebut
request
.
- Konten di kolom
request
harus berupa JSON yang valid. - Konten dalam petunjuk JSON harus sesuai dengan struktur
GenerateContentRequest
- Tabel input Anda dapat memiliki kolom selain
request
. Mereka adalah diabaikan untuk pembuatan konten, tetapi disertakan dalam tabel {i>output<i}. Sistem mencadangkan dua nama kolom untuk output:response
danstatus
. Ini digunakan untuk memberikan informasi tentang hasil tugas prediksi batch. - Prediksi batch tidak mendukung kolom
fileData
untuk oleh Gemini.
Contoh input BigQuery
permintaan |
---|
{ "contents": [ { "role": "user", "parts": { "text": "Give me a recipe for banana bread." } } ], "system_instruction": { "parts": [ { "text": "You are a chef." } ] } } |
Meminta respons batch
Bergantung pada jumlah item input yang Anda kirimkan, mungkin perlu waktu beberapa saat untuk menyelesaikan tugas pembuatan batch.
REST
Untuk menguji prompt multimodal menggunakan Vertex AI API, kirim permintaan POST ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Nama project Google Cloud Anda.
- BP_JOB_NAME: Nama yang Anda pilih untuk pekerjaan Anda.
- INPUT_URI: URI sumber input. Ini adalah URI tabel BigQuery di
dari
bq://PROJECT_ID.DATASET.TABLE
. - OUTPUT_URI: URI BigQuery pada tabel output target, di
dari
bq://PROJECT_ID.DATASET.TABLE
. Jika tabel itu belum ada, maka dibuat untuk Anda.
Metode HTTP dan URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs
Isi JSON permintaan:
{ "displayName": "BP_JOB_NAME", "model": "publishers/google/models/gemini-1.0-pro-002", "inputConfig": { "instancesFormat":"bigquery", "bigquerySource":{ "inputUri" : "INPUT_URI" } }, "outputConfig": { "predictionsFormat":"bigquery", "bigqueryDestination":{ "outputUri": "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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip seperti berikut:
{ "name": "projects/{PROJECT_ID}/locations/us-central1/batchPredictionJobs/{BATCH_JOB_ID}", "displayName": "My first batch prediction", "model": "projects/{PROJECT_ID}/locations/us-central1/models/gemini-1.0-pro-002", "inputConfig": { "instancesFormat": "bigquery", "bigquerySource": { "inputUri": "bq://{PROJECT_ID}.mydataset.batch_predictions_input" } }, "modelParameters": {}, "outputConfig": { "predictionsFormat": "bigquery", "bigqueryDestination": { "outputUri": "bq://{PROJECT_ID}.mydataset.batch_predictions_output" } }, "state": "JOB_STATE_PENDING", "createTime": "2023-07-12T20:46:52.148717Z", "updateTime": "2023-07-12T20:46:52.148717Z", "modelVersionId": "1" }
Responsnya menyertakan ID unik untuk tugas batch.
Anda dapat melakukan polling untuk status tugas batch menggunakan BATCH_JOB_ID hingga state
tugas menjadi JOB_STATE_SUCCEEDED
. Contoh:
curl \ -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs/BATCH_JOB_ID
Mengambil output batch
Saat tugas prediksi batch selesai, output-nya akan disimpan di tabel BigQuery yang Anda tentukan dalam permintaan.
Contoh output BigQuery
permintaan | respons | status |
---|---|---|
'{"content":[{...}]}' | { "candidates": [ { "content": { "role": "model", "parts": [ { "text": "In a medium bowl, whisk together the flour, baking soda, baking powder." } ] }, "finishReason": "STOP", "safetyRatings": [ { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability": "NEGLIGIBLE", "probabilityScore": 0.14057204, "severity": "HARM_SEVERITY_NEGLIGIBLE", "severityScore": 0.14270912 } ] } ], "usageMetadata": { "promptTokenCount": 8, "candidatesTokenCount": 396, "totalTokenCount": 404 } } |
Langkah selanjutnya
- Pelajari cara menyesuaikan model Gemini Ringkasan tuning model untuk Gemini
- Pelajari kebijakan API prediksi batch.