Batch-Inferenz – Codebeispiel - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Batch-Inferenz – Codebeispiel

Das Codebeispiel in diesem Kapitel zeigt, wie Sie einen Batch-Inferenzauftrag erstellen, Informationen dazu anzeigen und ihn beenden.

Wählen Sie eine Sprache aus, um ein Codebeispiel für diese anzuzeigen:

Python

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)