

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.

# Étape 5 : appeler l’agent à partir du code Python
<a name="agent-tutorial-step5"></a>

Au cours de cette étape, vous allez apprendre à interagir par programme avec votre agent à l’aide du kit AWS SDK pour Python (Boto). L'exemple de code montre comment utiliser l'[InvokeAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)opération, qui nécessite à la fois l'ID de l'AGENT et l'ID ALIAS comme paramètres pour appeler votre agent. Le code indique comment envoyer une invite à votre agent, traiter la réponse et gérer à la fois les modes de réponse en streaming et hors streaming. Cela vous permet d’intégrer votre agent Bedrock dans vos propres applications Python.

Pour plus d’informations, consultez [Invocation d’un agent depuis votre application](agents-invoke-agent.md).

**Pour appeler l’agent à partir du code Python**

1. Obtenez l’identifiant de l’agent. Pour plus d’informations, consultez [Affichage d’informations sur un agent](agents-view.md).

1. Obtenez l’ID de l’alias de l’agent. Pour plus d’informations, consultez [Affichage d’informations sur les alias d’agents dans Amazon Bedrock](agents-alias-view.md).

1. Exécutez le code suivant. Mettez à jour les éléments suivants :
   + **AGENT\$1ID** : par l’identifiant de votre agent.
   + **ALIAS\$1ID** : par l’identifiant de l’alias de votre agent.
   + **RÉGION** : vers la AWS région dans laquelle vous avez créé votre agent, par exemple`us-east-1`. 

   Pour diffuser la réponse de l’agent, modifiez la valeur de `streamFinalResponse` sur `True`.

   ```
   import boto3
   import logging
   
   from botocore.exceptions import ClientError
   
   
   logging.basicConfig(level=logging.INFO)
   logger = logging.getLogger(__name__)
   
   def invoke_agent(client, agent_id, alias_id, prompt, session_id):
           response = client.invoke_agent(
               agentId=agent_id,
               agentAliasId=alias_id,
               enableTrace=True,
               sessionId = session_id,
               inputText=prompt,
               streamingConfigurations = { 
       "applyGuardrailInterval" : 20,
         "streamFinalResponse" : False
               }
           )
           completion = ""
           for event in response.get("completion"):
               #Collect agent output.
               if 'chunk' in event:
                   chunk = event["chunk"]
                   completion += chunk["bytes"].decode()
               
               # Log trace output.
               if 'trace' in event:
                   trace_event = event.get("trace")
                   trace = trace_event['trace']
                   for key, value in trace.items():
                       logging.info("%s: %s",key,value)
   
           print(f"Agent response: {completion}")
   
   
   if __name__ == "__main__":
   
       client=boto3.client(
               service_name="bedrock-agent-runtime",
               region_name="REGION") 
       
       agent_id = "AGENT_ID"
       alias_id = "ALIAS_ID"
       session_id = "123456"
       prompt = "What's the current time?"
   
       try:
   
           invoke_agent(client, agent_id, alias_id, prompt, session_id)
   
       except ClientError as e:
           print(f"Client error: {str(e)}")
           logger.error("Client error: %s", {str(e)})
   ```