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.
-
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
oumodelArn
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é.
-
-
body
: chaque modèle de base possède ses propres paramètres que vous définissez dans le champbody
. 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).
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()))