A multi-cloud AI agent orchestration system that enables Azure AI agents to coordinate and communicate with AWS Bedrock agents. This project demonstrates cross-cloud AI agent collaboration with "Large Marge" as the Azure-based orchestrator.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Azure AI Projects β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Large Marge (Orchestrator) β β
β β - Azure AI Agent β β
β β - Manages rollcall coordination β β
β β - Uses fetch_rollcall() function β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
β calls
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Multi-Agent Library β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β execute_rollcall() β β
β β - Parallel/Sequential execution β β
β β - Agent configuration management β β
β β - Result aggregation β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
β orchestrates
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AWS Bedrock Agents β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Agent 1 β β Agent 2 β β Agent N β β
β β β β β β β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
azure_orch/
βββ main.py # Azure AI Agent orchestrator (Large Marge)
βββ multi_agents.py # Multi-agent library for AWS Bedrock coordination
βββ .env # Environment configuration
βββ requirements.txt # Python dependencies
βββ README.md # This documentation
- Cross-Cloud Orchestration: Azure AI agent coordinating AWS Bedrock agents
- Flexible Execution: Support for both parallel and sequential agent calls
- Rich Reporting: Comprehensive rollcall results with success rates and detailed responses
- Error Handling: Robust error handling and status reporting
- Configurable: Environment-based configuration for easy deployment
- Extensible: Library-based architecture for easy integration
-
Azure AI Projects Setup:
- Azure subscription with AI Projects enabled
- Azure AI Project created and configured
- Model deployment (e.g., GPT-4 mini) in your Azure AI Project
-
AWS Bedrock Setup:
- AWS account with Bedrock access
- Bedrock agents created and configured
- Proper AWS credentials configured locally
-
Python Environment:
- Python 3.8 or higher
- Virtual environment (recommended)
-
Clone/Download the project:
cd azure_orch -
Create and activate virtual environment:
python -m venv .venv .venv\Scripts\activate # Windows # or source .venv/bin/activate # macOS/Linux
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables: Create/update
.envfile with your configuration:# Azure AI Configuration PROJECT_ENDPOINT=https://your-project.cognitiveservices.azure.com/ MODEL_DEPLOYMENT_NAME=gpt-4o-mini USER_MESSAGE=I am taking roll call. Everyone check in and acknowledge. # AWS Bedrock Configuration AWS_REGION=us-west-2 PROMPT=Hello from Large Marge! Please report in. # Bedrock Agents (add as many as needed) BEDROCK_AGENT_ID_1=your_agent_id_1 BEDROCK_AGENT_ALIAS_ID_1=your_alias_id_1 AGENT_NAME_1=Agent Alpha BEDROCK_AGENT_ID_2=your_agent_id_2 BEDROCK_AGENT_ALIAS_ID_2=your_alias_id_2 AGENT_NAME_2=Agent Beta # Add more agents as needed (up to 10)
-
Configure AWS credentials (choose one method):
- AWS CLI:
aws configure - Environment variables:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY - IAM roles (if running on AWS)
- AWS CLI:
Run the main Azure AI agent orchestrator:
python main.pyThis will:
- Initialize "Large Marge" Azure AI agent
- Create a conversation thread
- Send the configured message to trigger rollcall
- Execute the
fetch_rollcall()function - Coordinate with AWS Bedrock agents
- Return comprehensive results
Test the multi-agent library directly:
python multi_agents.pyThis will:
- Load configured Bedrock agents
- Execute rollcall in synchronous mode
- Display detailed results and summary
You can also import and use the library programmatically:
import multi_agents
# Execute rollcall with default settings
results = multi_agents.execute_rollcall()
# Execute rollcall in parallel with custom prompt
results = multi_agents.execute_rollcall(
prompt="Custom rollcall message",
parallel=True
)
# Get summary statistics
summary = multi_agents.get_rollcall_summary(results)PROJECT_ENDPOINT: Your Azure AI Project endpoint URLMODEL_DEPLOYMENT_NAME: Name of your deployed model (e.g., gpt-4o-mini)USER_MESSAGE: Message sent to Large Marge to trigger rollcall
AWS_REGION: AWS region where your Bedrock agents are deployedPROMPT: Default message sent to Bedrock agentsBEDROCK_AGENT_ID_X: Agent ID for agent number XBEDROCK_AGENT_ALIAS_ID_X: Alias ID for agent number XAGENT_NAME_X: Human-readable name for agent number X
{
"status": "success",
"summary": {
"total_agents": 3,
"successful": 2,
"failed": 1,
"success_rate": "66.7%"
},
"agent_responses": [
{
"name": "Agent Alpha",
"success": true,
"response": "Alpha reporting in from AWS Bedrock!",
"error": ""
}
],
"orchestrator": "Large Marge from Azure"
}Created agent, ID: asst_xyz123
Created thread, ID: thread_abc789
Created message, ID: msg_def456
π€ Calling Agent Alpha...
β
Agent Alpha: Alpha reporting in from AWS Bedrock!
π€ Calling Agent Beta...
β
Agent Beta: Beta standing by and ready!
Run completed with status: RunStatus.COMPLETED
Role: assistant, Content: [{'type': 'text', 'text': {'value': 'Rollcall complete...'}}]
Deleted agent
-
Azure Authentication Errors:
- Ensure you're logged into Azure CLI:
az login - Verify your Azure AI Project endpoint and model deployment
- Ensure you're logged into Azure CLI:
-
AWS Bedrock Connection Issues:
- Check AWS credentials:
aws sts get-caller-identity - Verify Bedrock agent IDs and alias IDs
- Ensure proper IAM permissions for Bedrock
- Check AWS credentials:
-
No Agents Configured:
- Check
.envfile has validBEDROCK_AGENT_ID_XandBEDROCK_AGENT_ALIAS_ID_Xpairs - Agent numbering starts from 1 and must be sequential
- Check
-
Module Import Errors:
- Ensure virtual environment is activated
- Run
pip install -r requirements.txtagain
Add debugging to see detailed execution:
import logging
logging.basicConfig(level=logging.DEBUG)- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
Large Marge is the Azure-based orchestrator agent that coordinates rollcall across multiple cloud environments. She's responsible for:
- Initiating rollcall sequences
- Coordinating with AWS Bedrock agents
- Aggregating and reporting results
- Maintaining cross-cloud communication protocols
"Large Marge sends her regards from Azure!" π