## Description This PR improves the consistency of how the function_behavior parameter is passed through internal invoke_function_call callsites. ### Changes - Thread function_behavior parameter through all internal invoke_function_call callsites for consistent parameter handling: - Realtime connector (_open_ai_realtime.py) - Responses agent (responses_agent_thread_actions.py) - Assistant agent (assistant_thread_actions.py) - Azure AI agent (agent_thread_actions.py) - Bedrock agent (bedrock_agent.py) - Add defensive logging in kernel.py when function_behavior is not provided - Add unit tests covering parameter handling scenarios ### Testing - All existing tests pass (678 passed, 0 failed) - 5 new tests added covering the updated parameter handling Co-authored-by: Copilot <[email protected]>
Amazon Bedrock AI Agents in Semantic Kernel
Overview
AWS Bedrock Agents is a managed service that allows users to stand up and run AI agents in the AWS cloud quickly.
Tools/Functions
Bedrock Agents allow the use of tools via action groups.
The integration of Bedrock Agents with Semantic Kernel allows users to register kernel functions as tools in Bedrock Agents.
Enable code interpretation
Bedrock Agents can write and execute code via a feature known as code interpretation similar to what OpenAI also offers.
Enable user input
Bedrock Agents can request user input in case of missing information to invoke a tool. When this is enabled, the agent will prompt the user for the missing information. When this is disabled, the agent will guess the missing information.
Knowledge base
Bedrock Agents can leverage data saved on AWS to perform RAG tasks, this is referred to as the knowledge base in AWS.
Multi-agent
Bedrock Agents support multi-agent workflows for more complex tasks. However, it employs a different pattern than what we have in Semantic Kernel, thus this is not supported in the current integration.