Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,23 @@ locations support this version. If you're deploying to a location that doesn't s
switch to a lower version. To find out which versions are supported in different regions, visit the
[GPT-4.1 Model Availability](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models?tabs=global-standard%2Cstandard-chat-completions#global-standard-model-availability) page.


### Supported Azure Regions

The solution has been tested and is compatible with the following Azure regions:
- **Australia East**
- **East US 2**
- **Japan East**
- **UK South**

These regions are specifically configured in the deployment template to guarantee compatibility with paired regions and data redundancy. This restriction ensures reliable failover scenarios based on Azure's region availability and the requirements of services like Azure Database for PostgreSQL Flexible Server.

When deploying the solution using the "Deploy to Azure" button, you'll see two fields in the Azure portal:
- **Region**: This refers to the Azure region where the deployment metadata is stored
- **Location**: This corresponds to the "location" parameter in the bicep template and determines where all your solution resources will be deployed

**Important**: For this solution, you must select one of the supported regions listed above in the "Location" field. The "Region" field can be set to any available region since it only affects deployment metadata storage.

### Testing the deployment
1. Navigate to the admin site, where you can upload documents. It will be located at:

Expand Down
28 changes: 15 additions & 13 deletions docs/QuotaCheck.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ azd auth login

### 📌 Default Models & Capacities:
```
gpt4.1:30, text-embedding-ada-002:30
gpt4.1:150, text-embedding-ada-002:100
```
### 📌 Default Regions:
```
francecentral, australiaeast, uksouth, eastus2, northcentralus, swedencentral, westus, westus2, southcentralus
australiaeast, eastus2, japaneast, uksouth
```
### Usage Scenarios:
- No parameters passed → Default models and capacities will be checked in default regions.
Expand All @@ -38,20 +38,20 @@ francecentral, australiaeast, uksouth, eastus2, northcentralus, swedencentral, w
```
✔️ Check specific model(s) in default regions:
```
./quota_check_params.sh --models gpt4.1:30,text-embedding-ada-002:30
./quota_check_params.sh --models gpt4.1:150,text-embedding-ada-002:100
```
✔️ Check default models in specific region(s):
```
./quota_check_params.sh --regions eastus2,westus
```
✔️ Passing Both models and regions:
```
./quota_check_params.sh --models gpt4.1:30 --regions eastus2,westus
```
```
./quota_check_params.sh --regions eastus2,japaneast
```
✔️ Passing both models and regions:
```
./quota_check_params.sh --models gpt4.1:150 --regions eastus2,japaneast
```
✔️ All parameters combined:
```
./quota_check_params.sh --models gpt4.1:30,text-embedding-ada-002:30 --regions eastus2,westus --verbose
```
```
./quota_check_params.sh --models gpt4.1:150,text-embedding-ada-002:100 --regions eastus2,japaneast --verbose
```

### **Sample Output**
The final table lists regions with available quota. You can select any of these regions for deployment.
Expand Down Expand Up @@ -99,3 +99,5 @@ The final table lists regions with available quota. You can select any of these
az login
```
6. Rerun the script after installing Azure CLI.

> **Note:** The solution is restricted to these specific regions to ensure compatibility with paired regions and data redundancy requirements: australiaeast, eastus2, japaneast, uksouth.
2 changes: 1 addition & 1 deletion infra/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ param solutionUniqueText string = take(uniqueString(subscription().id, resourceG
'uksouth'
])
@metadata({ azd: { type: 'location' } })
@description('Required. Azure region for all services. Regions are restricted to guarantee compatibility with paired regions and replica locations for data redundancy and failover scenarios based on articles [Azure regions list](https://learn.microsoft.com/azure/reliability/regions-list) and [Azure Database for MySQL Flexible Server - Azure Regions](https://learn.microsoft.com/azure/mysql/flexible-server/overview#azure-regions).')
@description('Required. Azure region for all services. Regions are restricted to guarantee compatibility with paired regions and replica locations for data redundancy and failover scenarios based on articles [Azure regions list](https://learn.microsoft.com/azure/reliability/regions-list) and [Azure Database for PostgreSQL Flexible Server - Azure Regions](https://learn.microsoft.com/azure/postgresql/flexible-server/overview#azure-regions). Note: In the "Deploy to Azure" interface, you will see both "Region" and "Location" fields - "Region" is only for deployment metadata while "Location" (this parameter) determines where your actual resources are deployed.')
param location string

@description('Optional. Existing Log Analytics Workspace Resource ID.')
Expand Down
4 changes: 2 additions & 2 deletions infra/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"_generator": {
"name": "bicep",
"version": "0.37.4.10188",
"templateHash": "9518149285531278918"
"templateHash": "5346639491059147931"
}
},
"parameters": {
Expand Down Expand Up @@ -39,7 +39,7 @@
"azd": {
"type": "location"
},
"description": "Required. Azure region for all services. Regions are restricted to guarantee compatibility with paired regions and replica locations for data redundancy and failover scenarios based on articles [Azure regions list](https://learn.microsoft.com/azure/reliability/regions-list) and [Azure Database for MySQL Flexible Server - Azure Regions](https://learn.microsoft.com/azure/mysql/flexible-server/overview#azure-regions)."
"description": "Required. Azure region for all services. Regions are restricted to guarantee compatibility with paired regions and replica locations for data redundancy and failover scenarios based on articles [Azure regions list](https://learn.microsoft.com/azure/reliability/regions-list) and [Azure Database for PostgreSQL Flexible Server - Azure Regions](https://learn.microsoft.com/azure/postgresql/flexible-server/overview#azure-regions). Note: In the \"Deploy to Azure\" interface, you will see both \"Region\" and \"Location\" fields - \"Region\" is only for deployment metadata while \"Location\" (this parameter) determines where your actual resources are deployed."
}
},
"existingLogAnalyticsWorkspaceId": {
Expand Down
4 changes: 2 additions & 2 deletions infra/main.parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
"value": "${AZURE_OPENAI_MODEL_VERSION=2025-04-14}"
},
"azureOpenAIModelCapacity": {
"value": "${AZURE_OPENAI_MODEL_CAPACITY=30}"
"value": "${AZURE_OPENAI_MODEL_CAPACITY=150}"
},
"azureOpenAISkuName": {
"value": "${AZURE_OPENAI_SKU_NAME=S0}"
Expand Down Expand Up @@ -148,7 +148,7 @@
"value": "${AZURE_OPENAI_EMBEDDING_MODEL_VERSION=2}"
},
"azureOpenAIEmbeddingModelCapacity": {
"value": "${AZURE_OPENAI_EMBEDDING_MODEL_CAPACITY=30}"
"value": "${AZURE_OPENAI_EMBEDDING_MODEL_CAPACITY=100}"
},
"azureOpenAIMaxTokens": {
"value": "${AZURE_OPENAI_MAX_TOKENS=1000}"
Expand Down
4 changes: 2 additions & 2 deletions infra/main.waf.parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
"value": "${AZURE_OPENAI_MODEL_VERSION=2025-04-14}"
},
"azureOpenAIModelCapacity": {
"value": "${AZURE_OPENAI_MODEL_CAPACITY=30}"
"value": "${AZURE_OPENAI_MODEL_CAPACITY=150}"
},
"azureOpenAISkuName": {
"value": "${AZURE_OPENAI_SKU_NAME=S0}"
Expand Down Expand Up @@ -148,7 +148,7 @@
"value": "${AZURE_OPENAI_EMBEDDING_MODEL_VERSION=2}"
},
"azureOpenAIEmbeddingModelCapacity": {
"value": "${AZURE_OPENAI_EMBEDDING_MODEL_CAPACITY=30}"
"value": "${AZURE_OPENAI_EMBEDDING_MODEL_CAPACITY=100}"
},
"azureOpenAIMaxTokens": {
"value": "${AZURE_OPENAI_MAX_TOKENS=1000}"
Expand Down
6 changes: 3 additions & 3 deletions scripts/quota_check_params.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ log_verbose() {
}

# Default Models and Capacities (Comma-separated in "model:capacity" format)
DEFAULT_MODEL_CAPACITY="gpt4.1:30,text-embedding-ada-002:30"
DEFAULT_MODEL_CAPACITY="gpt4.1:150,text-embedding-ada-002:100"

# Convert the comma-separated string into an array
IFS=',' read -r -a MODEL_CAPACITY_PAIRS <<< "$DEFAULT_MODEL_CAPACITY"
Expand Down Expand Up @@ -93,7 +93,7 @@ az account set --subscription "$AZURE_SUBSCRIPTION_ID"
echo "🎯 Active Subscription: $(az account show --query '[name, id]' --output tsv)"

# Default Regions to check (Comma-separated, now configurable)
DEFAULT_REGIONS="francecentral,australiaeast,uksouth,eastus2,northcentralus,swedencentral,westus,westus2,southcentralus"
DEFAULT_REGIONS="australiaeast,eastus2,japaneast,uksouth"
IFS=',' read -r -a DEFAULT_REGION_ARRAY <<< "$DEFAULT_REGIONS"

# Read parameters (if any)
Expand Down Expand Up @@ -166,7 +166,7 @@ for REGION in "${REGIONS[@]}"; do
INSUFFICIENT_QUOTA=false

MODEL_TYPES=("openai.standard.$MODEL_NAME" "openai.globalstandard.$MODEL_NAME")

for MODEL_TYPE in "${MODEL_TYPES[@]}"; do
FOUND=false
INSUFFICIENT_QUOTA=false
Expand Down