Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Schritt 5: Rufen Sie den Agenten über den Python Code an
In diesem Schritt erfahren Sie, wie Sie mithilfe von programmgesteuert mit Ihrem Agenten interagieren können. AWS SDK for Python (Boto) Der Beispielcode zeigt, wie Sie den InvokeAgentVorgang verwenden, der sowohl die AGENT-ID als auch die ALIAS-ID als Parameter benötigt, um Ihren Agenten aufzurufen. Der Code zeigt, wie Sie eine Aufforderung an Ihren Agenten senden, die Antwort verarbeiten und sowohl den Streaming-Antwortmodus als auch den Nicht-Streaming-Antwortmodus handhaben. Auf diese Weise können Sie Ihren Bedrock-Agenten in Ihre eigenen Python-Anwendungen integrieren.
Weitere Informationen finden Sie unter Rufen Sie einen Agenten von Ihrer Anwendung aus auf.
Um den Agenten vom Code aus Python aufzurufen
-
Holen Sie sich die ID für den Agenten. Weitere Informationen finden Sie unter Informationen über einen Agenten anzeigen.
-
Holen Sie sich die ID für den Agent-Alias. Weitere Informationen finden Sie unter Informationen zu Aliasnamen von Agenten in Amazon Bedrock anzeigen.
-
Führen Sie folgenden Code aus. Aktualisieren Sie Folgendes:
AGENT_ID — auf die ID Ihres Agenten.
ALIAS_ID — zur Alias-ID Ihres Agenten.
REGION — zu der AWS Region, in der Sie Ihren Agenten erstellt haben, z. B.
us-east-1
Um die Antwort des Agenten zu streamen, ändern Sie den Wert von
streamFinalResponse
bisTrue
.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)})