import boto3 import json import uuid REGION = "us-west-2" AGENT_RUNTIME_ARN = "arn:aws:bedrock-agentcore:...:agent-runtime/..." # <- your runtime ARN client = boto3.client("bedrock-agentcore", region_name=REGION) session_id = str(uuid.uuid4()) # reuse this for the SAME chat thread prompt = "Hello! Summarize what you can do in one sentence." payload = json.dumps({"prompt": prompt}).encode("utf-8") resp = client.invoke_agent_runtime( agentRuntimeArn=AGENT_RUNTIME_ARN, runtimeSessionId=session_id, contentType="application/json", accept="text/event-stream", # streaming payload=payload, ) print("runtimeSessionId:", resp.get("runtimeSessionId")) print("statusCode:", resp.get("statusCode")) # AgentCore returns a streaming body; docs show parsing SSE lines via iter_lines # (Look for lines starting with "data: ") for line in resp["response"].iter_lines(chunk_size=10): if not line: continue text = line.decode("utf-8", errors="replace") if text.startswith("data: "): print(text[6:]) # JSON or text chunks depending on your agent