

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 批次推論的程式碼範例
<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)
```

------