Mendapatkan respons batch adalah cara untuk mengirim sejumlah besar permintaan embedding yang tidak sensitif terhadap latensi secara efisien. Tidak seperti respons online yang hanya dapat dilakukan pada satu permintaan input dalam satu waktu, Anda dapat mengirim banyak permintaan penyematan dalam satu permintaan batch. Serupa dengan cara inferensi batch dilakukan untuk data tabular di Gemini Enterprise Agent Platform, Anda menentukan lokasi output, menambahkan input, dan respons Anda terisi secara asinkron ke lokasi output.
Prediksi batch Sematan Gemini
Prediksi batch Penyematan Gemini dibangun di Inferensi Batch Gemini dan menggunakan skema yang diperbarui untuk input dan output:
- Penyimpanan input dan output: Input dan output harus diformat sebagai file JSON Lines (JSONL) yang disimpan di Cloud Storage. (Tabel BigQuery tidak didukung untuk model sematan Gemini.)
- Batas tugas: Setiap tugas batch mendukung hingga 1.000.000 baris dan ukuran file input hingga 1 GB.
- Kuota dan antrean: Tidak ada kuota konkurensi yang telah ditentukan sebelumnya. Batch job dijadwalkan secara dinamis berdasarkan ketersediaan resource dan dapat tetap dalam antrean hingga 72 jam, dengan target waktu penyelesaian kurang dari 24 jam.
Model dan lokasi yang didukung
Tabel berikut mencantumkan model penyematan dan lokasi Gemini yang didukung untuk inferensi batch:
| Model | ID Model | Lokasi yang didukung |
|---|---|---|
| Penyematan Gemini 001 | gemini-embedding-001 |
us-central1, us-east1, us-east4,
us-west1, us-west4, europe-west1,
europe-west4
|
| Gemini Embedding 2 | gemini-embedding-2 |
Global (global), multi-region AS (us),
multi-region Uni Eropa (eu)
|
Untuk mengetahui informasi selengkapnya tentang endpoint regional dan global, lihat Lokasi.
Menyiapkan input Anda
Upload data input batch Anda sebagai file JSONL ke Cloud Storage, dengan setiap baris adalah satu objek JSON yang berisi kolom "request".
Penyematan Gemini 001
Model gemini-embedding-001 mendukung konfigurasi task_type dan title di dalam embed_content_config untuk setiap baris.
{"key": "id_1", "request": {"content": {"parts": [{"text": "Hello World"}]}, "embed_content_config": {"output_dimensionality": 768, "title": "some_title", "task_type": "RETRIEVAL_DOCUMENT"}}}
{"key": "id_2", "request": {"content": {"parts": [{"text": "Hello World again"}]}, "embed_content_config": {"output_dimensionality": 768, "title": "some_title_2", "task_type": "RETRIEVAL_DOCUMENT"}}}
Gemini Embedding 2
Model gemini-embedding-2 mendukung input teks, gambar, video, dan audio. Tidak seperti gemini-embedding-001, gemini-embedding-2 mengharapkan jenis dan judul tugas disisipkan langsung dalam teks perintah. Jika task_type atau title diteruskan di dalam embed_content_config, keduanya akan diabaikan tanpa pemberitahuan (sesuai dengan perilaku API online).
Untuk batasan input multimodal serta batas token dan file, lihat Batas Multimodal Embeddings API.
{"key": "id_1", "request": {"content": {"parts": [{"text": "title: sample | text: Hello World"}]}, "embed_content_config": {"output_dimensionality": 768}}}
{"key": "id_2", "request": {"content": {"parts": [{"fileData": {"fileUri": "gs://cloud-samples-data/generative-ai/image/benchmark.jpeg", "mimeType": "image/jpeg"}}]}, "embed_content_config": {"output_dimensionality": 768}}}
Meminta respons batch
Bergantung pada jumlah item input yang Anda kirimkan, tugas batch dapat memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat mengirimkan tugas penyematan batch menggunakan REST API atau Google Gen AI SDK.
REST
Anda dapat menggunakan REST API untuk membuat tugas penyematan batch dengan mengirim permintaan POST ke endpoint batchPredictionJobs.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- ENDPOINT_PREFIX: Awalan region atau multi-region yang diikuti dengan
-(misalnya,us-central1-,us-, ataueu-). Jika menggunakan endpointglobal, biarkan kosong (aiplatform.googleapis.com). - PROJECT_ID: ID Cloud de Confiance by S3NS project Anda.
- LOCATION: Lokasi yang didukung untuk model (misalnya,
us-central1untukgemini-embedding-001, atauglobal,us, ataueuuntukgemini-embedding-2). - BP_JOB_NAME: Nama tampilan untuk tugas batch Anda.
- MODEL_ID: ID model penayang (
gemini-embedding-001ataugemini-embedding-2). - INPUT_URI: Cloud Storage URI file JSONL input Anda (misalnya,
gs://my-bucket/path/to/input.jsonl). - OUTPUT_URI_PREFIX: Bucket Cloud Storage dan awalan direktori tempat file JSONL output akan ditulis (misalnya,
gs://my-bucket/path/to/output/).
Metode HTTP dan URL:
POST https://ENDPOINT_PREFIXaiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
Meminta isi JSON:
{
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/MODEL_ID",
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": [
"INPUT_URI"
]
}
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF'
{
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/MODEL_ID",
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": [
"INPUT_URI"
]
}
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}
}
EOFKemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs"
PowerShell
Simpan isi permintaan dalam file bernama request.json.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@'
{
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/MODEL_ID",
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": [
"INPUT_URI"
]
}
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}
}
'@ | Out-File -FilePath request.json -Encoding utf8Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/BATCH_JOB_ID",
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/MODEL_ID",
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": [
"INPUT_URI"
]
}
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
},
"state": "JOB_STATE_PENDING",
"createTime": "2026-09-15T19:33:59.153782Z",
"updateTime": "2026-09-15T19:33:59.153782Z",
"modelVersionId": "1"
}
Contoh perintah curl
Responsnya menyertakan ID unik untuk tugas batch (BATCH_JOB_ID). Anda dapat mengirimkan tugas batch dan melakukan polling untuk statusnya menggunakan curl:
Membuat tugas batch:
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/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs"
Status tugas polling:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://ENDPOINT_PREFIXaiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/BATCH_JOB_ID"
Python
Instal
pip install --upgrade google-genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Google 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=us-central1 export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
Pelajari cara menginstal atau mengupdate Go.
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Google 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=us-central1 export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
Instal
npm install @google/genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Google 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=us-central1 export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
Pelajari cara menginstal atau mengupdate Java.
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Google 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=us-central1 export GOOGLE_GENAI_USE_ENTERPRISE=True
Mengambil output batch
Setelah tugas inferensi batch selesai, file JSONL output akan disimpan di direktori output Cloud Storage yang Anda tentukan dalam permintaan Anda.
{"key": "id_1", "request": {...}, "response": {"tokenCount": "2", "embedding": {"values": [-0.015, 0.024, ...]}}}
{"key": "id_2", "request": {...}, "response": {"tokenCount": "3", "embedding": {"values": [-0.075, 0.031, ...]}}}
Referensi lainnya
- Untuk opsi konfigurasi yang tersedia di
gemini-embedding-001, lihat Panduan Penyematan Teks. - Untuk opsi konfigurasi yang tersedia di
gemini-embedding-2, lihat Panduan Embedding Multimodal. - Untuk mempelajari lebih lanjut fitur dan kuota inferensi batch Gemini, lihat Inferensi batch dengan Gemini.
Prediksi batch Embedding lama
Bagian ini menjelaskan alur kerja inferensi batch untuk model embedding teks lama (text-embedding-004, text-embedding-005, dan text-multilingual-embedding-002), yang dibangun di arsitektur yang berbeda dengan model embedding Gemini.
Model embedding teks yang mendukung inferensi batch
Semua versi stabil model embedding teks lama mendukung inferensi batch dan didukung sepenuhnya untuk lingkungan produksi. Untuk melihat daftar lengkap model embedding, lihat Model dan versi embedding.
Menyiapkan input untuk model lama
Input untuk permintaan batch lama adalah daftar perintah yang dapat disimpan dalam tabel BigQuery atau sebagai file JSON Lines (JSONL) di Cloud Storage. Setiap permintaan dapat menyertakan hingga 30.000 prompt.
Contoh JSONL
Bagian ini menunjukkan contoh cara memformat input dan output JSONL untuk model lama.
Contoh input JSONL
{"content":"Give a short description of a machine learning model:"}
{"content":"Best recipe for banana bread:"}
Contoh output JSONL
{"instance":{"content":"Give..."},"predictions": [{"embeddings":{"statistics":{"token_count":8,"truncated":false},"values":[0.2,....]}}],"status":""}
{"instance":{"content":"Best..."},"predictions": [{"embeddings":{"statistics":{"token_count":3,"truncated":false},"values":[0.1,....]}}],"status":""}
Contoh BigQuery
Bagian ini menunjukkan contoh cara memformat input dan output BigQuery untuk model lama.
Contoh input BigQuery
Contoh ini menunjukkan tabel BigQuery satu kolom.
| konten |
|---|
| "Berikan deskripsi singkat tentang model machine learning:" |
| "Resep roti pisang terenak:" |
Contoh output BigQuery
| konten | prediksi | status |
|---|---|---|
| "Berikan deskripsi singkat tentang model machine learning:" |
[ { "embeddings": { "statistics": { "token_count": 8, "truncated": false }, "values": [0.1, ...] } } ] |
|
| "Resep roti pisang terenak:" |
[ { "embeddings": { "statistics": { "token_count": 3, "truncated": false }, "values": [0.2, ...] } } ] |
Meminta respons batch untuk model lama
Bergantung pada jumlah item input yang Anda kirimkan, tugas pembuatan batch dapat memerlukan waktu beberapa saat untuk diselesaikan.
REST
Anda dapat menggunakan REST API untuk mendapatkan embedding teks dalam batch untuk model lama dengan mengirim permintaan POST ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Lokasi untuk mengirim permintaan Anda (misalnya,
us-central1). - PROJECT_ID: ID Cloud de Confiance by S3NS project Anda.
- BP_JOB_NAME: Nama pekerjaan.
- MODEL_ID: ID model embedding lama (misalnya,
text-embedding-005). - INPUT_URI: URI sumber input. Dapat berupa URI tabel BigQuery atau URI file JSONL di Cloud Storage.
- OUTPUT_URI: URI target output.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
Meminta isi JSON:
{
"name": "BP_JOB_NAME",
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/text-embedding-005",
"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.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF'
{
"name": "BP_JOB_NAME",
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/text-embedding-005",
"inputConfig": {
"instancesFormat":"bigquery",
"bigquerySource":{
"inputUri" : "INPUT_URI"
}
},
"outputConfig": {
"predictionsFormat":"bigquery",
"bigqueryDestination":{
"outputUri": "OUTPUT_URI"
}
}
}
EOFKemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@'
{
"name": "BP_JOB_NAME",
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/text-embedding-005",
"inputConfig": {
"instancesFormat":"bigquery",
"bigquerySource":{
"inputUri" : "INPUT_URI"
}
},
"outputConfig": {
"predictionsFormat":"bigquery",
"bigqueryDestination":{
"outputUri": "OUTPUT_URI"
}
}
}
'@ | Out-File -FilePath request.json -Encoding utf8Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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 seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/123456789",
"displayName": "BP_JOB_NAME",
"model": "projects/PROJECT_ID/locations/LOCATION/models/text-embedding-005",
"inputConfig": {
"instancesFormat": "bigquery",
"bigquerySource": {
"inputUri": "INPUT_URI"
}
},
"modelParameters": {},
"outputConfig": {
"predictionsFormat": "bigquery",
"bigqueryDestination": {
"outputUri": "OUTPUT_URI"
}
},
"state": "JOB_STATE_PENDING",
"createTime": "2023-07-12T20:46:52.148717Z",
"updateTime": "2023-07-12T20:46:52.148717Z",
"labels": {
"owner": "sample_owner",
"product": "llm"
},
"modelVersionId": "1",
"modelMonitoringStatus": {}
}
Contoh perintah curl
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"
Mengambil output batch untuk model lama
Setelah tugas inferensi batch lama selesai, output akan disimpan di bucket Cloud Storage atau tabel BigQuery yang Anda tentukan dalam permintaan Anda.
Langkah berikutnya
- Pelajari cara mendapatkan penyematan teks.
- Pelajari cara mendapatkan embedding multimodal.