Skip to content

Commit 452419c

Browse files
Merge pull request microsoft#1082 from microsoft/psl-mainChanges
feat: upgrade to GPT-5.4 models, add default teams with per-user isolation, and ACR image build scripts
2 parents f581a71 + 91e3317 commit 452419c

43 files changed

Lines changed: 5555 additions & 1027 deletions

Some content is hidden

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

.github/workflows/azd-template-validation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
3535
AZURE_ENV_AI_SERVICE_LOCATION: ${{ vars.AZURE_AI_DEPLOYMENT_LOCATION }}
3636
AZURE_ENV_GPT_MODEL_CAPACITY: 1
37-
AZURE_ENV_MODEL_4_1_CAPACITY: 1 # keep low to avoid potential quota issues
37+
AZURE_ENV_MODEL_5_4_CAPACITY: 1 # keep low to avoid potential quota issues
3838
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3939

4040
- name: print result

.github/workflows/azure-dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
1919
AZURE_ENV_AI_SERVICE_LOCATION: ${{ vars.AZURE_AI_DEPLOYMENT_LOCATION }}
2020
AZURE_ENV_GPT_MODEL_CAPACITY: 1
21-
AZURE_ENV_MODEL_4_1_CAPACITY: 1
21+
AZURE_ENV_MODEL_5_4_CAPACITY: 1
2222
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2323
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
2424
steps:

.github/workflows/deploy-waf.yml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ jobs:
2222
runs-on: ubuntu-latest
2323
environment: production
2424
env:
25-
GPT_MIN_CAPACITY: 1
26-
O4_MINI_MIN_CAPACITY: 1
27-
GPT41_MINI_MIN_CAPACITY: 1
25+
GPT_5_4_MINI_MIN_CAPACITY: 1
26+
GPT_5_4_MIN_CAPACITY: 1
2827
steps:
2928
- name: Checkout Code
3029
uses: actions/checkout@v6
@@ -40,9 +39,8 @@ jobs:
4039
id: quota-check
4140
env:
4241
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
43-
GPT_MIN_CAPACITY: ${{ env.GPT_MIN_CAPACITY }}
44-
O4_MINI_MIN_CAPACITY: ${{ env.O4_MINI_MIN_CAPACITY }}
45-
GPT41_MINI_MIN_CAPACITY: ${{ env.GPT41_MINI_MIN_CAPACITY }}
42+
GPT_5_4_MINI_MIN_CAPACITY: ${{ env.GPT_5_4_MINI_MIN_CAPACITY }}
43+
GPT_5_4_MIN_CAPACITY: ${{ env.GPT_5_4_MIN_CAPACITY }}
4644
AZURE_REGIONS: ${{ vars.AZURE_REGIONS }}
4745
run: |
4846
chmod +x infra/scripts/checkquota.sh
@@ -133,9 +131,8 @@ jobs:
133131
solutionName=${{ env.SOLUTION_PREFIX }} \
134132
location="${{ env.AZURE_LOCATION }}" \
135133
azureAiServiceLocation='${{ env.AZURE_LOCATION }}' \
136-
gptDeploymentCapacity=${{ env.GPT_MIN_CAPACITY }} \
137-
gpt4_1ModelCapacity=${{ env.GPT41_MINI_MIN_CAPACITY }} \
138-
gptReasoningModelCapacity=${{ env.O4_MINI_MIN_CAPACITY }} \
134+
gptDeploymentCapacity=${{ env.GPT_5_4_MINI_MIN_CAPACITY }} \
135+
gpt5_4ModelCapacity=${{ env.GPT_5_4_MIN_CAPACITY }} \
139136
enableTelemetry=true \
140137
enableMonitoring=true \
141138
enablePrivateNetworking=true \

.github/workflows/deploy.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ on:
1717
- cron: "0 11,23 * * *" # Runs at 11:00 AM and 11:00 PM GMT
1818
workflow_dispatch: #Allow manual triggering
1919
env:
20-
GPT_MIN_CAPACITY: 150
21-
O4_MINI_MIN_CAPACITY: 50
22-
GPT41_MINI_MIN_CAPACITY: 50
20+
GPT_5_4_MINI_MIN_CAPACITY: 100
21+
GPT_5_4_MIN_CAPACITY: 150
2322
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
2423

