Skip to content

Commit e8ce8b9

Browse files
andredewesandredewespamelafox
authored
Adding support for custom Azure deployments (#1273)
* Adding support for custom Azure deployments * Fixing formatting * Fixing using Pamela's suggestions * Fixing format * Better clarity --------- Co-authored-by: andredewes <[email protected]> Co-authored-by: Pamela Fox <[email protected]>
1 parent 3ef0a2c commit e8ce8b9

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

app/backend/app.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,10 @@ async def setup_clients():
223223
AZURE_OPENAI_SERVICE = os.getenv("AZURE_OPENAI_SERVICE")
224224
AZURE_OPENAI_GPT4V_DEPLOYMENT = os.environ.get("AZURE_OPENAI_GPT4V_DEPLOYMENT")
225225
AZURE_OPENAI_GPT4V_MODEL = os.environ.get("AZURE_OPENAI_GPT4V_MODEL")
226-
AZURE_OPENAI_CHATGPT_DEPLOYMENT = os.getenv("AZURE_OPENAI_CHATGPT_DEPLOYMENT") if OPENAI_HOST == "azure" else None
227-
AZURE_OPENAI_EMB_DEPLOYMENT = os.getenv("AZURE_OPENAI_EMB_DEPLOYMENT") if OPENAI_HOST == "azure" else None
226+
AZURE_OPENAI_CHATGPT_DEPLOYMENT = (
227+
os.getenv("AZURE_OPENAI_CHATGPT_DEPLOYMENT") if OPENAI_HOST.startswith("azure") else None
228+
)
229+
AZURE_OPENAI_EMB_DEPLOYMENT = os.getenv("AZURE_OPENAI_EMB_DEPLOYMENT") if OPENAI_HOST.startswith("azure") else None
228230
AZURE_VISION_ENDPOINT = os.getenv("AZURE_VISION_ENDPOINT", "")
229231
# Used only with non-Azure OpenAI deployments
230232
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
@@ -297,12 +299,18 @@ async def setup_clients():
297299
# Used by the OpenAI SDK
298300
openai_client: AsyncOpenAI
299301

300-
if OPENAI_HOST == "azure":
302+
if OPENAI_HOST.startswith("azure"):
301303
token_provider = get_bearer_token_provider(azure_credential, "https://cognitiveservices.azure.com/.default")
304+
305+
if OPENAI_HOST == "azure_custom":
306+
endpoint = os.environ["AZURE_OPENAI_CUSTOM_URL"]
307+
else:
308+
endpoint = f"https://{AZURE_OPENAI_SERVICE}.openai.azure.com"
309+
302310
# Store on app.config for later use inside requests
303311
openai_client = AsyncAzureOpenAI(
304312
api_version="2023-07-01-preview",
305-
azure_endpoint=f"https://{AZURE_OPENAI_SERVICE}.openai.azure.com",
313+
azure_endpoint=endpoint,
306314
azure_ad_token_provider=token_provider,
307315
)
308316
elif OPENAI_HOST == "local":

infra/main.bicep

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ param storageSkuName string // Set in main.parameters.json
3939

4040
param appServiceSkuName string // Set in main.parameters.json
4141

42-
@allowed([ 'azure', 'openai' ])
42+
@allowed([ 'azure', 'openai', 'azure_custom' ])
4343
param openAiHost string // Set in main.parameters.json
44+
param azureOpenAiCustomUrl string = ''
4445

4546
param openAiServiceName string = ''
4647
param openAiResourceGroupName string = ''
@@ -87,7 +88,7 @@ param computerVisionSkuName string = 'S1'
8788
param chatGptDeploymentName string // Set in main.parameters.json
8889
param chatGptDeploymentCapacity int = 30
8990
param chatGpt4vDeploymentCapacity int = 10
90-
param chatGptModelName string = (openAiHost == 'azure') ? 'gpt-35-turbo' : 'gpt-3.5-turbo'
91+
param chatGptModelName string = startsWith(openAiHost, 'azure') ? 'gpt-35-turbo' : 'gpt-3.5-turbo'
9192
param chatGptModelVersion string = '0613'
9293
param embeddingDeploymentName string // Set in main.parameters.json
9394
param embeddingDeploymentCapacity int = 30
@@ -245,6 +246,7 @@ module backend 'core/host/appservice.bicep' = {
245246
APPLICATIONINSIGHTS_CONNECTION_STRING: useApplicationInsights ? monitoring.outputs.applicationInsightsConnectionString : ''
246247
// Shared by all OpenAI deployments
247248
OPENAI_HOST: openAiHost
249+
AZURE_OPENAI_CUSTOM_URL: azureOpenAiCustomUrl
248250
AZURE_OPENAI_EMB_MODEL_NAME: embeddingModelName
249251
AZURE_OPENAI_CHATGPT_MODEL: chatGptModelName
250252
AZURE_OPENAI_GPT4V_MODEL: gpt4vModelName

infra/main.parameters.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@
8080
"openAiHost": {
8181
"value": "${OPENAI_HOST=azure}"
8282
},
83+
"azureOpenAiCustomUrl":{
84+
"value": "${AZURE_OPENAI_CUSTOM_URL}"
85+
},
8386
"openAiApiKey": {
8487
"value": "${OPENAI_API_KEY}"
8588
},

0 commit comments

Comments
 (0)