Skip to content

Commit 10ea0be

Browse files
Merge remote-tracking branch 'origin/macae-v3-dev-v2-vip' into macae-BS-PlanPage
2 parents c62e19a + 18589b5 commit 10ea0be

File tree

83 files changed

+9006
-49811
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+9006
-49811
lines changed

.github/workflows/deploy-waf.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,15 @@ jobs:
109109
--resource-group ${{ env.RESOURCE_GROUP_NAME }} \
110110
--template-file infra/main.bicep \
111111
--parameters \
112-
environmentName=${{ env.SOLUTION_PREFIX }} \
113-
useWafAlignedArchitecture=true \
114-
aiDeploymentsLocation='${{ env.AZURE_LOCATION }}' \
112+
solutionName=${{ env.SOLUTION_PREFIX }} \
113+
location="${{ env.AZURE_LOCATION }}" \
114+
azureAiServiceLocation='${{ env.AZURE_LOCATION }}' \
115115
gptModelCapacity=5 \
116-
virtualMachineConfiguration='{"adminUsername": "adminuser", "adminPassword": "P@ssw0rd1234"}' \
117-
logAnalyticsWorkspaceConfiguration='{"existingWorkspaceResourceId": ""}'
118-
116+
enableTelemetry=true \
117+
enableMonitoring=true \
118+
enablePrivateNetworking=true \
119+
enableScalability=true \
120+
119121
120122
- name: Send Notification on Failure
121123
if: failure()

.github/workflows/deploy.yml

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -129,19 +129,16 @@ jobs:
129129
--resource-group ${{ env.RESOURCE_GROUP_NAME }} \
130130
--template-file infra/main.bicep \
131131
--parameters \
132-
environmentName=${{ env.SOLUTION_PREFIX }} \
133-
solutionLocation="${{ env.AZURE_LOCATION }}" \
134-
modelDeploymentType="GlobalStandard" \
132+
solutionName=${{ env.SOLUTION_PREFIX }} \
133+
location="${{ env.AZURE_LOCATION }}" \
134+
gptModelDeploymentType="GlobalStandard" \
135135
gptModelName="gpt-4o" \
136136
gptModelVersion="2024-08-06" \
137-
imageTag="${IMAGE_TAG}" \
138-
useWafAlignedArchitecture=false \
139-
aiDeploymentsLocation='${{ env.AZURE_LOCATION }}' \
137+
backendContainerImageTag="${IMAGE_TAG}" \
138+
frontendContainerImageTag="${IMAGE_TAG}" \
139+
azureAiServiceLocation='${{ env.AZURE_LOCATION }}' \
140140
gptModelCapacity=150 \
141-
logAnalyticsWorkspaceConfiguration='{"dataRetentionInDays": 30, "existingWorkspaceResourceId": ""}' \
142-
applicationInsightsConfiguration='{"retentionInDays": 30}' \
143-
virtualNetworkConfiguration='{"enabled": false}' \
144-
webServerFarmConfiguration='{"skuCapacity": 1, "skuName": "B2"}' \
141+
createdBy="Pipeline" \
145142
--output json
146143
147144
- name: Extract Web App and API App URLs

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
- name: Run tests with coverage
5252
if: env.skip_tests == 'false'
5353
run: |
54-
pytest --cov=. --cov-report=term-missing --cov-report=xml
54+
pytest --cov=. --cov-report=term-missing --cov-report=xml --ignore=tests/e2e-test/tests
5555
5656
- name: Skip coverage report if no tests
5757
if: env.skip_tests == 'true'

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,4 +460,7 @@ __pycache__/
460460
.azure
461461
.github/copilot-instructions.md
462462
# Ignore sample code folder
463-
data/sample_code/
463+
data/sample_code/
464+
# Bicep local files
465+
*.local*.bicepparam
466+
*.local*.parameters.json

