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 Python code
Au cours de cette étape, vous allez apprendre à interagir par programmation avec votre agent à l'aide du. AWS SDK for Python (Boto) L'exemple de code montre comment utiliser l'InvokeAgentopé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 de plus amples informations, veuillez consulter Invoquez un agent depuis votre application.
Pour appeler l'agent à partir du Python code
-
Obtenez l'identifiant de l'agent. Pour de plus amples informations, veuillez consulter Afficher les informations relatives à un agent.
-
Obtenez l'ID de l'alias de l'agent. Pour de plus amples informations, veuillez consulter Afficher des informations sur les alias des agents dans Amazon Bedrock.
-
Exécutez le code suivant. Mettez à jour les éléments suivants :
AGENT_ID — à l'identifiant de votre agent.
ALIAS_ID — à l'identifiant d'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
enTrue
.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)})