diff --git a/README.md b/README.md index 4d36ebf71..31eb32bb1 100644 --- a/README.md +++ b/README.md @@ -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: diff --git a/docs/QuotaCheck.md b/docs/QuotaCheck.md index f0657912f..f9beebab3 100644 --- a/docs/QuotaCheck.md +++ b/docs/QuotaCheck.md @@ -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. @@ -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. @@ -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. diff --git a/infra/main.bicep b/infra/main.bicep index 560a752ba..be42ff695 100644 --- a/infra/main.bicep +++ b/infra/main.bicep @@ -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.') diff --git a/infra/main.json b/infra/main.json index 00803318d..550772e8e 100644 --- a/infra/main.json +++ b/infra/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.37.4.10188", - "templateHash": "9518149285531278918" + "templateHash": "5346639491059147931" } }, "parameters": { @@ -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": { diff --git a/infra/main.parameters.json b/infra/main.parameters.json index 98750ea5d..57568b922 100644 --- a/infra/main.parameters.json +++ b/infra/main.parameters.json @@ -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}" @@ -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}" diff --git a/infra/main.waf.parameters.json b/infra/main.waf.parameters.json index f23301f34..e9e851ac6 100644 --- a/infra/main.waf.parameters.json +++ b/infra/main.waf.parameters.json @@ -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}" @@ -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}" diff --git a/scripts/quota_check_params.sh b/scripts/quota_check_params.sh index 896010f62..55ed3ae40 100644 --- a/scripts/quota_check_params.sh +++ b/scripts/quota_check_params.sh @@ -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" @@ -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) @@ -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