Etapa 5: ligar para o agente a partir do Python código - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 5: ligar para o agente a partir do Python código

Nesta etapa, você aprenderá a interagir programaticamente com seu agente usando o. AWS SDK for Python (Boto) O código de exemplo demonstra como usar a InvokeAgentoperação, que exige o ID do AGENTE e o ID do ALIAS como parâmetros para chamar seu agente. O código mostra como enviar uma solicitação ao seu agente, processar a resposta e lidar com os modos de resposta de streaming e sem streaming. Isso permite que você integre seu agente Bedrock em seus próprios aplicativos Python.

Para obter mais informações, consulte Invoque um agente do seu aplicativo.

Para ligar para o agente a partir do Python código
  1. Obtenha a identificação do agente. Para obter mais informações, consulte Obter informações sobre um agente.

  2. Obtenha o ID do alias do agente. Para obter mais informações, consulte Visualizar as informações sobre os aliases de agentes no Amazon Bedrock..

  3. Execute o código a seguir. Atualize o seguinte:

    • AGENT_ID — para o ID do seu agente.

    • ALIAS_ID — para o ID de alias do seu agente.

    • REGIÃO — para a AWS região na qual você criou seu agente, comous-east-1.

    Para transmitir a resposta do agente, altere o valor de streamFinalResponse paraTrue.

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