Skip to content

Commit e9b9319

Browse files
committed
2 parents 10ef8d2 + c950dae commit e9b9319

File tree

8 files changed

+34
-101
lines changed

8 files changed

+34
-101
lines changed

azure.yaml

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,2 @@
11
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json
2-
environment:
3-
name: multi-agent-custom-automation-engine-solution-accelerator
4-
location: eastus
52
name: multi-agent-custom-automation-engine-solution-accelerator
6-
metadata:
7-
8-
parameters:
9-
azureOpenAILocation:
10-
type: string
11-
default: eastus2
12-
prefix:
13-
type: string
14-
default: ma-azdtest
15-
baseUrl:
16-
type: string
17-
default: 'https://raw.githubusercontent.com/microsoft/multi-agent-custom-automation-engine-solution-accelerator'
18-
deployment:
19-
mode: Incremental
20-
template: ./infra/main.bicep # Path to the main.bicep file inside the 'deployment' folder
21-
prameters:
22-
azureOpenAILocation: ${{ parameters.AiLocation }}
23-
prefix: ${{ parameters.ResourcePrefix }}
24-
baseUrl: ${{ parameters.baseUrl }}

documentation/CustomizeSolution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -614,4 +614,4 @@ This application orchestrates a group of AI agents to accomplish user-defined ta
614614

615615
Understanding the flow of data through the endpoints, agents, and persistent storage is key to grasping the logic of the application. Each component plays a specific role in ensuring tasks are planned, executed, and adjusted based on feedback, providing a robust and interactive system.
616616

617-
For instructions to setup a local development environment for the solution, please see [local deployment guide](./LocalDeployment.md).
617+
For instructions to setup a local development environment for the solution, please see [deployment guide](./DeploymentGuide.md).

documentation/CustomizingAzdParameters.md

Lines changed: 0 additions & 43 deletions
This file was deleted.

documentation/DeploymentGuide.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ When you start the deployment, most parameters will have **default values**, but
108108
| **Secondary Location** | A **less busy** region for **Azure Cosmos DB**, useful in case of availability constraints. | eastus2 |
109109
| **Deployment Type** | Select from a drop-down list. | GlobalStandard |
110110
| **GPT Model** | Choose from **gpt-4, gpt-4o, gpt-4o-mini**. | gpt-4o |
111-
| **GPT Model Deployment Capacity** | Configure capacity for **GPT models**. | 100k |
111+
| **GPT Model Deployment Capacity** | Configure capacity for **GPT models**. | 140k |
112112

113113
</details>
114114

@@ -117,8 +117,6 @@ When you start the deployment, most parameters will have **default values**, but
117117

118118
By default, the **GPT model capacity** in deployment is set to **140k tokens**.
119119

120-
> **We recommend increasing the capacity to 100k tokens for optimal performance.**
121-
122120
To adjust quota settings, follow these [steps](./AzureGPTQuotaSettings.md).
123121

124122
**⚠️ Warning:** Insufficient quota can cause deployment errors. Please ensure you have the recommended capacity or request additional capacity before deploying this solution.

documentation/TRANSPARENCY_FAQ.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
## Document Generation Solution Accelerator: Responsible AI FAQ
2-
- ### What is Build your own copilot - Generic Solution Accelerator?
3-
This solution accelerator is an open-source GitHub Repository to help create AI assistants using Azure OpenAI Service and Azure AI Search. This can be used by anyone looking for reusable architecture and code snippets to build AI assistants with their own enterprise data. The repository showcases a generic scenario of a user who wants to generate a document template based on a sample set of data.
1+
## Multi Agent Custom Automation Engine Solution Accelerator: Responsible AI FAQ
2+
- ### What is Multi Agent Custom Automation Engine?
3+
This solution accelerator is designed to help businesses leverage AI agents for automating complex organizational tasks. This accelerator provides a foundation for building AI-driven orchestration systems that can coordinate multiple specialized agents to accomplish various business processes.
44

5-
- ### What can Document Generation Solution Accelerator do?
6-
The sample solution included focuses on a generic use case - chat with your own data, generate a document template using your own data, and exporting the document in a docx format. The sample data is sourced from generic AI-generated promissory notes. The documents are intended for use as sample data only. The sample solution takes user input in text format and returns LLM responses in text format up to 800 tokens. It uses prompt flow to search data from AI search vector store, summarize the retrieved documents with Azure OpenAI.
5+
- ### What can Multi Agent Custom Automation Engine do?
6+
The Multi-Agent Custom Automation Engine solution accelerator allows users to specify tasks and have them automatically processed by a group of AI agents, each specialized in different aspects of the business. This automation not only saves time but also ensures accuracy and consistency in task execution.
77

