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: llamada al agente desde el código de Python
En este paso, aprenderá a interactuar mediante programación con el agente a través de AWS SDK para Python (Boto). El código de ejemplo muestra cómo utilizar la operación InvokeAgent, que requiere tanto el ID DE AGENTE como el ID DE ALIAS como parámetros para llamar al agente. El código muestra cómo enviar una petición al agente, procesar la respuesta y gestionar los modos de respuesta con transmisión y sin transmisión. Esto le permite integrar el agente de Bedrock en sus propias aplicaciones de Python.
Para obtener más información, consulte Invocación de un agente desde su aplicación.
Cómo llamar al agente desde el código de Python
-
Obtenga el ID del agente. Para obtener más información, consulte Visualización de la información de un agente.
-
Obtenga el ID del alias de agente. Para obtener más información, consulte Ver información sobre los alias de los agentes en Amazon Bedrock.
-
Ejecute el siguiente código. Actualice lo siguiente:
AGENT_ID: al ID de su agente.
ALIAS_ID: al ID de alias de su agente.
REGION: a la región de AWS en la que creó el agente, como
us-east-1.
Para transmitir la respuesta del agente, cambie el valor de
streamFinalResponseaTrue.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)})