Erstellen Sie eine JSONL-Datei mit dem Namen abc.jsonl und fügen Sie ein JSON-Objekt für jeden Datensatz hinzu, der mindestens die Mindestanzahl von Datensätzen enthält (siehe Mindestanzahl von Datensätzen pro Batch-Inferenzauftrag für {Model} Kontingente für Amazon Bedrock). In diesem Beispiel verwenden Sie das Modell Anthropic Claude 3 Haiku. Das folgende Beispiel zeigt die erste JSON-Eingabe in der Datei:
{
"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
Erstellen Sie einen S3-Bucket mit dem Namen amzn-s3-demo-bucket-input und laden Sie die Datei in diesen hoch. Erstellen Sie dann einen S3-Bucket mit dem Namen amzn-s3-demo-bucket-output, in den Ihre Ausgabedateien geschrieben werden sollen. Führen Sie den folgenden Codeausschnitt aus, um einen Auftrag zu übermitteln und den jobArn aus der Antwort zu erhalten:
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')
Gibt den Namen status des Auftrags zurück.
bedrock.get_model_invocation_job(jobIdentifier=jobArn)['status']
Listet Batch-Inferenzaufträge auf, die fehlgeschlagen sind.
bedrock.list_model_invocation_jobs(
maxResults=10,
statusEquals="Failed",
sortOrder="Descending"
)
Beenden Sie den Auftrag, den Sie gestartet haben.
bedrock.stop_model_invocation_job(jobIdentifier=jobArn)