2524
jobs:
@@ -47,9 +46,8 @@ jobs:
4746
id: quota-check
4847
env:
4948
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
50-
GPT_MIN_CAPACITY: ${{ env.GPT_MIN_CAPACITY }}
51-
O4_MINI_MIN_CAPACITY: ${{ env.O4_MINI_MIN_CAPACITY }}
52-
GPT41_MINI_MIN_CAPACITY: ${{ env.GPT41_MINI_MIN_CAPACITY }}
49+
GPT_5_4_MINI_MIN_CAPACITY: ${{ env.GPT_5_4_MINI_MIN_CAPACITY }}
50+
GPT_5_4_MIN_CAPACITY: ${{ env.GPT_5_4_MIN_CAPACITY }}
5351
AZURE_REGIONS: ${{ vars.AZURE_REGIONS }}
5452
run: |
5553
chmod +x infra/scripts/checkquota.sh
@@ -153,7 +151,7 @@ jobs:
153151
backendContainerImageTag="${IMAGE_TAG}" \
154152
frontendContainerImageTag="${IMAGE_TAG}" \
155153
azureAiServiceLocation='${{ env.AZURE_LOCATION }}' \
156-
gptDeploymentCapacity=50 \
154+
gptDeploymentCapacity=100 \
157155
createdBy="Pipeline" \
158156
tags="{'Purpose':'Deploying and Cleaning Up Resources for Validation','CreatedDate':'$current_date'}" \
159157
--output json

.github/workflows/job-deploy.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,8 @@ on:
9898
value: ${{ jobs.azure-setup.outputs.QUOTA_FAILED }}
9999

100100
env:
101-
GPT_MIN_CAPACITY: 150
102-
O4_MINI_MIN_CAPACITY: 50
103-
GPT41_MINI_MIN_CAPACITY: 50
101+
GPT_5_4_MINI_MIN_CAPACITY: 100
102+
GPT_5_4_MIN_CAPACITY: 150
104103
BRANCH_NAME: ${{ github.event.workflow_run.head_branch || github.head_ref || github.ref_name }}
105104
WAF_ENABLED: ${{ inputs.trigger_type == 'workflow_dispatch' && (inputs.waf_enabled || false) || false }}
106105
EXP: ${{ inputs.trigger_type == 'workflow_dispatch' && (inputs.EXP || false) || false }}
@@ -306,9 +305,8 @@ jobs:
306305
id: quota-check
307306
env:
308307
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
309-
GPT_MIN_CAPACITY: ${{ env.GPT_MIN_CAPACITY }}
310-
O4_MINI_MIN_CAPACITY: ${{ env.O4_MINI_MIN_CAPACITY }}
311-
GPT41_MINI_MIN_CAPACITY: ${{ env.GPT41_MINI_MIN_CAPACITY }}
308+
GPT_5_4_MINI_MIN_CAPACITY: ${{ env.GPT_5_4_MINI_MIN_CAPACITY }}
309+
GPT_5_4_MIN_CAPACITY: ${{ env.GPT_5_4_MIN_CAPACITY }}
312310
AZURE_REGIONS: ${{ vars.AZURE_REGIONS }}
313311
run: |
314312
chmod +x infra/scripts/checkquota.sh

.github/workflows/job-send-notification.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ on:
6868
type: string
6969

7070
env:
71-
GPT_MIN_CAPACITY: 100
71+
GPT_5_4_MINI_MIN_CAPACITY: 100
7272
BRANCH_NAME: ${{ github.event.workflow_run.head_branch || github.head_ref || github.ref_name }}
7373
WAF_ENABLED: ${{ inputs.trigger_type == 'workflow_dispatch' && (inputs.waf_enabled || false) || false }}
7474
EXP: ${{ inputs.trigger_type == 'workflow_dispatch' && (inputs.EXP || false) || false }}

TRANSPARENCY_FAQS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ The system allows users to review, reorder and approve steps generated in a plan
2626

