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 Claude Anthropic berikut:
- Claude 3.7 Sonnet (Pratinjau):
claude-3-7-sonnet@20250219
. - 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
}
}
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.
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.
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_URI : Tabel BigQuery tempat input prediksi batch Anda berada, sepertibq://myproject.mydataset.input_table
.OUTPUT_FORMAT : Untuk menghasilkan output ke tabel BigQuery, tentukanbigquery
. Untuk menghasilkan output ke bucket Cloud Storage, tentukanjsonl
.DESTINATION : Untuk BigQuery, tentukanbigqueryDestination
. Untuk Cloud Storage, tentukangcsDestination
.OUTPUT_URI_FIELD_NAME : Untuk BigQuery, tentukanoutputUri
. Untuk Cloud Storage, tentukanoutputUriPrefix
.OUTPUT_URI : Untuk BigQuery, tentukan lokasi tabel sepertibq://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:
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"
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:
Respons
{ "name": "projects/PROJECT_ID /locations/LOCATION /batchPredictionJobs/BATCH_JOB_ID ", "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 " } }, "state": "JOB_STATE_PENDING", "createTime": "2024-10-16T19:33:59.153782Z", "updateTime": "2024-10-16T19:33:59.153782Z", "modelVersionId": "1" }
Cloud Storage
Tentukan lokasi Cloud Storage, model, dan lokasi output file JSONL Anda.
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 sepertigs://bucketname/path/to/jsonl
.OUTPUT_FORMAT : Untuk menghasilkan output ke tabel BigQuery, tentukanbigquery
. Untuk menghasilkan output ke bucket Cloud Storage, tentukanjsonl
.DESTINATION : Untuk BigQuery, tentukanbigqueryDestination
. Untuk Cloud Storage, tentukangcsDestination
.OUTPUT_URI_FIELD_NAME : Untuk BigQuery, tentukanoutputUri
. Untuk Cloud Storage, tentukanoutputUriPrefix
.OUTPUT_URI : Untuk BigQuery, tentukan lokasi tabel sepertibq://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:
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"
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:
Respons
{ "name": "projects/PROJECT_ID /locations/LOCATION /batchPredictionJobs/BATCH_JOB_ID ", "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 " } }, "state": "JOB_STATE_PENDING", "createTime": "2024-10-16T19:33:59.153782Z", "updateTime": "2024-10-16T19:33:59.153782Z", "modelVersionId": "1" }
Mendapatkan status tugas prediksi batch
Dapatkan status tugas prediksi batch untuk memeriksa apakah tugas tersebut telah berhasil selesai.
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:
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 "
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.
Respons
{ "name": "projects/PROJECT_ID /locations/LOCATION /batchPredictionJobs/BATCH_JOB_ID ", "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 " } }, "state": "JOB_STATE_SUCCEEDED", "createTime": "2024-10-16T19:33:59.153782Z", "updateTime": "2024-10-16T19:33:59.153782Z", "modelVersionId": "1" }
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 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.