1+ #! /usr/bin/env bash
2+ # configure_demo.sh – prepares azd environment for the public demo using existing resource group & storage account
3+ set -euo pipefail
4+
5+ # ----- parameters you may tweak -----
6+ RG=" rg-jacob-paul-rag" # existing resource group
7+ SUB=" 6c8e23df-4aec-4ed5-bec5-79853ea6c6c6" # subscription id
8+ LOC=" eastus2" # default location
9+ ENV_NAME=" demo" # azd env folder name
10+ STORAGE_ACCT=" stinternalrag001" # existing ADLS Gen2 account
11+
12+ # fixed resource names following pattern <abbr>-internal-3c-rag
13+ SEARCH=" srch-internal-3c-rag"
14+ OPENAI=" oai-internal-3c-rag"
15+ DOCINT=" di-internal-3c-rag"
16+ SPEECH=" spch-internal-3c-rag"
17+ PLAN=" asp-internal-3c-rag"
18+ WEBAPP=" app-internal-3c-rag"
19+ COSMOS=" cosmosinternal3crag" # Cosmos account names cannot have hyphens
20+
21+ # ----- create / switch azd env -----
22+ # create or switch to environment
23+ if azd env list --output json | grep -q " \" $ENV_NAME \" " ; then
24+ echo " Selecting existing environment $ENV_NAME "
25+ azd env select "$ENV_NAME"
26+ else
27+ azd env new " $ENV_NAME " --subscription " $SUB " --location " $LOC "
28+ fi
29+ # pin to existing resource group
30+ azd env set AZURE_RESOURCE_GROUP " $RG "
31+
32+ # ----- hosting SKUs / flags -----
33+ azd env set DEPLOYMENT_TARGET appservice
34+ azd env set AZURE_APP_SERVICE_SKU P0v3
35+ azd env set AZURE_SEARCH_SERVICE_SKU standard
36+ azd env set SERVICE_WEB_RESOURCE_EXISTS true
37+
38+ # ----- explicit resource names -----
39+ azd env set AZURE_STORAGE_ACCOUNT " $STORAGE_ACCT "
40+ azd env set AZURE_STORAGE_CONTAINER " content"
41+ azd env set AZURE_STORAGE_RESOURCE_GROUP " $RG "
42+ azd env set AZURE_APPLICATION_INSIGHTS " appi-internal-3c-rag"
43+ azd env set AZURE_APPLICATION_INSIGHTS_DASHBOARD " dash-internal-3c-rag"
44+ azd env set AZURE_LOG_ANALYTICS " log-internal-3c-rag"
45+ azd env set AZURE_SEARCH_SERVICE " $SEARCH "
46+ azd env set AZURE_OPENAI_SERVICE " $OPENAI "
47+ azd env set AZURE_DOCUMENTINTELLIGENCE_SERVICE " $DOCINT "
48+ azd env set AZURE_SPEECH_SERVICE " $SPEECH "
49+ azd env set AZURE_APP_SERVICE_PLAN " $PLAN "
50+ azd env set AZURE_APP_SERVICE " $WEBAPP "
51+ azd env set AZURE_COSMOSDB_ACCOUNT " $COSMOS "
52+
53+ # ----- model / vision -----
54+ azd env set AZURE_OPENAI_EMB_MODEL_NAME text-embedding-3-large
55+ azd env set AZURE_OPENAI_EMB_DIMENSIONS 3072
56+ # Enable GPT-4 Vision feature flag expected by template
57+ azd env set USE_GPT4V true
58+ # Optional: set the GPT-4V deployment/model names (can be blank to let template default)
59+ azd env set AZURE_OPENAI_GPT4V_MODEL gpt-4o
60+ azd env set AZURE_OPENAI_GPT4V_DEPLOYMENT gpt4v
61+ azd env set USE_MEDIA_DESCRIBER_AZURE_CU false
62+
63+ # ----- retrieval options -----
64+ azd env set AZURE_SEARCH_SEMANTIC_RANKER standard
65+ azd env set AZURE_SEARCH_QUERY_REWRITING true
66+
67+ # ----- chat history -----
68+ azd env set USE_CHAT_HISTORY_COSMOS true
69+
70+ # ----- speech -----
71+ azd env set USE_SPEECH_INPUT_BROWSER true
72+ azd env set USE_SPEECH_OUTPUT_AZURE true
73+ azd env set AZURE_SPEECH_SERVICE_VOICE en-US-AndrewMultilingualNeural
74+
75+ # ----- security & uploads -----
76+ azd env set AZURE_USE_AUTHENTICATION true
77+ TENANT_ID=$( az account show --query tenantId -o tsv 2> /dev/null || echo " " )
78+ if [ -n " $TENANT_ID " ]; then
79+ azd env set AZURE_AUTH_TENANT_ID " $TENANT_ID "
80+ azd env set AZURE_TENANT_ID " $TENANT_ID "
81+ fi
82+ azd env set USE_USER_UPLOAD true
83+
84+ # content understanding (Azure AI Foundry account)
85+ azd env set AZURE_COMPUTER_VISION_SERVICE " cu-internal-3c-rag"
86+
87+ # user-upload storage account (ADLS Gen2)
88+ azd env set AZURE_ADLS_GEN2_STORAGE_ACCOUNT " userstinternal3crag"
89+ azd env set AZURE_ADLS_GEN2_FILESYSTEM " user-content"
90+ azd env set AZURE_ADLS_GEN2_FILESYSTEM_PATH " "
91+
92+ # ----- regional parameters to avoid interactive prompts -----
93+ # keep required uppercase vars
94+ azd env set AZURE_OPENAI_LOCATION " $LOC "
95+ azd env set AZURE_DOCUMENTINTELLIGENCE_LOCATION " eastus"
96+
97+ echo " ✔ Demo environment configured. Run 'azd up' next."
0 commit comments