8-
- ### What is/are Document Generation Solution Accelerator’s intended use(s)?
9-
This repository is to be used only as a solution accelerator following the open-source license terms listed in the GitHub repository. The example scenario’s intended purpose is to help users generate a document template to perform their work more efficiently.
8+
- ### What is/are Multi Agent Custom Automation Engine’s intended use(s)?
9+
This repository is to be used only as a solution accelerator following the open-source license terms listed in the GitHub repository. The example scenario’s intended purpose is to help users understand how the multi-agent pattern can be applied to various business scenarios.
1010

11-
- ### How was Document Generation Solution Accelerator evaluated? What metrics are used to measure performance?
11+
- ### How was Multi Agent Custom Automation Engine evaluated? What metrics are used to measure performance?
1212
We have used AI Foundry Prompt flow evaluation SDK to test for harmful content, groundedness, and potential security risks.
1313

14-
- ### What are the limitations of Document Generation Solution Accelerator? How can users minimize the impact of Document Generation Solution Accelerator’s limitations when using the system?
15-
This solution accelerator can only be used as a sample to accelerate the creation of AI assistants. The repository showcases a sample scenario of a user generating a document template. Users should review the system prompts provided and update as per their organizational guidance. Users should run their own evaluation flow either using the guidance provided in the GitHub repository or their choice of evaluation methods. AI-generated content may be inaccurate and should be manually reviewed. Currently, the sample repo is available in English only.
16-
- ### What operational factors and settings allow for effective and responsible use of Document Generation Solution Accelerator?
17-
Users can try different values for some parameters like system prompt, temperature, max tokens etc. shared as configurable environment variables while running run evaluations for AI assistants. Please note that these parameters are only provided as guidance to start the configuration but not as a complete available list to adjust the system behavior. Please always refer to the latest product documentation for these details or reach out to your Microsoft account team if you need assistance.
14+
- ### What are the limitations of Multi Agent Custom Automation Engine? How can users minimize the impact of Multi Agent Custom Automation Engine’s limitations when using the system?
15+
This solution accelerator can only be used as a sample to accelerate the creation of a multi-agent solution. The repository showcases a sample scenarios using multiple agents to solve tasks. Users should review the system prompts provided and update as per their organizational guidance. Users should run their own evaluation flow either using the guidance provided in the GitHub repository or their choice of evaluation methods. AI-generated content may be inaccurate and should be manually reviewed. Currently, the sample repo is available in English only.
16+
17+
- ### What operational factors and settings allow for effective and responsible use of Multi Agent Custom Automation Engine?
18+
Users can try different values for some parameters like system prompt, temperature, max tokens etc. shared as configurable environment variables while running run evaluations for AI agents. Users can also provide their own agent implementation using functional tools designed for those specific agents. Please note that these parameters are only provided as guidance to start the configuration but not as a complete available list to adjust the system behavior. Please always refer to the latest product documentation for these details or reach out to your Microsoft account team if you need assistance.

documentation/quota_check.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
## Check Quota Availability Before Deployment
22

