Prediksi batch memungkinkan Anda mengirim beberapa perintah yang tidak sensitif terhadap latensi ke model Claude Anthropic. Dibandingkan dengan prediksi online, yang mengharuskan Anda mengirim satu perintah input untuk setiap permintaan, Anda dapat mengelompokkan sejumlah besar perintah input dalam satu permintaan.
Model Claude Anthropic yang didukung
Vertex AI mendukung prediksi batch untuk model Anthropic Claude berikut:
- Claude 3.5 Sonnet v2 (
claude-3-5-sonnet-v2@20241022
) - Claude 3.5 Haiku (
claude-3-5-haiku@20241022
)
Menyiapkan input
Sebelum memulai, siapkan set data input di tabel BigQuery atau sebagai file JSONL di Cloud Storage. Input untuk kedua sumber harus mengikuti format JSON Skema Anthropoic Claude API, seperti yang ditunjukkan dalam contoh berikut:
{
"custom_id": "request-1",
"request": {
"messages": [{"role": "user", "content": "Hello!"}],
"anthropic_version": "vertex-2023-10-16",
"max_tokens": 50
}
}
BigQuery
Tabel input BigQuery Anda harus mematuhi skema berikut:
Nama kolom | Deskripsi |
---|---|
custom_id | ID untuk setiap permintaan agar cocok dengan input dan output. |
permintaan | Isi permintaan, yang merupakan perintah input Anda dan harus mengikuti Skema Anthropoic Claude API |
- Tabel input Anda dapat memiliki kolom lain, yang diabaikan oleh tugas batch dan diteruskan langsung ke tabel output.
- Tugas prediksi batch mencadangkan dua nama kolom untuk output prediksi
batch:
response(JSON)
danstatus
. Jangan gunakan kolom ini dalam tabel input.
Cloud Storage
Untuk Cloud Storage, file input harus berupa file JSONL yang berada di bucket Cloud Storage.
Meminta prediksi batch
Buat prediksi batch terhadap model Claude menggunakan input dari BigQuery atau Cloud Storage. Anda dapat memilih secara independen untuk menghasilkan prediksi ke tabel BigQuery atau file JSONL di bucket Cloud Storage.
BigQuery
Tentukan tabel input, model, dan lokasi output BigQuery Anda. Tugas prediksi batch dan tabel Anda harus berada di region yang sama.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region yang mendukung model Anthropic Claude yang dipilih (lihat Region Claude).
- PROJECT_ID: Project ID Anda.
- MODEL: Nama model.
- INPUT_URI: Tabel BigQuery tempat input prediksi batch Anda berada, seperti
bq://myproject.mydataset.input_table
. - OUTPUT_FORMAT: Untuk menghasilkan output ke tabel BigQuery, tentukan
bigquery
. Untuk menghasilkan output ke bucket Cloud Storage, tentukanjsonl
. - 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
. Untuk Cloud Storage, tentukan lokasi bucket dan folder sepertigs://mybucket/path/to/outputfile
.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
Isi JSON permintaan:
'{ "displayName": "JOB_NAME", "model": "publishers/anthropic/models/MODEL", "inputConfig": { "instancesFormat":"bigquery", "bigquerySource":{ "inputUri" : "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:
Cloud Storage
Tentukan lokasi Cloud Storage, model, dan lokasi output file JSONL Anda.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region yang mendukung model Claude Anthropic yang dipilih (lihat Region Claude).
- PROJECT_ID: Project ID Anda.
- MODEL: Nama model.
- INPUT_URIS: Daftar yang dipisahkan koma dari lokasi Cloud Storage input prediksi batch JSONL Anda seperti
gs://bucketname/path/to/jsonl
. - OUTPUT_FORMAT: Untuk menghasilkan output ke tabel BigQuery, tentukan
bigquery
. Untuk menghasilkan output ke bucket Cloud Storage, tentukanjsonl
. - 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
. Untuk Cloud Storage, tentukan lokasi bucket dan folder sepertigs://mybucket/path/to/outputfile
.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
Isi JSON permintaan:
'{ "displayName": "JOB_NAME", "model": "publishers/anthropic/models/MODEL", "inputConfig": { "instancesFormat":"jsonl", "gcsSource":{ "uris" : "INPUT_URIS" } }, "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:
Mendapatkan status tugas prediksi batch
Dapatkan status tugas prediksi batch untuk memeriksa apakah tugas tersebut telah berhasil selesai.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region tempat tugas batch Anda berada.
- JOB_ID: ID tugas batch yang ditampilkan saat Anda membuat tugas.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/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/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/JOB_ID" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan berikut ini.
Mengambil output prediksi batch
Setelah tugas prediksi batch selesai, ambil output dari lokasi yang Anda tentukan. Untuk BigQuery, outputnya ada di kolom response(JSON)
tabel BigQuery tujuan Anda. Untuk Cloud Storage, output disimpan sebagai file JSONL di lokasi Cloud Storage output.
Masalah umum
Berikut adalah masalah umum terkait fitur ini.
Error internal untuk tugas batch pertama di region.
Untuk pengguna prediksi batch pertama kali di suatu region, terkadang tugas Prediksi batch akan gagal dengan pesan berikut:
"state": "JOB_STATE_FAILED", "error": { "code": 13, "message": "INTERNAL" }
Masalah ini terjadi karena akun layanan internal yang menjalankan tugas prediksi batch baru saja dibuat, dan belum disebarkan melalui pipeline penyediaan, sehingga menyebabkan tugas batch gagal dengan error izin secara internal. Pengguna yang mengalami error ini dapat mencoba mengirim permintaan batch lagi setelah ~10 menit.
Tugas yang dibatalkan tidak akan menampilkan hasil apa pun.
Karena bug yang diketahui, jika tugas dibatalkan sebelum selesai atau waktu habis, tidak ada hasil yang akan muncul di lokasi output.