2727
## What operational factors and settings allow for effective and responsible use of Multi Agent: Custom Automation Engine – Solution Accelerator?
2828
Effective and responsible use of the Multi Agent: Custom Automation Engine – Solution Accelerator depends on several operational factors and settings. The system is designed to perform reliably and safely across a range of business tasks that it was evaluated for. Users can customize certain settings, such as the planning language model used by the system, the types of tasks that agents are assigned, and the specific actions that agents can take (e.g., sending emails or scheduling orientation sessions for new employees). However, it's important to note that these choices may impact the system's behavior in real-world scenarios.
29-
For example, selecting a planning language model that is not well-suited to the complexity of the tasks may result in lower accuracy and performance. Similarly, assigning tasks that are outside the system's intended scope may lead to errors or incomplete results. Users can choose the LLM that is optimized for responsible use. The default LLM is GPT-4o which inherits the existing RAI mechanisms and filters from the LLM provider. Caching is enabled by default to increase reliability and control cost. We encourage developers to review [OpenAI’s Usage policies](https://openai.com/policies/usage-policies/) and [Azure OpenAI’s Code of Conduct](https://learn.microsoft.com/en-us/legal/cognitive-services/openai/code-of-conduct) when using GPT-40. To ensure effective and responsible use of the accelerator, users should carefully consider their choices and use the system within its intended scope.
29+
For example, selecting a planning language model that is not well-suited to the complexity of the tasks may result in lower accuracy and performance. Similarly, assigning tasks that are outside the system's intended scope may lead to errors or incomplete results. Users can choose the LLM that is optimized for responsible use. The default LLM is GPT-5.4 which inherits the existing RAI mechanisms and filters from the LLM provider. Caching is enabled by default to increase reliability and control cost. We encourage developers to review [OpenAI’s Usage policies](https://openai.com/policies/usage-policies/) and [Azure OpenAI’s Code of Conduct](https://learn.microsoft.com/en-us/legal/cognitive-services/openai/code-of-conduct) when using GPT-5.4. To ensure effective and responsible use of the accelerator, users should carefully consider their choices and use the system within its intended scope.

azure.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ hooks:
1717
Write-Host "===============================================================" -ForegroundColor Yellow
1818
Write-Host ""
1919
20+
Write-Host " Build and push the backend/frontend/mcp_server container images to ACR, then point the container app and webapp at them:" -ForegroundColor White
21+
Write-Host " 👉 Run the following command in Bash:" -ForegroundColor White
22+
Write-Host " bash infra/scripts/build_and_push_images.sh" -ForegroundColor Cyan
23+
Write-Host ""
24+
2025
Write-Host " Upload Team Configurations and index sample data" -ForegroundColor White
2126
Write-Host " 👉 Run the following command in Bash:" -ForegroundColor White
2227
Write-Host " bash infra/scripts/selecting_team_config_and_data.sh" -ForegroundColor Cyan
@@ -33,6 +38,11 @@ hooks:
3338
Write-Host "===============================================================" -ForegroundColor Yellow
3439
Write-Host ""
3540
41+
Write-Host " Build and push the backend/frontend/mcp_server container images to ACR, then point the container app and webapp at them:" -ForegroundColor White
42+
Write-Host " 👉 Run the following command in PowerShell:" -ForegroundColor White
43+
Write-Host " infra\scripts\Build-And-Push-Images.ps1" -ForegroundColor Cyan
44+
Write-Host ""
45+
3646
Write-Host " Upload Team Configurations and index sample data" -ForegroundColor White
3747
Write-Host " 👉 Run the following command in PowerShell:" -ForegroundColor White
3848
Write-Host " infra\scripts\Selecting-Team-Config-And-Data.ps1" -ForegroundColor Cyan
@@ -58,6 +68,10 @@ hooks:
5868
printf "${Green} POST-DEPLOYMENT STEPS (Bash)\n"
5969
printf "${Yellow}===============================================================${NC}\n\n"
6070
71+
printf "Build and push the backend/frontend/mcp_server container images to ACR, then point the container app and webapp at them:\n"
72+
printf " 👉 Run the following command in Bash:\n"
73+
printf " ${Blue}bash infra/scripts/build_and_push_images.sh${NC}\n\n"
74+
6175
printf "Upload Team Configurations and index sample data:\n"
6276
printf " 👉 Run the following command in Bash:\n"
6377
printf " ${Blue}bash infra/scripts/selecting_team_config_and_data.sh${NC}\n\n"
@@ -66,4 +80,4 @@ hooks:
6680
printf " ${Blue}https://%s${NC}\n\n" "$webSiteDefaultHostname"
6781
6882
shell: sh
69-
interactive: true
83+
interactive: true