33
Before deploying the accelerator, **ensure sufficient quota availability** for the required model.
4-
> **For Global Standard | GPT-4o - the capacity to at least 50k tokens for optimal performance.**
4+
> **For Global Standard | GPT-4o - the capacity to at least 140k tokens for optimal performance.**
55
66
### Login if you have not done so already
77
```
@@ -11,7 +11,7 @@ azd auth login
1111

1212
### 📌 Default Models & Capacities:
1313
```
14-
gpt-4o:50
14+
gpt-4o:140
1515
```
1616
### 📌 Default Regions:
1717
```
@@ -37,19 +37,19 @@ eastus, uksouth, eastus2, northcentralus, swedencentral, westus, westus2, southc
3737
```
3838
✔️ Check specific model(s) in default regions:
3939
```
40-
./quota_check_params.sh --models gpt-4o:50
40+
./quota_check_params.sh --models gpt-4o:140
4141
```
4242
✔️ Check default models in specific region(s):
4343
```
4444
./quota_check_params.sh --regions eastus,westus
4545
```
4646
✔️ Passing Both models and regions:
4747
```
48-
./quota_check_params.sh --models gpt-4o:50 --regions eastus,westus2
48+
./quota_check_params.sh --models gpt-4o:140 --regions eastus,westus2
4949
```
5050
✔️ All parameters combined:
5151
```
52-
./quota_check_params.sh --models gpt-4o:50 --regions eastus,westus --verbose
52+
./quota_check_params.sh --models gpt-4o:140 --regions eastus,westus --verbose
5353
```
5454

5555
### **Sample Output**

infra/main.bicep

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,11 @@ param azureOpenAILocation string //= 'eastus2' // The location used for all depl
3232

3333
@minLength(3)
3434
@maxLength(20)
35-
@description('Prefix for all resources created by this template. This prefix will be used to create unique names for all resources. The prefix must be unique within the resource group.')
36-
param prefix string //= 'macae'
35+
@description('A unique prefix for all resources in this deployment. This should be 3-20 characters long:')
36+
param environmentName string
37+
38+
var uniqueId = toLower(uniqueString(subscription().id, environmentName, resourceGroup().location))
39+
var solutionPrefix = 'ma${padLeft(take(uniqueId, 12), 12, '0')}'
3740

3841
@description('Tags to apply to all deployed resources')
3942
param tags object = {}
@@ -60,7 +63,7 @@ param capacity int = 140
6063

6164
var location = resourceGroup().location
6265
var modelVersion = '2024-08-06'
63-
var aiServicesName = '${prefix}-aiservices'
66+
var aiServicesName = '${solutionPrefix}-aiservices'
6467
var deploymentType = 'GlobalStandard'
6568
var gptModelVersion = 'gpt-4o'
6669
var appVersion = 'fnd01'
@@ -71,7 +74,7 @@ var dockerRegistryUrl = 'https://${resgistryName}.azurecr.io'
7174
var backendDockerImageURL = '${resgistryName}.azurecr.io/macaebackend:${appVersion}'
7275
var frontendDockerImageURL = '${resgistryName}.azurecr.io/macaefrontend:${appVersion}'
7376

74-
var uniqueNameFormat = '${prefix}-{0}-${uniqueString(resourceGroup().id, prefix)}'
77+
var uniqueNameFormat = '${solutionPrefix}-{0}-${uniqueString(resourceGroup().id, solutionPrefix)}'
7578
var aoaiApiVersion = '2025-01-01-preview'
7679
var imageName = frontendDockerImageURL
7780
resource logAnalytics 'Microsoft.OperationalInsights/workspaces@2023-09-01' = {
@@ -121,7 +124,7 @@ resource aiServices 'Microsoft.CognitiveServices/accounts@2024-04-01-preview' =
121124
apiProperties: {
122125
//statisticsEnabled: false
123126
}
124-
disableLocalAuth: true
127+
//disableLocalAuth: true
125128
}
126129
}
127130

@@ -147,7 +150,7 @@ resource aiServicesDeployments 'Microsoft.CognitiveServices/accounts/deployments
147150
module kvault 'deploy_keyvault.bicep' = {
148151
name: 'deploy_keyvault'
149152
params: {
150-
solutionName: prefix
153+
solutionName: solutionPrefix
151154
solutionLocation: location
152155
managedIdentityObjectId: managedIdentityModule.outputs.managedIdentityOutput.objectId
153156
}
@@ -161,7 +164,7 @@ module kvault 'deploy_keyvault.bicep' = {
161164
module aifoundry 'deploy_ai_foundry.bicep' = {
162165
name: 'deploy_ai_foundry'
163166
params: {
164-
solutionName: prefix
167+
solutionName: solutionPrefix
165168
solutionLocation: azureOpenAILocation
166169
keyVaultName: kvault.outputs.keyvaultName
167170
gptModelName: gptModelVersion
@@ -203,7 +206,7 @@ resource cosmos 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = {
203206
}
204207
]
205208
capabilities: [{ name: 'EnableServerless' }]
206-
disableLocalAuth: true
209+
//disableLocalAuth: true
207210
}
208211

209212
resource contributorRoleDefinition 'sqlRoleDefinitions' existing = {
@@ -277,7 +280,7 @@ resource acaCosomsRoleAssignment 'Microsoft.DocumentDB/databaseAccounts/sqlRoleA
277280

278281
@description('')
279282
resource containerApp 'Microsoft.App/containerApps@2024-03-01' = {
280-
name: '${prefix}-backend'
283+
name: '${solutionPrefix}-backend'
281284
location: location
282285
tags: tags
283286
identity: {
@@ -446,7 +449,7 @@ resource frontendAppService 'Microsoft.Web/sites@2021-02-01' = {
446449
}
447450

448451
resource aiHubProject 'Microsoft.MachineLearningServices/workspaces@2024-01-01-preview' existing = {
449-
name: '${prefix}-aiproject' // aiProjectName must be calculated - available at main start.
452+
name: '${solutionPrefix}-aiproject' // aiProjectName must be calculated - available at main start.
450453
}
451454

452455
resource aiDeveloper 'Microsoft.Authorization/roleDefinitions@2022-04-01' existing = {
@@ -467,7 +470,7 @@ var cosmosAssignCli = 'az cosmosdb sql role assignment create --resource-group "
467470
module managedIdentityModule 'deploy_managed_identity.bicep' = {
468471
name: 'deploy_managed_identity'
469472
params: {
470-
solutionName: prefix
473+
solutionName: solutionPrefix
471474
//solutionLocation: location
472475
managedIdentityId: pullIdentity.id
473476
managedIdentityPropPrin: pullIdentity.properties.principalId

infra/main.bicepparam

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)