Senden Sie eine einzige Aufforderung mit den InvokeModel API Vorgängen - 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.

Senden Sie eine einzige Aufforderung mit den InvokeModel API Vorgängen

Führen Sie über die Inferenz für ein Modell durch, API indem Sie eine InvokeModelWithResponseStreamOder-Anfrage InvokeModelsenden. Sie können den Medientyp für die Anforderungs- und Antworttexte in den Feldern contentType und acceptangeben. Wenn Sie keinen Wert angeben, lautet der Standardwert für beide Felder application/json.

Streaming wird für alle Textausgabemodelle unterstützt, außer AI21 Labs Jurassic-2 Modelle. Um zu überprüfen, ob ein Modell Streaming unterstützt, senden Sie eine GetFoundationModelListFoundationModelsOder-Anfrage und überprüfen Sie den Wert im responseStreamingSupported Feld.

Geben Sie je nach verwendetem Modell die folgenden Felder an.

  1. modelId— Verwenden Sie die ID oder den Amazon-Ressourcennamen (ARN) eines Modells oder Durchsatzes. Die Methode, um die ID oder zu finden, ARN hängt von der Art des Modells oder vom verwendeten Durchsatz ab:

    • Basismodell — Führen Sie einen der folgenden Schritte aus:

      • Eine Liste der Modelle IDs für alle von Amazon Bedrock unterstützten Basismodelle finden Sie unterAmazon Bedrock-Basismodell IDs (On-Demand-Durchsatz) .

      • Senden Sie eine ListFoundationModelsAnfrage und suchen Sie nach dem modelId Oder modelArn des Modells, das Sie in der Antwort verwenden möchten.

      • Wählen Sie in der Amazon Bedrock-Konsole unter Providers ein Modell aus und suchen Sie es modelId im APIAnforderungsbeispiel.

    • Inferenzprofil — Führen Sie einen der folgenden Schritte aus:

      • Senden Sie eine ListInferenceProfilesAnfrage und suchen Sie nach dem inferenceProfileArn Modell, das Sie in der Antwort verwenden möchten.

      • Wählen Sie in der Amazon Bedrock-Konsole im linken Navigationsbereich regionsübergreifende Inferenz aus und suchen Sie im Abschnitt Inferenzprofile nach der ID oder ARN des Inferenzprofils.

    • Bereitgestellter Durchsatz — Wenn Sie den bereitgestellten Durchsatz für ein Basismodell oder ein benutzerdefiniertes Modell erstellt haben, gehen Sie wie folgt vor:

      • Senden Sie eine ListProvisionedModelThroughputsAnfrage und suchen Sie nach dem provisionedModelArn Modell, das Sie in der Antwort verwenden möchten.

      • Wählen Sie in der Amazon Bedrock-Konsole im linken Navigationsbereich Provisioned Throughput und anschließend im Abschnitt Provisioned Throughput einen Provisioned Throughput aus. Suchen Sie dann im Abschnitt mit den Modelldetails nach ARN der ID oder des bereitgestellten Durchsatzes.

    • Benutzerdefiniertes Modell — Erwerben Sie Provisioned Throughput für das benutzerdefinierte Modell (weitere Informationen finden Sie unterErhöhen Sie die Kapazität für den Modellaufruf mit Provisioned Throughput in Amazon Bedrock) und suchen Sie nach der Modell-ID oder ARN des bereitgestellten Modells.

  2. body: Jedes Basismodell hat seine eigenen Inferenzparameter, die Sie im Feld body festlegen. Die Inferenzparameter für ein benutzerdefiniertes oder bereitgestelltes Modell hängen vom Basismodell ab, auf deren Basis sie erstellt wurden. Weitere Informationen finden Sie unter Inferenzanforderungsparameter und Antwortfelder für Foundation-Modelle.

Beispiel für das Aufrufen von Modellcode

Die folgenden Beispiele zeigen, wie Inferenzen mit dem ausgeführt werden. InvokeModelAPI Beispiele mit unterschiedlichen Modellen finden Sie in der Referenz zu den Inferenzparametern für das gewünschte Modell (Inferenzanforderungsparameter und Antwortfelder für Foundation-Modelle).

CLI

Im folgenden Beispiel wird die generierte Antwort auf die Eingabeaufforderung gespeichert story of two dogs in eine Datei mit dem Namen invoke-model-output.txt.

aws bedrock-runtime invoke-model \ --model-id anthropic.claude-v2 \ --body '{"prompt": "\n\nHuman: story of two dogs\n\nAssistant:", "max_tokens_to_sample" : 300}' \ --cli-binary-format raw-in-base64-out \ invoke-model-output.txt
Python

Das folgende Beispiel gibt eine generierte Antwort auf die Eingabeaufforderung zurück explain black holes to 8th graders.

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "prompt": "\n\nHuman: explain black holes to 8th graders\n\nAssistant:", "max_tokens_to_sample": 300, "temperature": 0.1, "top_p": 0.9, }) modelId = 'anthropic.claude-v2' accept = 'application/json' contentType = 'application/json' response = brt.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType) response_body = json.loads(response.get('body').read()) # text print(response_body.get('completion'))

Beispiel für das Aufrufen eines Modells mit Streaming-Code

Anmerkung

Das AWS CLI unterstützt kein Streaming.

Das folgende Beispiel zeigt, wie Sie Streaming-Text mit Python mithilfe der InvokeModelWithResponseStreamAPIEingabeaufforderung generieren können write an essay for living on mars in 1000 words.

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ 'prompt': '\n\nHuman: write an essay for living on mars in 1000 words\n\nAssistant:', 'max_tokens_to_sample': 4000 }) response = brt.invoke_model_with_response_stream( modelId='anthropic.claude-v2', body=body ) stream = response.get('body') if stream: for event in stream: chunk = event.get('chunk') if chunk: print(json.loads(chunk.get('bytes').decode()))