

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.

# Démarrage détaillé avec la console et l'API
<a name="detailed-getting-started"></a>

Du contenu sera bientôt disponible.

# Démarrage dans la console Amazon Bedrock
<a name="getting-started-console"></a>

Cette section explique comment utiliser les [terrains](playgrounds.md) de jeu de la AWS console pour envoyer un message texte à un modèle Amazon Bedrock Foundation (FM) et générer une réponse sous forme de texte ou d'image. Avant d’exécuter les exemples suivants, vous devez vérifier que vous remplissez les conditions préalables suivantes :

**Conditions préalables**
+ Vous avez Compte AWS et êtes autorisé à accéder à un rôle dans ce compte avec les autorisations nécessaires pour Amazon Bedrock. Sinon, suivez les étapes décrites dans [Démarrage rapide](getting-started.md).
+ Vous êtes dans la région USA Est (Virginie du Nord) (us-east-1). Pour changer de région, choisissez le nom de la région en haut à droite de la console, à côté de votre rôle IAM. Ensuite, sélectionnez USA Est (Virginie du Nord) (us-east-1).

**Topics**
+ [Explorer le terrain de jeu de texte](#getting-started-text)
+ [Explorer le terrain de jeu d’image](#getting-started-image)

## Explorer le terrain de jeu de texte
<a name="getting-started-text"></a>

L’exemple suivant illustre comment utiliser le terrain de jeu de texte :

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, choisissez **Texte** sous **Terrains de jeu**.

1. Choisissez **Sélectionner le modèle**, puis sélectionnez un fournisseur et un modèle. Pour cet exemple, nous allons sélectionner **Amazon Titan Text G1 - Lite**. Choisissez ensuite **Appliquer**

1. Sélectionnez une invite par défaut sous le panneau de texte ou entrez une invite dans le panneau de texte, telle que **Describe the purpose of a "hello world" program in one line**.

1. Choisissez **Exécuter** pour exécuter l’inférence sur le modèle. Le texte généré apparaît sous votre invite dans le panneau de texte.

## Explorer le terrain de jeu d’image
<a name="getting-started-image"></a>

L’exemple suivant illustre comment utiliser le terrain de jeu d’image.

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, choisissez **Image** sous **Terrains de jeu**.

1. Choisissez **Sélectionner le modèle**, puis sélectionnez un fournisseur et un modèle. Pour cet exemple, nous allons sélectionner **Amazon Titan Image Generator G1 V1**. Choisissez ensuite **Appliquer**

1. Sélectionnez une invite par défaut sous le panneau de texte ou entrez une invite dans le panneau de texte, telle que **Generate an image of happy cats**.

1. Dans le volet **Configurations**, remplacez le **nombre d’images** par **1**.

1. Choisissez **Exécuter** pour exécuter l’inférence sur le modèle. L’image générée apparaît au-dessus de l’invite.

# Démarrage avec l’API
<a name="getting-started-api"></a>

Cette section explique comment configurer votre environnement pour effectuer des requêtes Amazon Bedrock via l' AWS API. AWS propose les outils suivants pour rationaliser votre expérience :
+ AWS Command Line Interface (AWS CLI)
+ AWS SDKs
+ Carnets Amazon SageMaker AI

Pour commencer à utiliser l’API, vous avez besoin d’informations d’identification pour accorder un accès programmatique. Si les sections suivantes vous concernent, développez-les et suivez les instructions. Sinon, passez aux sections restantes.

## Je suis nouveau AWS
<a name="gs-api-new-to-aws"></a>

Si vous n'en avez pas Compte AWS, procédez comme suit pour en créer un.

**Pour vous inscrire à un Compte AWS**

1. Ouvrez l'[https://portal.aws.amazon.com/billing/inscription.](https://portal.aws.amazon.com/billing/signup)

1. Suivez les instructions en ligne.

   Dans le cadre de la procédure d’inscription, vous recevrez un appel téléphonique ou un SMS et vous saisirez un code de vérification en utilisant le clavier numérique du téléphone.

   Lorsque vous vous inscrivez à un Compte AWS, un *Utilisateur racine d'un compte AWS*est créé. Par défaut, seul l’utilisateur racine a accès à l’ensemble des Services AWS et des ressources de ce compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur, et à utiliser uniquement l’utilisateur racine pour effectuer les [tâches nécessitant un accès utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS vous envoie un e-mail de confirmation une fois le processus d'inscription terminé. À tout moment, vous pouvez consulter l'activité actuelle de votre compte et gérer votre compte en accédant à [https://aws.amazon.com/](https://aws.amazon.com/)et en choisissant **Mon compte**.

**Sécurisez votre Utilisateur racine d'un compte AWS**

1.  Connectez-vous en [AWS Management Console](https://console.aws.amazon.com/)tant que propriétaire du compte en choisissant **Utilisateur root** et en saisissant votre adresse Compte AWS e-mail. Sur la page suivante, saisissez votre mot de passe.

   Pour obtenir de l’aide pour vous connecter en utilisant l’utilisateur racine, consultez [Connexion en tant qu’utilisateur racine](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) dans le *Guide de l’utilisateur Connexion à AWS *.

1. Activez l’authentification multifactorielle (MFA) pour votre utilisateur racine.

   Pour obtenir des instructions, consultez la section [Activer un périphérique MFA virtuel pour votre utilisateur Compte AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) dans le guide de l'utilisateur *IAM*.

## J'ai besoin d'installer le AWS CLI ou un AWS SDK
<a name="gs-api-cli-sdk-install"></a>

Pour installer le AWS CLI, suivez les étapes décrites dans la [section Installer ou mettre à jour vers la dernière version du AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

Pour installer un AWS SDK, sélectionnez l'onglet correspondant au langage de programmation que vous souhaitez utiliser dans [Tools to Build on AWS](https://aws.amazon.com/developer/tools/). AWS des kits de développement logiciel (SDKs) sont disponibles pour de nombreux langages de programmation courants. Chaque SDK fournit une API, des exemples de code et de la documentation qui permettent aux développeurs de créer plus facilement des applications dans leur langue préférée. SDKs effectuer automatiquement des tâches utiles pour vous, telles que :
+ Signature cryptographique des requêtes de service
+ Nouvelle tentative de demandes
+ Gestion des réponses d’erreur

## Obtention des informations d’identification pour accorder un accès programmatique
<a name="gs-grant-program-access"></a>

Les utilisateurs ont besoin d'un accès programmatique s'ils souhaitent interagir avec AWS l'extérieur du AWS Management Console. AWS propose plusieurs options, en fonction de vos préoccupations en matière de sécurité.

**Note**  
Pour obtenir un step-by-step guide sur la génération d'une clé d'API que vous pouvez utiliser pour accéder rapidement à l'API Amazon Bedrock, consultez[Démarrer avec les clés d’API Amazon Bedrock : génération d’une clé de 30 jours et réalisation de votre premier appel d’API](getting-started-api-keys.md).  
Pour des exigences de sécurité accrues, poursuivez la lecture de cette section.

La manière d'accorder un accès programmatique dépend du type d'utilisateur qui y accède AWS.

Pour accorder aux utilisateurs un accès programmatique, choisissez l’une des options suivantes.


****  

| Quel principal a besoin d’un accès programmatique ? | À | En | 
| --- | --- | --- | 
| Utilisateurs IAM | Limitez la durée des informations d'identification à long terme pour signer des demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/getting-started-api.html)  | 
| Rôles IAM | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. | Suivez les instructions de la section [Utilisation d'informations d'identification temporaires avec AWS les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) du Guide de l'utilisateur IAM. | 
|  Identité de la main-d’œuvre (Utilisateurs gérés dans IAM Identity Center)  | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/getting-started-api.html)  | 

## Configuration des clés d’accès pour un utilisateur IAM
<a name="create-user-time-bound"></a>

Si vous décidez d'utiliser des clés d'accès pour un utilisateur IAM, il est AWS recommandé de définir une date d'expiration pour cet utilisateur en incluant une politique intégrée restrictive.

**Important**  
Tenez compte des avertissements suivants :  
**N'utilisez PAS** les informations d'identification root de votre compte pour accéder aux AWS ressources. Ces informations d’identification offrent un accès illimité au compte et sont difficiles à révoquer.
**N’incluez PAS** de clés d’accès littérales ou d’informations d’identification dans vos fichiers d’application. Vous risqueriez en effet d’exposer accidentellement vos informations d’identification si, par exemple, vous chargiez le projet sur un référentiel public.
**N’incluez PAS** de fichiers contenant des informations d’identification dans votre zone de projet.
Gérez vos clés d’accès en toute sécurité. Ne communiquez pas vos clés d’accès à des tiers non autorisés, même pour vous aider à trouver les [identifiants de votre compte](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Ce faisant, vous pouvez donner à quelqu'un un accès permanent à votre compte.
Sachez que toutes les informations d'identification stockées dans le fichier AWS d'informations d'identification partagé sont stockées en texte brut.

Pour plus de détails, consultez la section [Meilleures pratiques en matière de gestion des clés AWS d'accès](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html) dans le Références générales AWS.

**Créer un utilisateur IAM**

1. Sur la page d' AWS Management Console accueil, sélectionnez le service IAM ou accédez à la console IAM à l'adresse. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Dans le volet de navigation, sélectionnez **Utilisateurs**, puis **Créer un utilisateur**.

1. Suivez les instructions de la console IAM pour configurer un utilisateur programmatique (sans accès au AWS Management Console) et sans autorisations.

**Restreindre l’accès utilisateur à une fenêtre de temps limitée**

Toutes les clés d’accès utilisateur IAM que vous créez sont des informations d’identification à long terme. Pour garantir que ces informations d’identification expirent en cas de mauvaise gestion, vous pouvez fixer une durée limitée en créant une politique en ligne qui spécifie une date après laquelle les clés ne seront plus valides.

1. Ouvrez l’utilisateur IAM que vous venez de créer. Dans l’onglet **Autorisations**, choisissez **Ajouter des autorisations**, puis **Créer une politique en ligne**.

1. Dans l’éditeur JSON, spécifiez les autorisations suivantes. Pour utiliser cette politique, remplacez la valeur de la valeur d’horodatage `aws:CurrentTime` dans l’exemple de politique par votre propre date de fin.
**Note**  
IAM vous recommande de limiter vos clés d’accès à 12 heures.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Action": "*",
         "Resource": "*",
         "Condition": {
           "DateGreaterThan": {
             "aws:CurrentTime": "2024-01-01T00:00:000"
           }
         }
       }
     ]
   }
   ```

------

**Créer une clé d’accès**

1. Sur la page **Détails de l’utilisateur**, sélectionnez **Informations d’identification de sécurité**. Dans la section **Clés d’accès**, choisissez **Créer une clé d’accès**.

1. Indiquez que vous prévoyez d’utiliser ces clés d’accès sous la forme **Autre** et choisissez **Créer une clé d’accès**.

1. Sur la page **Retrieve access key page** (Récupérer les clés d’accès), choisissez **Show** (Afficher) pour révéler la valeur de la clé d’accès secrète de votre utilisateur. Vous pouvez copier les informations d’identification ou télécharger un fichier .csv.

**Important**  
Lorsque vous n'aurez plus besoin de cet utilisateur IAM, nous vous recommandons de le supprimer et de respecter les [meilleures pratiques en matière de AWS sécurité](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials). Nous vous recommandons de demander à vos utilisateurs humains d'utiliser des informations d'identification temporaires via [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) lors de l'accès. AWS

## Attribution des autorisations Amazon Bedrock à un utilisateur ou à un rôle
<a name="gs-api-br-permissions"></a>

Après avoir configuré les informations d’identification pour l’accès programmatique, vous devez configurer les autorisations pour qu’un utilisateur ou un rôle IAM ait accès à un ensemble d’actions liées à Amazon Bedrock. Pour configurer ces autorisations, procédez comme suit :

1. Sur la page d' AWS Management Console accueil, sélectionnez le service IAM ou accédez à la console IAM à l'adresse. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Sélectionnez **Utilisateurs** ou **Rôles**, puis votre utilisateur ou votre rôle.

1. Dans l'onglet **Autorisations**, choisissez **Ajouter des autorisations**, puis sélectionnez **Ajouter une politique AWS gérée**. Choisissez la stratégie gérée par [AmazonBedrockFullAccess]() AWS .

1. Pour autoriser l’utilisateur ou le rôle à s’abonner à des modèles, choisissez **Créer une politique en ligne**, puis spécifiez les autorisations suivantes dans l’éditeur JSON :

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "MarketplaceBedrock",
             "Effect": "Allow",
             "Action": [
                 "aws-marketplace:ViewSubscriptions",
                 "aws-marketplace:Unsubscribe",
                 "aws-marketplace:Subscribe"
             ],
             "Resource": "*"
         }
     ]
   }
   ```

------

## Essayer de réaliser des appels d’API vers Amazon Bedrock
<a name="gs-try-bedrock"></a>

Une fois que vous avez rempli toutes les conditions préalables, sélectionnez l’une des rubriques suivantes pour tester la création de demandes d’invocation de modèles à l’aide des modèles Amazon Bedrock :

**Topics**
+ [Obtention des informations d’identification pour accorder un accès programmatique](#gs-grant-program-access)
+ [Attribution des autorisations Amazon Bedrock à un utilisateur ou à un rôle](#gs-api-br-permissions)
+ [Essayer de réaliser des appels d’API vers Amazon Bedrock](#gs-try-bedrock)
+ [Démarrer avec les clés d’API Amazon Bedrock : génération d’une clé de 30 jours et réalisation de votre premier appel d’API](getting-started-api-keys.md)
+ [Exécutez des exemples de demandes d'API Amazon Bedrock avec le AWS Command Line Interface](getting-started-api-ex-cli.md)
+ [Exécutez des exemples de requêtes d'API Amazon Bedrock via le AWS SDK pour Python (Boto3)](getting-started-api-ex-python.md)
+ [Exécutez des exemples de demandes d'API Amazon Bedrock à l'aide d'un bloc-notes Amazon SageMaker AI](getting-started-api-ex-sm.md)

# Démarrer avec les clés d’API Amazon Bedrock : génération d’une clé de 30 jours et réalisation de votre premier appel d’API
<a name="getting-started-api-keys"></a>

Ce didacticiel vous explique comment créer une clé d’API Amazon Bedrock à long terme qui expire au bout de 30 jours et comment l’utiliser pour effectuer un appel d’API [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) simple à l’aide de Python. C'est le moyen le plus rapide de commencer à expérimenter avec Amazon Bedrock sans avoir à configurer d'identifiants complexes AWS .

**Avertissement**  
Les clés d’API à long terme sont recommandées uniquement pour l’exploration et le développement d’Amazon Bedrock. Pour les applications de production, utilisez des [alternatives aux clés d’accès à long terme](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys), telles que les rôles IAM ou les informations d’identification temporaires.

Suivez ces étapes pour créer une clé d’API Amazon Bedrock à long terme qui expirera au bout de 30 jours :

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le panneau de navigation de gauche, sélectionnez **Clés d’API**.

1. Dans l’onglet **Clés d’API de longue durée**, choisissez **Générer des clés d’API de longue durée**.

1. Dans la section **Expiration de la clé API**, sélectionnez **30 jours**.

1. Choisissez **Générer**. La clé que vous générez fournit les autorisations nécessaires pour effectuer les actions principales d'Amazon Bedrock, telles que définies dans la [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)politique ci-jointe.

1. Copiez la clé API générée et stockez-la en toute sécurité. Vous en aurez besoin à l’étape suivante.
**Important**  
La clé d’API n’est affichée qu’une seule fois. Assurez-vous de la copier et de l’enregistrer avant de fermer la boîte de dialogue. N’oubliez pas que votre clé d’API expire au bout de 30 jours. Vous pouvez en générer une nouvelle en suivant les mêmes, étapes ou envisager de passer à des méthodes d’authentification plus sécurisées pour une utilisation continue.

1. Définissez la clé d'API comme variable d'environnement en la *\$1\$1api-key\$1* remplaçant par la valeur de votre clé d'API générée et utilisez-la pour générer une réponse selon la méthode de votre choix :

------
#### [ Python ]

   ```
   import boto3
   import os
   
   # Set the API key as an environment variable
   os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"
   
   # Create the Bedrock client
   client = boto3.client(
       service_name="bedrock-runtime",
       region_name="us-east-1"
   )
   
   # Define the model and message
   model_id = "us.anthropic.claude-3-5-haiku-20241022-v1:0"
   messages = [{"role": "user", "content": [{"text": "Hello! Can you tell me about Amazon Bedrock?"}]}]
   
   # Make the API call
   response = client.converse(
       modelId=model_id,
       messages=messages,
   )
   
   # Print the response
   print(response['output']['message']['content'][0]['text'])
   ```

------
#### [ HTTP client using Python ]

   ```
   import requests
   
   url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse"
   
   payload = {
       "messages": [
           {
               "role": "user",
               "content": [{"text": "Hello"}]
           }
       ]
   }
   
   headers = {
       "Content-Type": "application/json",
       "Authorization": "Bearer ${api-key}"
   }
   
   response = requests.request("POST", url, json=payload, headers=headers)
   
   print(response.text)
   ```

------
#### [ HTTP request using cURL ]

   ```
   curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer ${api-key}" \
     -d '{
       "messages": [
           {
               "role": "user",
               "content": [{"text": "Hello"}]
           }
       ]
     }'
   ```

------

Félicitations \$1 Vous avez généré une clé d’API Amazon Bedrock et effectué votre premier appel d’API au service Amazon Bedrock. Après avoir exploré d'autres actions Amazon Bedrock, vous devriez passer à des méthodes d'authentification plus sécurisées, telles que des clés d'API Amazon Bedrock à court terme ou des informations d'identification AWS temporaires étendues. Pour en savoir plus, consultez les ressources suivantes :
+ **Exploration de différents modèles** : découvrez les autres modèles de fondation disponibles sur Amazon Bedrock dans [Informations sur le modèle de fondation Amazon Bedrock](foundation-models-reference.md) et modifiez `model_id` dans votre code pour les essayer.
+ **En savoir plus sur l’inférence de modèle** : consultez [Soumission d’invites et génération de réponses à l’aide de l’inférence de modèle](inference.md) pour apprendre comment générer des réponses avec l’inférence de modèle et découvrir les concepts et les options Amazon Bedrock.
+ **Planifiez la production avec des méthodes d'authentification plus sécurisées** : découvrez plus en détail les clés d'API Amazon Bedrock dans le chapitre Build et découvrez comment créer des clés d'API Amazon Bedrock plus sécurisées et à court terme. Lorsque vous êtes prêt à créer des applications de production, vous devez également envisager [des alternatives aux clés d'accès à long terme](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys) pour des options plus sécurisées qui permettent également d'accéder à d'autres AWS services.

# Exécutez des exemples de demandes d'API Amazon Bedrock avec le AWS Command Line Interface
<a name="getting-started-api-ex-cli"></a>

Cette section vous explique comment essayer certaines opérations courantes dans Amazon Bedrock en utilisant le AWS Command Line Interface pour vérifier que vos autorisations et votre authentification sont correctement configurées. Avant d’exécuter les exemples suivants, vous devez vérifier que vous remplissez les conditions préalables suivantes :

**Conditions préalables**
+ Vous avez un Compte AWS utilisateur ou un rôle avec l'authentification configurée et les autorisations nécessaires pour Amazon Bedrock. Sinon, suivez les étapes décrites dans [Démarrage avec l’API](getting-started-api.md).
+ Vous avez installé et configuré l’authentification pour l’ AWS CLI. Pour installer le AWS CLI, suivez les étapes décrites dans la [section Installer ou mettre à jour vers la dernière version du AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). Vérifiez que vous avez configuré vos informations d’identification pour utiliser l’interface de ligne de commande (CLI) en suivant les étapes décrites dans [Obtention des informations d’identification pour accorder un accès programmatique](getting-started-api.md#gs-grant-program-access).

Vérifiez que vos autorisations sont correctement configurées pour Amazon Bedrock, en utilisant un utilisateur ou un rôle que vous avez configuré avec les autorisations appropriées.

**Topics**
+ [Liste des modèles de fondation proposés par Amazon Bedrock](#getting-started-api-ex-cli-listfm)
+ [Envoyez une demande de texte à un modèle et générez une réponse textuelle avec InvokeModel](#getting-started-api-ex-cli-invoke-text)
+ [Soumission d’une invite de texte à un modèle et génération d’une réponse textuelle avec Converse](#getting-started-api-ex-cli-converse)

## Liste des modèles de fondation proposés par Amazon Bedrock
<a name="getting-started-api-ex-cli-listfm"></a>

L'exemple suivant exécute l'[ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)opération à l'aide du AWS CLI. `ListFoundationModels`répertorie les modèles de base (FMs) disponibles sur Amazon Bedrock dans votre région. Dans un terminal, exécutez la commande suivante :

```
aws bedrock list-foundation-models
```

Si la commande aboutit, la réponse renvoie une liste des modèles de fondation disponibles sur Amazon Bedrock.

## Envoyez une demande de texte à un modèle et générez une réponse textuelle avec InvokeModel
<a name="getting-started-api-ex-cli-invoke-text"></a>

L'exemple suivant exécute l'[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)opération à l'aide du AWS CLI. `InvokeModel`vous permet d'envoyer une invite pour générer un modèle de réponse. Dans un terminal, exécutez la commande suivante :

```
aws bedrock-runtime invoke-model \
--model-id amazon.titan-text-express-v1 \
--body '{"inputText": "Describe the purpose of a \"hello world\" program in one line.", "textGenerationConfig" : {"maxTokenCount": 512, "temperature": 0.5, "topP": 0.9}}' \
--cli-binary-format raw-in-base64-out \
invoke-model-output-text.txt
```

Si la commande aboutit, la réponse générée par le modèle est écrite dans le fichier `invoke-model-output-text.txt`. La réponse textuelle est renvoyée dans le champ `outputText`, accompagnée des informations d’accompagnement.

## Soumission d’une invite de texte à un modèle et génération d’une réponse textuelle avec Converse
<a name="getting-started-api-ex-cli-converse"></a>

L'exemple suivant exécute l'opération [Converse à](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) l'aide du AWS CLI. `Converse`vous permet d'envoyer une invite pour générer un modèle de réponse. Nous recommandons d’utiliser l’opération `Converse` plutôt que `InvokeModel` lorsqu’elle est prise en charge, car elle unifie la demande d’inférence entre les modèles Amazon Bedrock et simplifie la gestion des conversations complexes. Dans un terminal, exécutez la commande suivante :

```
aws bedrock-runtime converse \
--model-id amazon.titan-text-express-v1 \
--messages '[{"role": "user", "content": [{"text": "Describe the purpose of a \"hello world\" program in one line."}]}]' \
--inference-config '{"maxTokens": 512, "temperature": 0.5, "topP": 0.9}'
```

Si la commande aboutit, la réponse générée par le modèle est renvoyée dans le champ `text`, accompagnée des informations d’accompagnement.

# Exécutez des exemples de requêtes d'API Amazon Bedrock via le AWS SDK pour Python (Boto3)
<a name="getting-started-api-ex-python"></a>

Cette section vous explique comment essayer certaines opérations courantes dans Amazon Bedrock AWS Python afin de vérifier que vos autorisations et votre authentification sont correctement configurées. Avant d’exécuter les exemples suivants, vous devez vérifier que vous remplissez les conditions préalables suivantes :

**Conditions préalables**
+ Vous avez un Compte AWS utilisateur ou un rôle avec l'authentification configurée et les autorisations nécessaires pour Amazon Bedrock. Sinon, suivez les étapes décrites dans [Démarrage avec l’API](getting-started-api.md).
+ Vous avez installé et configuré l'authentification pour le AWS SDK pour Python (Boto3). Pour installer Boto3, suivez les étapes décrites dans [Démarrage rapide](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) dans la documentation de Boto3. Vérifiez que vous avez configuré vos informations d’identification pour utiliser Boto3 en suivant les étapes décrites dans [Obtention des informations d’identification pour accorder un accès programmatique](getting-started-api.md#gs-grant-program-access).

Vérifiez que vos autorisations sont correctement configurées pour Amazon Bedrock, en utilisant un utilisateur ou un rôle que vous avez configuré avec les autorisations appropriées. 

La documentation Amazon Bedrock inclut également des exemples de code pour d’autres langages de programmation. Pour plus d’informations, consultez [Exemples de code pour Amazon Bedrock utilisant AWS SDKs](service_code_examples.md).

**Topics**
+ [Liste des modèles de fondation proposés par Amazon Bedrock](#getting-started-api-ex-python-listfm)
+ [Envoyez une demande de texte à un modèle et générez une réponse textuelle avec InvokeModel](#getting-started-api-ex-python-invoke-text)
+ [Soumission d’une invite de texte à un modèle et génération d’une réponse textuelle avec Converse](#getting-started-api-ex-python-converse)

## Liste des modèles de fondation proposés par Amazon Bedrock
<a name="getting-started-api-ex-python-listfm"></a>

L'exemple suivant exécute l'[ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)opération à l'aide d'un client Amazon Bedrock. `ListFoundationModels`répertorie les modèles de base (FMs) disponibles sur Amazon Bedrock dans votre région. Exécutez le script SDK pour Python suivant pour créer un client Amazon Bedrock et tester le [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)fonctionnement :

```
"""
Lists the available Amazon Bedrock models in an &AWS-Region;.
"""
import logging
import json
import boto3


from botocore.exceptions import ClientError


logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)


def list_foundation_models(bedrock_client):
    """
    Gets a list of available Amazon Bedrock foundation models.

    :return: The list of available bedrock foundation models.
    """

    try:
        response = bedrock_client.list_foundation_models()
        models = response["modelSummaries"]
        logger.info("Got %s foundation models.", len(models))
        return models

    except ClientError:
        logger.error("Couldn't list foundation models.")
        raise


def main():
    """Entry point for the example. Change aws_region to the &AWS-Region;
    that you want to use."""
   
    aws_region = "us-east-1"

    bedrock_client = boto3.client(service_name="bedrock", region_name=aws_region)
    
    fm_models = list_foundation_models(bedrock_client)
    for model in fm_models:
        print(f"Model: {model["modelName"]}")
        print(json.dumps(model, indent=2))
        print("---------------------------\n")
    
    logger.info("Done.")

if __name__ == "__main__":
    main()
```

Si le script aboutit, la réponse renvoie une liste des modèles de fondation disponibles sur Amazon Bedrock.

## Envoyez une demande de texte à un modèle et générez une réponse textuelle avec InvokeModel
<a name="getting-started-api-ex-python-invoke-text"></a>

L'exemple suivant exécute l'[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)opération à l'aide d'un client Amazon Bedrock. `InvokeModel`vous permet d'envoyer une invite pour générer un modèle de réponse. Exécutez le script du kit SDK pour Python suivant afin de créer un client d’exécution Amazon Bedrock et de générer une réponse textuelle avec l’opération `` :

```
# Use the native inference API to send a text message to Amazon Titan Text G1 - Express.

import boto3
import json

from botocore.exceptions import ClientError

# Create an Amazon Bedrock Runtime client.
brt = boto3.client("bedrock-runtime")

# Set the model ID, e.g., Amazon Titan Text G1 - Express.
model_id = "amazon.titan-text-express-v1"

# Define the prompt for the model.
prompt = "Describe the purpose of a 'hello world' program in one line."

# Format the request payload using the model's native structure.
native_request = {
    "inputText": prompt,
    "textGenerationConfig": {
        "maxTokenCount": 512,
        "temperature": 0.5,
        "topP": 0.9
    },
}

# Convert the native request to JSON.
request = json.dumps(native_request)

try:
    # Invoke the model with the request.
    response = brt.invoke_model(modelId=model_id, body=request)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)

# Decode the response body.
model_response = json.loads(response["body"].read())

# Extract and print the response text.
response_text = model_response["results"][0]["outputText"]
print(response_text)
```

Si la commande aboutit, la réponse renvoie le texte généré par le modèle en réponse à l’invite.

## Soumission d’une invite de texte à un modèle et génération d’une réponse textuelle avec Converse
<a name="getting-started-api-ex-python-converse"></a>

L’exemple suivant exécute l’opération [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) à l’aide d’un client Amazon Bedrock. Nous recommandons d’utiliser l’opération `Converse` plutôt que `InvokeModel` lorsqu’elle est prise en charge, car elle unifie la demande d’inférence entre les modèles Amazon Bedrock et simplifie la gestion des conversations complexes. Exécutez le script du kit SDK pour Python suivant afin de créer un client d’exécution Amazon Bedrock et de générer une réponse textuelle avec l’opération `Converse` :

```
# Use the Conversation API to send a text message to Amazon Titan Text G1 - Express.

import boto3
from botocore.exceptions import ClientError

# Create an Amazon Bedrock Runtime client.
brt = boto3.client("bedrock-runtime")

# Set the model ID, e.g., Amazon Titan Text G1 - Express.
model_id = "amazon.titan-text-express-v1"

# Start a conversation with the user message.
user_message = "Describe the purpose of a 'hello world' program in one line."
conversation = [
    {
        "role": "user",
        "content": [{"text": user_message}],
    }
]

try:
    # Send the message to the model, using a basic inference configuration.
    response = brt.converse(
        modelId=model_id,
        messages=conversation,
        inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9},
    )

    # Extract and print the response text.
    response_text = response["output"]["message"]["content"][0]["text"]
    print(response_text)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)
```

Si la commande aboutit, la réponse renvoie le texte généré par le modèle en réponse à l’invite.

# Exécutez des exemples de demandes d'API Amazon Bedrock à l'aide d'un bloc-notes Amazon SageMaker AI
<a name="getting-started-api-ex-sm"></a>

Cette section vous explique comment tester certaines opérations courantes dans Amazon Bedrock à l'aide d'un bloc-notes Amazon SageMaker AI pour vérifier que les autorisations de votre rôle Amazon Bedrock sont correctement configurées. Avant d’exécuter les exemples suivants, vous devez vérifier que vous remplissez les conditions préalables suivantes :

**Conditions préalables**
+ Vous avez Compte AWS et êtes autorisé à accéder à un rôle avec les autorisations nécessaires pour Amazon Bedrock. Sinon, suivez les étapes décrites dans [Démarrage rapide](getting-started.md).
+ Procédez comme suit pour configurer les autorisations IAM pour l' SageMaker IA et créer un bloc-notes :

  1. Modifiez la [politique de confiance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#term_trust-policy) du rôle Amazon Bedrock que vous avez configuré dans [Démarrage rapide](getting-started.md) via la [console](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy), l’[interface de ligne de commande (CLI)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-cli.html#roles-managingrole_edit-trust-policy-cli) ou [l’API](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-api.html#roles-managingrole_edit-trust-policy-api). Associez la politique de confiance suivante au rôle afin de permettre aux services Amazon Bedrock et SageMaker AI d'assumer le rôle Amazon Bedrock :

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "BedrockTrust",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": "bedrock.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
             },
             {
                 "Sid": "SagemakerTrust",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": "sagemaker.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
             }
         ]
     }
     ```

------

  1. Connectez-vous au rôle Amazon Bedrock dont vous venez de modifier la politique de confiance.

  1. Suivez les étapes décrites dans [Créer une instance de bloc-notes Amazon SageMaker AI pour le didacticiel](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html) et spécifiez l'ARN du rôle Amazon Bedrock que vous avez créé pour créer une instance de bloc-notes SageMaker AI.

  1. Lorsque le **statut** de l'instance de bloc-notes est défini **InService**, choisissez l'instance, puis sélectionnez **Ouvrir JupyterLab**.

Après avoir ouvert votre bloc-notes SageMaker AI, vous pouvez essayer les exemples suivants :

**Topics**
+ [Liste des modèles de fondation proposés par Amazon Bedrock](#getting-started-api-ex-sm-listfm)
+ [Soumission d’une invite de texte à un modèle et génération d’une réponse](#getting-started-api-ex-sm-converse)

## Liste des modèles de fondation proposés par Amazon Bedrock
<a name="getting-started-api-ex-sm-listfm"></a>

L'exemple suivant exécute l'[ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)opération à l'aide d'un client Amazon Bedrock. `ListFoundationModels`répertorie les modèles de base (FMs) disponibles sur Amazon Bedrock dans votre région. Exécutez le script SDK pour Python suivant pour créer un client Amazon Bedrock et tester le [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)fonctionnement :

```
"""
Lists the available Amazon Bedrock models in an &AWS-Region;.
"""
import logging
import json
import boto3


from botocore.exceptions import ClientError


logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)


def list_foundation_models(bedrock_client):
    """
    Gets a list of available Amazon Bedrock foundation models.

    :return: The list of available bedrock foundation models.
    """

    try:
        response = bedrock_client.list_foundation_models()
        models = response["modelSummaries"]
        logger.info("Got %s foundation models.", len(models))
        return models

    except ClientError:
        logger.error("Couldn't list foundation models.")
        raise


def main():
    """Entry point for the example. Change aws_region to the &AWS-Region;
    that you want to use."""
   
    aws_region = "us-east-1"

    bedrock_client = boto3.client(service_name="bedrock", region_name=aws_region)
    
    fm_models = list_foundation_models(bedrock_client)
    for model in fm_models:
        print(f"Model: {model["modelName"]}")
        print(json.dumps(model, indent=2))
        print("---------------------------\n")
    
    logger.info("Done.")

if __name__ == "__main__":
    main()
```

Si le script aboutit, la réponse renvoie une liste des modèles de fondation disponibles sur Amazon Bedrock.

## Soumission d’une invite de texte à un modèle et génération d’une réponse
<a name="getting-started-api-ex-sm-converse"></a>

L’exemple suivant exécute l’opération [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) à l’aide d’un client Amazon Bedrock. `Converse` vous permet d’envoyer une invite pour générer un modèle de réponse. Exécutez le script du kit SDK pour Python suivant afin de créer un client d’exécution Amazon Bedrock et de tester l’opération [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) :

```
# Use the Conversation API to send a text message to Amazon Titan Text G1 - Express.

import boto3
from botocore.exceptions import ClientError

# Create an Amazon Bedrock Runtime client.
brt = boto3.client("bedrock-runtime")

# Set the model ID, e.g., Amazon Titan Text G1 - Express.
model_id = "amazon.titan-text-express-v1"

# Start a conversation with the user message.
user_message = "Describe the purpose of a 'hello world' program in one line."
conversation = [
    {
        "role": "user",
        "content": [{"text": user_message}],
    }
]

try:
    # Send the message to the model, using a basic inference configuration.
    response = brt.converse(
        modelId=model_id,
        messages=conversation,
        inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9},
    )

    # Extract and print the response text.
    response_text = response["output"]["message"]["content"][0]["text"]
    print(response_text)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)
```

Si la commande aboutit, la réponse renvoie le texte généré par le modèle en réponse à l’invite.