azure.yaml

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,38 @@ name: multi-agent-custom-automation-engine-solution-accelerator
33
metadata:
44
55
requiredVersions:
6-
azd: ">=1.15.0 !=1.17.1"
6+
azd: ">=1.15.0 !=1.17.1"
7+
hooks:
8+
postdeploy:
9+
windows:
10+
run: |
11+
Write-Host "To upload Team Configurations to Cosmos. Run the following command in PowerShell:"
12+
Write-Host "infra\scripts\Upload-Team-Config.ps1" -ForegroundColor Cyan
13+
Write-Host ""
14+
Write-Host "To index Sample Data into Azure Search. Run the following command in PowerShell:"
15+
Write-Host "infra\scripts\Process-Sample-Data.ps1" -ForegroundColor Cyan
16+
Write-Host ""
17+
Write-Host "To upload team configurations and index sample data both in one command, you can use the following command in PowerShell:"
18+
Write-Host "infra\scripts\Team-Config-And-Data.ps1" -ForegroundColor Cyan
19+
Write-Host ""
20+
Write-Host "You can access the deployed Frontend application at the following URL:"
21+
Write-Host "https://$env:webSiteDefaultHostname" -ForegroundColor Cyan
22+
shell: pwsh
23+
interactive: true
24+
posix:
25+
run: |
26+
Blue='\033[0;34m'
27+
NC='\033[0m'
28+
echo "To upload Team Configurations to Cosmos. Run the following command in Bash:"
29+
echo "${Blue}bash infra/scripts/upload_team_config.sh"
30+
echo ""
31+
echo "${NC}To index Sample Data into Azure Search. Run the following command in Bash:"
32+
echo "${Blue}bash infra/scripts/process_sample_data.sh"
33+
echo ""
34+
echo "${NC}To upload team configurations and index sample data both in one command, you can use the following command in Bash:"
35+
echo "${Blue}bash infra/scripts/team_config_and_data.sh"
36+
echo ""
37+
echo "${NC}You can access the deployed Frontend application at the following URL:"
38+
echo "${Blue}https://$webSiteDefaultHostname"
39+
shell: sh
40+
interactive: true

azure_custom.yaml

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,39 @@ services:
3838
shell: sh
3939
run: bash ../../infra/scripts/package_frontend.sh
4040
interactive: true
41-
continueOnError: false
41+
continueOnError: false
42+
43+
hooks:
44+
postdeploy:
45+
windows:
46+
run: |
47+
Write-Host "To upload Team Configurations to Cosmos. Run the following command in PowerShell:"
48+
Write-Host "infra\scripts\Upload-Team-Config.ps1" -ForegroundColor Cyan
49+
Write-Host ""
50+
Write-Host "To index Sample Data into Azure Search. Run the following command in PowerShell:"
51+
Write-Host "infra\scripts\Process-Sample-Data.ps1" -ForegroundColor Cyan
52+
Write-Host ""
53+
Write-Host "If you want to run both scripts as single command, you can use the following command in PowerShell:"
54+
Write-Host "infra\scripts\Team-Config-And-Data.ps1" -ForegroundColor Cyan
55+
Write-Host ""
56+
Write-Host "You can access the deployed Frontend application at the following URL:"
57+
Write-Host "https://$env:webSiteDefaultHostname" -ForegroundColor Cyan
58+
shell: pwsh
59+
interactive: true
60+
posix:
61+
run: |
62+
Blue='\033[0;34m'
63+
NC='\033[0m'
64+
echo "To upload Team Configurations to Cosmos. Run the following command in Bash:"
65+
echo "${Blue}bash infra/scripts/upload_team_config.sh"
66+
echo ""
67+
echo "${NC}To index Sample Data into Azure Search. Run the following command in Bash:"
68+
echo "${Blue}bash infra/scripts/process_sample_data.sh"
69+
echo ""
70+
echo "${NC}If you want to run both scripts as single command, you can use the following command in Bash:"
71+
echo "${Blue}bash infra/scripts/team_config_and_data.sh"
72+
echo ""
73+
echo "${NC}You can access the deployed Frontend application at the following URL:"
74+
echo "${Blue}https://$webSiteDefaultHostname"
75+
shell: sh
76+
interactive: true

