33# .\scripts\demo.ps1
44# .\scripts\demo.ps1 -Live
55# .\scripts\demo.ps1 -Live -Resume
6+ # .\scripts\demo.ps1 -Live -Subscription <id> -ResourceGroup <rg> `
7+ # -ResourceName <name> -RouterDeployment <router> `
8+ # -BaselineDeployment <baseline> -JudgeDeployment <judge>
69
710param (
811 [switch ]$Live ,
912 [switch ]$Resume ,
10- [string ]$Subscription = " <your-subscription-id>" ,
11- [string ]$ResourceGroup = " <your-resource-group>" ,
12- [string ]$ResourceName = " <your-foundry-resource>"
13+ [string ]$Subscription ,
14+ [string ]$ResourceGroup ,
15+ [string ]$ResourceName ,
16+ [string ]$RouterDeployment ,
17+ [string ]$BaselineDeployment ,
18+ [string ]$JudgeDeployment
1319)
1420
1521$ErrorActionPreference = " Stop"
@@ -46,10 +52,27 @@ if ($LASTEXITCODE -ne 0) {
4652Push-Location $projectRoot
4753try {
4854 if ($Live ) {
55+ $requiredParameters = @ {
56+ Subscription = $Subscription
57+ ResourceGroup = $ResourceGroup
58+ ResourceName = $ResourceName
59+ RouterDeployment = $RouterDeployment
60+ BaselineDeployment = $BaselineDeployment
61+ JudgeDeployment = $JudgeDeployment
62+ }
63+ $missingParameters = @ (
64+ $requiredParameters.GetEnumerator () |
65+ Where-Object { [string ]::IsNullOrWhiteSpace([string ]$_.Value ) } |
66+ ForEach-Object { " -$ ( $_.Key ) " }
67+ )
68+ if ($missingParameters.Count -gt 0 ) {
69+ throw " Live mode requires: $ ( $missingParameters -join ' , ' ) ."
70+ }
71+
4972 Write-Host " This calls real deployments and consumes billable tokens." - ForegroundColor Yellow
50- Write-Host " Router: <your-router-deployment> "
51- Write-Host " Baseline: <your-baseline-deployment> (GPT-5.4) "
52- Write-Host " Judge: <your-baseline-deployment> (GPT-5.4) "
73+ Write-Host " Router: $RouterDeployment "
74+ Write-Host " Baseline: $BaselineDeployment "
75+ Write-Host " Judge: $JudgeDeployment "
5376 Write-Host " "
5477
5578 $az = Get-Command az - ErrorAction SilentlyContinue
@@ -73,16 +96,26 @@ try {
7396 throw " Unable to retrieve an access key for Foundry resource '$ResourceName '."
7497 }
7598
99+ $resourceLocation = az cognitiveservices account show `
100+ -- resource- group $ResourceGroup `
101+ -- name $ResourceName `
102+ -- query location `
103+ -- output tsv
104+ if ($LASTEXITCODE -ne 0 -or [string ]::IsNullOrWhiteSpace($resourceLocation )) {
105+ throw " Unable to determine the Azure region for Foundry resource '$ResourceName '."
106+ }
107+
76108 $endpoint = " https://$ResourceName .cognitiveservices.azure.com/"
77109 $env: AZURE_MODEL_ROUTER_ENDPOINT = $endpoint
78110 $env: AZURE_MODEL_ROUTER_KEY = $accountKey
79- $env: AZURE_MODEL_ROUTER_DEPLOYMENT = " <your-router-deployment> "
111+ $env: AZURE_MODEL_ROUTER_DEPLOYMENT = $RouterDeployment
80112 $env: AZURE_OPENAI_ENDPOINT = $endpoint
81113 $env: AZURE_OPENAI_KEY = $accountKey
82- $env: AZURE_BASELINE_DEPLOYMENT = " <your-baseline-deployment> "
114+ $env: AZURE_BASELINE_DEPLOYMENT = $BaselineDeployment
83115 $env: AZURE_JUDGE_ENDPOINT = $endpoint
84116 $env: AZURE_JUDGE_KEY = $accountKey
85- $env: AZURE_JUDGE_DEPLOYMENT = " <your-baseline-deployment>"
117+ $env: AZURE_JUDGE_DEPLOYMENT = $JudgeDeployment
118+ $env: AZURE_PRICING_REGION = $resourceLocation
86119
87120 $evalArgs = @ (" scripts\run_eval.py" , " --config" , " configs\live_demo.yaml" )
88121 if ($Resume ) {
@@ -128,6 +161,7 @@ try {
128161 Remove-Item Env:\AZURE_MODEL_ROUTER_KEY - ErrorAction SilentlyContinue
129162 Remove-Item Env:\AZURE_OPENAI_KEY - ErrorAction SilentlyContinue
130163 Remove-Item Env:\AZURE_JUDGE_KEY - ErrorAction SilentlyContinue
164+ Remove-Item Env:\AZURE_PRICING_REGION - ErrorAction SilentlyContinue
131165 Pop-Location
132166}
133167
0 commit comments