data/agent_teams/contract_compliance_team.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"status": "visible",
66
"created": "",
77
"created_by": "",
8-
"deployment_name": "gpt-4.1-mini",
8+
"deployment_name": "gpt-5.4-mini",
9+
"is_default": true,
910
"description": "A multi-agent compliance review team that summarizes NDAs, identifies risks, checks compliance, and recommends improvements using advanced legal reasoning and retrieval-augmented analysis.",
1011
"logo": "",
1112
"plan": "",
@@ -14,7 +15,7 @@
1415
"input_key": "",
1516
"type": "summary",
1617
"name": "ContractSummaryAgent",
17-
"deployment_name": "gpt-4.1-mini",
18+
"deployment_name": "gpt-5.4-mini",
1819
"icon": "",
1920
"system_message": "You are the Summary Agent for compliance contract analysis. Your task is to produce a clear, accurate, and structured executive summary of NDA and legal agreement documents. You must deliver summaries organized into labeled sections including: Overview, Parties, Effective Date, Purpose, Definition of Confidential Information, Receiving Party Obligations, Term & Termination, Governing Law, Restrictions & Limitations, Miscellaneous Clauses, Notable or Unusual Terms, and Key Items for Risk & Compliance Agents. Highlight missing elements such as liability caps, dispute resolution mechanisms, data handling obligations, or ambiguous language. Maintain a precise, neutral legal tone. Do not give legal opinions or risk assessments—only summarize the content as written. Use retrieval results from the search index to ensure completeness and reference contextual definitions or standard clause expectations when needed.",
2021
"description": "Produces comprehensive, structured summaries of NDAs and contracts, capturing all key terms, clauses, obligations, jurisdictions, and notable provisions.",
@@ -29,7 +30,7 @@
2930
"input_key": "",
3031
"type": "risk",
3132
"name": "ContractRiskAgent",
32-
"deployment_name": "gpt-4.1-mini",
33+
"deployment_name": "gpt-5.4-mini",
3334
"icon": "",
3435
"system_message": "You are the Risk Agent for NDA and compliance contract analysis. Use the NDA Risk Assessment Reference document and retrieved context to identify High, Medium, and Low risk issues. Evaluate clauses for missing liability caps, ambiguous terms, overly broad confidentiality definitions, jurisdiction misalignment, missing termination rights, unclear data handling obligations, missing dispute resolution, and any incomplete or poorly scoped definitions. For every risk you identify, provide: (1) Risk Category (High/Medium/Low), (2) Clause or Section impacted, (3) Description of the issue, (4) Why it matters or what exposure it creates, and (5) Suggested edit or corrective language. Apply the risk scoring framework: High = escalate immediately; Medium = requires revision; Low = minor issue. Be precise, legally aligned, and practical. Reference retrieved examples or standards when appropriate. Your output must be structured and actionable.",
3536
"description": "Identifies and classifies compliance risks in NDAs and contracts using the organization's risk framework, and provides suggested edits to reduce exposure.",
@@ -44,7 +45,7 @@
4445
"input_key": "",
4546
"type": "compliance",
4647
"name": "ContractComplianceAgent",
47-
"deployment_name": "gpt-4.1-mini",
48+
"deployment_name": "gpt-5.4-mini",
4849
"icon": "",
4950
"system_message": "You are the Compliance Agent responsible for validating NDAs and legal agreements against mandatory legal and policy requirements. Use the NDA Compliance Reference Document and retrieval results to evaluate whether the contract includes all required clauses: Confidentiality, Term & Termination, Governing Law aligned to approved jurisdictions, Non-Assignment, and Entire Agreement. Identify compliance gaps including ambiguous language, missing liability protections, improper jurisdiction, excessive term length, insufficient data protection obligations, missing dispute resolution mechanisms, or export control risks. For each issue provide: (1) Compliance Area (e.g., Term Length, Jurisdiction, Confidentiality), (2) Status (Pass/Fail), (3) Issue Description, (4) Whether it is Mandatory or Recommended, (5) Corrective Recommendation or Suggested Language. Deliver a final Compliance Status summary. Maintain professional, objective, legally accurate tone.",
5051
"description": "Performs compliance validation of NDAs and contracts against legal policy requirements, identifies gaps, and provides corrective recommendations and compliance status.",

data/agent_teams/hr.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@
55
"status": "visible",
66
"created": "",
77
"created_by": "",
8-
"deployment_name": "gpt-4.1-mini",
8+
"deployment_name": "gpt-5.4-mini",
9+
"is_default": true,
910
"agents": [
1011
{
1112
"input_key": "",
1213
"type": "",
1314
"name": "HRHelperAgent",
14-
"deployment_name": "gpt-4.1-mini",
15+
"deployment_name": "gpt-5.4-mini",
1516
"icon": "",
1617
"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.",
1718
"description": "An agent that has access to various HR tools to assist employees with onboarding, benefits, policies, and general HR inquiries.",
@@ -28,7 +29,7 @@
2829
"input_key": "",
2930
"type": "",
3031
"name": "TechnicalSupportAgent",
31-
"deployment_name": "gpt-4.1-mini",
32+
"deployment_name": "gpt-5.4-mini",
3233
"icon": "",
3334
"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.",
3435
"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.",

0 commit comments

Comments
 (0)