data/agent_teams/hr.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"id": "3",
3-
"team_id": "team-3",
2+
"id": "1",
3+
"team_id": "team-1",
44
"name": "Human Resources Team",
55
"status": "visible",
66
"created": "",
@@ -10,15 +10,15 @@
1010
"input_key": "",
1111
"type": "",
1212
"name": "HRHelperAgent",
13-
"deployment_name": "gpt-4.1",
13+
"deployment_name": "gpt-4.1-mini",
1414
"icon": "",
1515
"system_message": "You have access to a number of HR related MCP tools for tasks like employee onboarding, benefits management, policy guidance, and general HR inquiries. Use these tools to assist employees with their HR needs efficiently and accurately.If you need more information to accurately call these tools, do not make up answers, call the ProxyAgent for clarification.",
1616
"description": "An agent that has access to various HR tools to assist employees with onboarding, benefits, policies, and general HR inquiries.",
1717
"use_rag": false,
1818
"use_mcp": true,
1919
"use_bing": false,
2020
"use_reasoning": false,
21-
"index_name": "macae-index",
21+
"index_name": "",
2222
"index_foundry_name": "",
2323
"index_endpoint": "",
2424
"coding_tools": false
@@ -27,30 +27,30 @@
2727
"input_key": "",
2828
"type": "",
2929
"name": "TechnicalSupportAgent",
30-
"deployment_name": "gpt-4.1",
30+
"deployment_name": "gpt-4.1-mini",
3131
"icon": "",
3232
"system_message": "You have access to a number of technical support MCP tools for tasks such as provisioning laptops, setting up email accounts, troubleshooting, software/hardware issues, and IT support. Use these tools to assist employees with their technical needs efficiently and accurately. If you need more information to accurately call these tools, do not make up answers, call the ProxyAgent for clarification.",
3333
"description": "An agent that has access to various technical support tools to assist employees with IT needs like laptop provisioning, email setup, troubleshooting, and software/hardware issues.",
3434
"use_rag": false,
3535
"use_mcp": true,
3636
"use_bing": false,
3737
"use_reasoning": false,
38-
"index_name": "macae-index",
38+
"index_name": "",
3939
"index_foundry_name": "",
40-
"coding_tools": true
40+
"coding_tools": false
4141
},
4242
{
4343
"input_key": "",
4444
"type": "",
4545
"name": "ProxyAgent",
46-
"deployment_name": "gpt-4.1",
46+
"deployment_name": "",
4747
"icon": "",
4848
"system_message": "",
4949
"description": "",
5050
"use_rag": false,
5151
"use_mcp": false,
5252
"use_bing": false,
53-
"use_reasoning": true,
53+
"use_reasoning": false,
5454
"index_name": "",
5555
"index_foundry_name": "",
5656
"coding_tools": false

data/agent_teams/marketing.json

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,70 @@
11
{
2-
"id": "1",
3-
"team_id": "team-1",
2+
"id": "2",
3+
"team_id": "team-2",
44
"name": "Product Marketing Team",
5-
"status": "",
5+
"status": "visible",
66
"created": "",
77
"created_by": "",
88
"agents": [
99
{
1010
"input_key": "",
1111
"type": "",
12-
"name": "CustomerDataAgent",
13-
"deployment_name": "gpt-4.1",
12+
"name": "ProductAgent",
13+
"deployment_name": "gpt-4.1-mini",
1414
"icon": "",
15-
"system_message": "You have access to internal customer data through a secure index. Use this data to answer questions about customers, their interactions with customer service, satisfaction, etc. Be mindful of privacy and compliance regulations when handling customer data.",
16-
"description": "An agent that has access to internal customer data, ask this agent if you have questions about customers or their interactions with customer service, satisfaction, etc.",
17-
"use_rag": true,
18-
"use_mcp": false,
15+
"system_message": "You are a Product agent. You have knowledge about product management, development, and compliance guidelines. When asked to call a function, you should summarize back what was done.",
16+
"description": "This agent specializes in product management, development, and related tasks. It can provide information about products, manage inventory, handle product launches, analyze sales data, and coordinate with other teams like marketing and tech support.",
17+
"use_rag": false,
18+
"use_mcp": true,
1919
"use_bing": false,
2020
"use_reasoning": false,
21-
"index_name": "macae-index",
21+
"index_name": "",
2222
"index_foundry_name": "",
2323
"index_endpoint": "",
2424
"coding_tools": false
2525
},
2626
{
2727
"input_key": "",
2828
"type": "",
29-
"name": "OrderDataAgent",
30-
"deployment_name": "gpt-4.1",
29+
"name": "MarketingAgent",
30+
"deployment_name": "gpt-4.1-mini",
3131
"icon": "",
32-
"system_message": "You have access to internal order, inventory, product, and fulfilment data through a secure index. Use this data to answer questions about products, shipping delays, customer orders, warehouse management, etc. Be mindful of privacy and compliance regulations when handling customer data.",
33-
"description": "An agent that has access to internal order, inventory, product, and fulfilment data. Ask this agent if you have questions about products, shipping delays, customerr orders, warehouse management, etc.",
34-
"use_rag": true,
35-
"use_mcp": false,
32+
"system_message": "You are a Marketing agent. You specialize in marketing strategy, campaign development, content creation, and market analysis. You help create effective marketing campaigns, analyze market data, and develop promotional content for products and services.",
33+
"description": "This agent specializes in marketing, campaign management, and analyzing market data.",
34+
"use_rag": false,
35+
"use_mcp": true,
3636
"use_bing": false,
3737
"use_reasoning": false,
38-
"index_name": "macae-index",
38+
"index_name": "",
3939
"index_foundry_name": "",
4040
"coding_tools": true
4141
},
4242
{
4343
"input_key": "",
4444
"type": "",
45-
"name": "AnalysisRecomendationAgent",
46-
"deployment_name": "o4-mini",
45+
"name": "ProxyAgent",
46+
"deployment_name": "gpt-4.1-mini",
4747
"icon": "",
48-
"system_message": "You are a reasoning agent that can analyze customer data and provide recommendations for improving customer satisfaction and retention. You do not have access to any data sources, but you can reason based on the information provided to you by other agents. Use your reasoning skills to identify patterns, trends, and insights that can help improve customer satisfaction and retention. Provide actionable recommendations based on your analysis. You have access to other agents that can answer questions and provide data about customers, products, orders, inventory, and fulfilment. Use these agents to gather information as needed.",
49-
"description": "A reasoning agent that can analyze customer data and provide recommendations for improving customer satisfaction and retention.",
48+
"system_message": "",
49+
"description": "",
5050
"use_rag": false,
5151
"use_mcp": false,
5252
"use_bing": false,
53-
"use_reasoning": true,
53+
"use_reasoning": false,
5454
"index_name": "",
5555
"index_foundry_name": "",
5656
"coding_tools": false
5757
}
5858
],
5959
"protected": false,
60-
"description": "Team focused on individualized customer relationship management and overall customer satisfaction.",
60+
"description": "Team focused on products and product marketing.",
6161
"logo": "",
6262
"plan": "",
6363
"starting_tasks": [
6464
{
6565
"id": "task-1",
66-
"name": "Satisfaction Plan",
67-
"prompt": "Create a plan to improve Emily Thompson's satisfaction.",
66+
"name": "Draft a press release",
67+
"prompt": "Write a press release about our current products",
6868
"created": "",
6969
"creator": "",
7070
"logo": ""

data/agent_teams/retail.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"input_key": "",
1111
"type": "",
1212
"name": "CustomerDataAgent",
13-
"deployment_name": "gpt-4.1",
13+
"deployment_name": "gpt-4.1-mini",
1414
"icon": "",
1515
"system_message": "You have access to internal customer data through a secure index. Use this data to answer questions about customers, their interactions with customer service, satisfaction, etc. Be mindful of privacy and compliance regulations when handling customer data.",
1616
"description": "An agent that has access to internal customer data, ask this agent if you have questions about customers or their interactions with customer service, satisfaction, etc.",
@@ -27,7 +27,7 @@
2727
"input_key": "",
2828
"type": "",
2929
"name": "OrderDataAgent",
30-
"deployment_name": "gpt-4.1",
30+
"deployment_name": "gpt-4.1-mini",
3131
"icon": "",
3232
"system_message": "You have access to internal order, inventory, product, and fulfilment data through a secure index. Use this data to answer questions about products, shipping delays, customer orders, warehouse management, etc. Be mindful of privacy and compliance regulations when handling customer data.",
3333
"description": "An agent that has access to internal order, inventory, product, and fulfilment data. Ask this agent if you have questions about products, shipping delays, customerr orders, warehouse management, etc.",

docs/CustomizingAzdParameters.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ By default this template will use the environment name as the prefix to prevent
1919
| `AZURE_ENV_IMAGETAG` | string | `latest` | Docker image tag used for container deployments. |
2020
| `AZURE_ENV_ENABLE_TELEMETRY` | bool | `true` | Enables telemetry for monitoring and diagnostics. |
2121
| `AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID` | string | Guide to get your [Existing Workspace ID](/docs/re-use-log-analytics.md) | Set this if you want to reuse an existing Log Analytics Workspace instead of creating a new one. |
22+
| `AZURE_ENV_VM_ADMIN_USERNAME` | string | `take(newGuid(), 20)` | The administrator username for the virtual machine. |
23+
| `AZURE_ENV_VM_ADMIN_PASSWORD` | string | `newGuid()` | The administrator password for the virtual machine. |
2224
---
2325

2426
## How to Set a Parameter

0 commit comments

Comments
 (0)