Soumettre une seule invite avec les InvokeModel API opérations - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Soumettre une seule invite avec les InvokeModel API opérations

Exécutez une inférence sur un modèle via le API en envoyant une InvokeModelWithResponseStreamdemande InvokeModelor. Vous pouvez spécifier le type de média pour les corps de la demande et de la réponse dans les champs contentType et accept. Si vous ne spécifiez aucune valeur, la valeur par défaut pour les deux champs est application/json.

Le streaming est pris en charge pour tous les modèles de sortie de texte sauf AI21 Labs Jurassic-2 modèles. Pour vérifier si un modèle prend en charge le streaming, envoyez une ListFoundationModelsdemande GetFoundationModelor et vérifiez la valeur dans le responseStreamingSupported champ.

Spécifiez les champs suivants, en fonction du modèle que vous utilisez.

  1. modelId— Utilisez l'ID ou le nom de ressource Amazon (ARN) d'un modèle ou d'un débit. La méthode de recherche de l'ID ARN dépend du type de modèle ou de débit que vous utilisez :

    • Modèle de base — Effectuez l'une des opérations suivantes :

      • Pour consulter la liste de tous les modèles IDs de base pris en charge par Amazon Bedrock, consultezModèle de base Amazon Bedrock IDs (débit à la demande) .

      • Envoyez une ListFoundationModelsdemande et recherchez le modelId ou modelArn du modèle à utiliser dans la réponse.

      • Dans la console Amazon Bedrock, sélectionnez un modèle dans Providers et recherchez-le modelId dans l'exemple de APIdemande.

    • Profil d'inférence : effectuez l'une des opérations suivantes :

      • Envoyez une ListInferenceProfilesdemande et trouvez inferenceProfileArn le modèle à utiliser dans la réponse.

      • Dans la console Amazon Bedrock, sélectionnez Inférence entre régions dans le volet de navigation de gauche et recherchez l'ID ou le profil ARN d'inférence dans la section Profils d'inférence.

    • Débit provisionné : si vous avez créé un débit provisionné pour un modèle de base ou personnalisé, effectuez l'une des opérations suivantes :

      • Envoyez une ListProvisionedModelThroughputsdemande et trouvez provisionedModelArn le modèle à utiliser dans la réponse.

      • Dans la console Amazon Bedrock, sélectionnez Débit provisionné dans le volet de navigation de gauche et sélectionnez un débit provisionné dans la section Débit provisionné. Recherchez ensuite l'ID ou ARN le débit provisionné dans la section Détails du modèle.

    • Modèle personnalisé — Achetez du débit provisionné pour le modèle personnalisé (pour plus d'informations, voirAugmentez la capacité d'invocation des modèles grâce au débit provisionné dans Amazon Bedrock) et recherchez l'ID du modèle ou ARN du modèle provisionné.

  2. body : chaque modèle de base possède ses propres paramètres que vous définissez dans le champ body. Les paramètres d’inférence d’un modèle personnalisé ou provisionné dépendent du modèle de base à partir duquel il a été créé. Pour de plus amples informations, veuillez consulter Paramètres de demande d'inférence et champs de réponse pour les modèles de base.

Exemples d’invocation de code de modèle

Les exemples suivants montrent comment exécuter une inférence avec le InvokeModelAPI. Pour des exemples avec différents modèles, consultez la référence des paramètres d’inférence pour le modèle souhaité (Paramètres de demande d'inférence et champs de réponse pour les modèles de base).

CLI

L'exemple suivant enregistre la réponse générée dans l'invite story of two dogs dans un fichier appelé 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

L'exemple suivant renvoie une réponse générée à l'invite 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'))

Exemple d’invocation de modèle d’appel avec code de streaming

Note

Le AWS CLI ne prend pas en charge le streaming.

L'exemple suivant montre comment utiliser le InvokeModelWithResponseStreamAPIpour générer du texte en streaming avec Python à l'aide de l'invite 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()))