

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 배치 추론의 코드 예제
<a name="batch-inference-example"></a>

이 장의 코드 예제에서는 배치 추론 작업을 만들고, 이에 대한 정보를 보고, 작업을 중지하는 방법을 보여줍니다. 이 예제에서는 `InvokeModel` API 형식을 사용합니다. `Converse` API 형식 사용에 대한 자세한 내용은 섹션을 참조하세요[추론 데이터의 형식 지정 및 업로드](batch-inference-data.md).

언어를 선택하여 해당 언어의 코드 예제를 확인하세요.

------
#### [ Python ]

*abc.jsonl*이라는 JSONL 파일을 생성하고 최소 레코드 수가 포함된 각 레코드에 대한 JSON 객체를 포함합니다(***\$1Model\$1*의 배치 추론 작업당 최소 레코드 수** [Amazon Bedrock의 할당량](quotas.md) 참조). 이 예제에서는 Anthropic Claude 3 Haiku 모델을 사용합니다. 다음은 파일에 포함된 첫 번째 입력 JSON의 예제입니다.

```
{
    "recordId": "CALL0000001", 
    "modelInput": {
        "anthropic_version": "bedrock-2023-05-31", 
        "max_tokens": 1024,
        "messages": [ 
            { 
                "role": "user", 
                "content": [
                    {
                        "type": "text", 
                        "text": "Summarize the following call transcript: ..." 
                    } 
                ]
            }
        ]
    }
}
... 
# Add records until you hit the minimum
```

*amzn-s3-demo-bucket-input*이라는 S3 버킷을 만들고 여기에 파일을 업로드합니다. 그런 다음 *amzn-s3-demo-bucket-output*이라는 S3 버킷을 만들어 출력 파일을 씁니다. 다음 코드 스니펫을 실행하여 작업을 제출하고 응답에서 *jobArn*을 가져옵니다.

```
import boto3

bedrock = boto3.client(service_name="bedrock")

inputDataConfig=({
    "s3InputDataConfig": {
        "s3Uri": "s3://amzn-s3-demo-bucket-input/abc.jsonl"
    }
})

outputDataConfig=({
    "s3OutputDataConfig": {
        "s3Uri": "s3://amzn-s3-demo-bucket-output/"
    }
})

response=bedrock.create_model_invocation_job(
    roleArn="arn:aws:iam::123456789012:role/MyBatchInferenceRole",
    modelId="anthropic.claude-3-haiku-20240307-v1:0",
    jobName="my-batch-job",
    inputDataConfig=inputDataConfig,
    outputDataConfig=outputDataConfig
)

jobArn = response.get('jobArn')
```

작업의 `status`를 반환합니다.

```
bedrock.get_model_invocation_job(jobIdentifier=jobArn)['status']
```

*실패*한 배치 추론 작업을 나열합니다.

```
bedrock.list_model_invocation_jobs(
    maxResults=10,
    statusEquals="Failed",
    sortOrder="Descending"
)
```

시작한 작업을 중지합니다.

```
bedrock.stop_model_invocation_job(jobIdentifier=jobArn)
```

------