Paso 5: llama al agente desde el Python código - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 5: llama al agente desde el Python código

En este paso, aprenderá a interactuar mediante programación con su agente mediante el. AWS SDK for Python (Boto) El código de ejemplo muestra cómo utilizar la InvokeAgentoperación, que requiere tanto el ID de agente como el ID de ALIAS como parámetros para llamar a su agente. El código muestra cómo enviar un mensaje a su agente, procesar la respuesta y gestionar los modos de respuesta de transmisión y no transmisión. Esto le permite integrar su agente Bedrock en sus propias aplicaciones de Python.

Para obtener más información, consulte Invoca a un agente desde tu aplicación.

Para llamar al agente desde Python el código
  1. Obtenga la identificación del agente. Para obtener más información, consulte Visualización de la información de un agente.

  2. Obtenga la identificación del alias del agente. Para obtener más información, consulte Ver información sobre los alias de los agentes en Amazon Bedrock.

  3. Ejecute el siguiente código. Actualice lo siguiente:

    • AGENT_ID: al ID de su agente.

    • ALIAS_ID: al alias ID de su agente.

    • REGIÓN: a la AWS región en la que creó a su agente, por ejemplo. us-east-1

    Para transmitir la respuesta del agente, cambia el valor de streamFinalResponse aTrue.

    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)})