Anthropic Claude 모델을 사용한 일괄 예측

일괄 예측을 사용하면 지연 시간에 민감하지 않은 여러 프롬프트를 Anthropic Claude 모델에 전송할 수 있습니다. 요청마다 하나의 입력 프롬프트를 전송하는 온라인 예측과 달리 단일 요청으로 다수의 입력 프롬프트를 일괄 처리할 수 있습니다.

지원되는 Anthropic Claude 모델

Vertex AI는 다음 Anthropic Claude 모델의 일괄 예측을 지원합니다.

  • Claude 3.7 Sonnet (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)

할당량

기본적으로 단일 프로젝트에서 실행할 수 있는 동시 일괄 요청 수는 4개입니다.

입력 준비

시작하기 전에 BigQuery 테이블 또는 Cloud Storage의 JSONL 파일로 입력 데이터 세트를 준비합니다. 두 소스의 입력은 다음 예와 같이 Anthropic Claude API 스키마 JSON 형식을 따라야 합니다.

{
  "custom_id": "request-1",
  "request":  {
    "messages": [{"role": "user", "content": "Hello!"}],
    "anthropic_version": "vertex-2023-10-16",
    "max_tokens": 50
  }
}

BigQuery

BigQuery 입력 테이블은 다음 스키마를 준수해야 합니다.

열 이름 설명
custom_id 입력을 출력과 일치시키는 각 요청의 ID입니다.
요청 입력 프롬프트인 요청 본문으로 Anthropic Claude API 스키마를 따라야 합니다.
  • 입력 테이블에는 일괄 작업에서 무시되는 다른 열이 있을 수 있습니다.
  • 일괄 예측 작업은 일괄 예측 출력용으로 두 개의 열 이름(response(JSON)status)을 예약합니다. 입력 테이블에서 이러한 열을 사용하지 마세요.

Cloud Storage

Cloud Storage의 경우 입력 파일은 Cloud Storage 버킷에 있는 JSONL 파일이어야 합니다.

배치 예측 요청

BigQuery 또는 Cloud Storage의 입력을 사용하여 Claude 모델에 대해 일괄 예측을 실행합니다. BigQuery 테이블 또는 Cloud Storage 버킷의 JSONL 파일 중 하나에 예측을 출력하도록 독립적으로 선택할 수 있습니다.

BigQuery

BigQuery 입력 테이블, 모델, 출력 위치를 지정합니다. 일괄 예측 작업과 테이블이 동일한 리전에 있어야 합니다.

REST

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION: 선택한 Anthropic Claude 모델을 지원하는 리전입니다 (Claude 리전 참고).
  • PROJECT_ID: 프로젝트 ID
  • MODEL: 모델의 이름입니다.
  • INPUT_URI: 일괄 예측 입력이 있는 BigQuery 테이블입니다(예: bq://myproject.mydataset.input_table).
  • OUTPUT_FORMAT: BigQuery 테이블에 출력하려면 bigquery를 지정합니다. Cloud Storage 버킷에 출력하려면 jsonl를 지정합니다.
  • DESTINATION: BigQuery의 경우 bigqueryDestination을 지정합니다. Cloud Storage의 경우 gcsDestination을 지정합니다.
  • OUTPUT_URI_FIELD_NAME: BigQuery의 경우 outputUri을 지정합니다. Cloud Storage의 경우 outputUriPrefix을 지정합니다.
  • OUTPUT_URI: BigQuery의 경우 테이블 위치(예: bq://myproject.mydataset.output_result)를 지정합니다. Cloud Storage의 경우 버킷 및 폴더 위치(예: gs://mybucket/path/to/outputfile)를 지정합니다.

HTTP 메서드 및 URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs

JSON 요청 본문:

'{
  "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"
    }
  }
}'

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

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

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$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

다음과 비슷한 JSON 응답이 수신됩니다.

Cloud Storage

JSONL 파일의 Cloud Storage 위치, 모델, 출력 위치를 지정합니다.

REST

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION: 선택한 Anthropic Claude 모델을 지원하는 리전입니다 (Claude 리전 참고).
  • PROJECT_ID: 프로젝트 ID
  • MODEL: 모델의 이름입니다.
  • INPUT_URIS: JSONL 일괄 예측 입력의 Cloud Storage 위치(예: gs://bucketname/path/to/jsonl)의 쉼표로 구분된 목록입니다.
  • OUTPUT_FORMAT: BigQuery 테이블에 출력하려면 bigquery를 지정합니다. Cloud Storage 버킷에 출력하려면 jsonl를 지정합니다.
  • DESTINATION: BigQuery의 경우 bigqueryDestination을 지정합니다. Cloud Storage의 경우 gcsDestination을 지정합니다.
  • OUTPUT_URI_FIELD_NAME: BigQuery의 경우 outputUri을 지정합니다. Cloud Storage의 경우 outputUriPrefix을 지정합니다.
  • OUTPUT_URI: BigQuery의 경우 테이블 위치(예: bq://myproject.mydataset.output_result)를 지정합니다. Cloud Storage의 경우 버킷 및 폴더 위치(예: gs://mybucket/path/to/outputfile)를 지정합니다.

HTTP 메서드 및 URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs

JSON 요청 본문:

'{
  "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"
    }
  }
}'

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

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

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$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

다음과 비슷한 JSON 응답이 수신됩니다.

일괄 예측 작업의 상태 가져오기

일괄 예측 작업의 상태를 가져와 작업이 완료되었는지 확인합니다.

REST

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • LOCATION: 일괄 작업이 있는 리전입니다.
  • JOB_ID: 작업을 만들 때 반환된 일괄 작업 ID입니다.

HTTP 메서드 및 URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

다음 명령어를 실행합니다.

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

다음 명령어를 실행합니다.

$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

다음과 비슷한 JSON 응답이 수신됩니다.

일괄 예측 출력 검색

일괄 예측 작업이 완료되면 지정한 위치에서 출력을 가져옵니다. BigQuery의 경우 출력은 대상 BigQuery 테이블의 response(JSON) 열에 있습니다. Cloud Storage의 경우 출력이 출력 Cloud Storage 위치에 JSONL 파일로 저장됩니다.