Prediksi batch dengan model Claude Anthropic

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) dan status. 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, tentukan jsonl.
  • DESTINATION: Untuk BigQuery, tentukan bigqueryDestination. Untuk Cloud Storage, tentukan gcsDestination.
  • OUTPUT_URI_FIELD_NAME: Untuk BigQuery, tentukan outputUri. Untuk Cloud Storage, tentukan outputUriPrefix.
  • OUTPUT_URI: Untuk BigQuery, tentukan lokasi tabel seperti bq://myproject.mydataset.output_result. Untuk Cloud Storage, tentukan lokasi bucket dan folder seperti gs://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, tentukan jsonl.
  • DESTINATION: Untuk BigQuery, tentukan bigqueryDestination. Untuk Cloud Storage, tentukan gcsDestination.
  • OUTPUT_URI_FIELD_NAME: Untuk BigQuery, tentukan outputUri. Untuk Cloud Storage, tentukan outputUriPrefix.
  • OUTPUT_URI: Untuk BigQuery, tentukan lokasi tabel seperti bq://myproject.mydataset.output_result. Untuk Cloud Storage, tentukan lokasi bucket dan folder seperti gs://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.