Senden Sie eine einzelne Aufforderung mit InvokeModel - 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 einzelne Aufforderung mit InvokeModel

Führen Sie eine Inferenz für ein Modell durch, API indem Sie eine InvokeModelWithResponseStreamOder-Anfrage InvokeModelsenden. Um zu überprüfen, ob ein Modell Streaming unterstützt, senden Sie eine GetFoundationModelListFoundationModelsOder-Anfrage und überprüfen Sie den Wert im responseStreamingSupported Feld.

Die folgenden Felder sind erforderlich:

Feld Anwendungsfall
modelId Um das zu verwendende Modell, das Inferenzprofil oder die Aufforderung aus der Prompt-Verwaltung anzugeben. Informationen zum Ermitteln dieses Werts finden Sie unterSenden Sie Eingabeaufforderungen und generieren Sie Antworten mit dem API.
body Um die Inferenzparameter für ein Modell anzugeben. Informationen zu Inferenzparametern für verschiedene Modelle finden Sie unter. Inferenzanforderungsparameter und Antwortfelder für Foundation-Modelle Wenn Sie in dem modelId Feld eine Aufforderung aus der Eingabeaufforderungsverwaltung angeben, lassen Sie dieses Feld weg (wenn Sie es angeben, wird es ignoriert).

Die folgenden Felder sind optional:

Feld Anwendungsfall
akzeptieren Um den Medientyp für den Anforderungstext anzugeben. Weitere Informationen finden Sie unter Medientypen auf der Swagger Website.
contentType Um den Medientyp für den Antworttext anzugeben. Weitere Informationen finden Sie unter Medientypen auf der Swagger Website.
explicitPromptCaching Um anzugeben, ob das Zwischenspeichern von Eingabeaufforderungen aktiviert oder deaktiviert ist. Weitere Informationen finden Sie unter Promptes Caching für schnellere Modellinferenz.
guardrailIdentifier Um eine Leitplanke anzugeben, die auf die Aufforderung und die Antwort angewendet werden soll. Weitere Informationen finden Sie unter Testen Sie eine Leitplanke.
guardrailVersion Um eine Leitplanke anzugeben, die auf die Aufforderung und die Antwort angewendet werden soll. Weitere Informationen finden Sie unter Testen Sie eine Leitplanke.
Spur Um anzugeben, ob der Trace für die von Ihnen angegebene Leitplanke zurückgegeben werden soll. Weitere Informationen finden Sie unter Testen Sie eine Leitplanke.

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 Aufforderung in einer Datei story of two dogs mit dem Namen invoke-model-output.txt gespeichert.

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 Aufforderung zurückexplain 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 mithilfe der InvokeModelWithResponseStreamAPIEingabeaufforderung Streaming-Text mit Python generieren könnenwrite 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()))