|
5 | 5 | "_generator": {
|
6 | 6 | "name": "bicep",
|
7 | 7 | "version": "0.34.44.8038",
|
8 |
| - "templateHash": "5725756876467977390" |
| 8 | + "templateHash": "5995671308040328650" |
9 | 9 | }
|
10 | 10 | },
|
11 | 11 | "parameters": {
|
|
40 | 40 | "defaultValue": "gpt-4o-mini",
|
41 | 41 | "allowedValues": [
|
42 | 42 | "gpt-4o-mini",
|
43 |
| - "gpt-4o", |
44 |
| - "gpt-4" |
| 43 | + "gpt-4o" |
45 | 44 | ],
|
46 | 45 | "minLength": 1,
|
47 | 46 | "metadata": {
|
|
82 | 81 | "imageTag": {
|
83 | 82 | "type": "string",
|
84 | 83 | "defaultValue": "latest"
|
| 84 | + }, |
| 85 | + "AzureOpenAILocation": { |
| 86 | + "type": "string", |
| 87 | + "defaultValue": "eastus2", |
| 88 | + "allowedValues": [ |
| 89 | + "australiaeast", |
| 90 | + "eastus", |
| 91 | + "eastus2", |
| 92 | + "francecentral", |
| 93 | + "japaneast", |
| 94 | + "norwayeast", |
| 95 | + "southindia", |
| 96 | + "swedencentral", |
| 97 | + "uksouth", |
| 98 | + "westus", |
| 99 | + "westus3" |
| 100 | + ], |
| 101 | + "metadata": { |
| 102 | + "description": "Azure OpenAI Location" |
| 103 | + } |
| 104 | + }, |
| 105 | + "AZURE_LOCATION": { |
| 106 | + "type": "string", |
| 107 | + "defaultValue": "", |
| 108 | + "metadata": { |
| 109 | + "description": "Set this if you want to deploy to a different region than the resource group. Otherwise, it will use the resource group location by default." |
| 110 | + } |
85 | 111 | }
|
86 | 112 | },
|
87 | 113 | "variables": {
|
|
312 | 338 | "virtualDesktopScalingPlan": "vdscaling-"
|
313 | 339 | }
|
314 | 340 | },
|
315 |
| - "uniqueId": "[toLower(uniqueString(parameters('environmentName'), subscription().id, resourceGroup().location))]", |
| 341 | + "solutionLocation": "[if(empty(parameters('AZURE_LOCATION')), resourceGroup().location, parameters('AZURE_LOCATION'))]", |
| 342 | + "uniqueId": "[toLower(uniqueString(parameters('environmentName'), subscription().id, variables('solutionLocation')))]", |
316 | 343 | "solutionPrefix": "[format('ca{0}', padLeft(take(variables('uniqueId'), 12), 12, '0'))]",
|
317 | 344 | "abbrs": "[variables('$fxv#0')]",
|
318 |
| - "resourceGroupLocation": "[resourceGroup().location]", |
319 |
| - "solutionLocation": "[variables('resourceGroupLocation')]", |
320 | 345 | "functionAppSqlPrompt": "Generate a valid T-SQL query to find {query} for tables and columns provided below:\r\n 1. Table: Clients\r\n Columns: ClientId, Client, Email, Occupation, MaritalStatus, Dependents\r\n 2. Table: InvestmentGoals\r\n Columns: ClientId, InvestmentGoal\r\n 3. Table: Assets\r\n Columns: ClientId, AssetDate, Investment, ROI, Revenue, AssetType\r\n 4. Table: ClientSummaries\r\n Columns: ClientId, ClientSummary\r\n 5. Table: InvestmentGoalsDetails\r\n Columns: ClientId, InvestmentGoal, TargetAmount, Contribution\r\n 6. Table: Retirement\r\n Columns: ClientId, StatusDate, RetirementGoalProgress, EducationGoalProgress\r\n 7. Table: ClientMeetings\r\n Columns: ClientId, ConversationId, Title, StartTime, EndTime, Advisor, ClientEmail\r\n Always use the Investment column from the Assets table as the value.\r\n Assets table has snapshots of values by date. Do not add numbers across different dates for total values.\r\n Do not use client name in filters.\r\n Do not include assets values unless asked for.\r\n ALWAYS use ClientId = {clientid} in the query filter.\r\n ALWAYS select Client Name (Column: Client) in the query.\r\n Query filters are IMPORTANT. Add filters like AssetType, AssetDate, etc. if needed.\r\n Only return the generated SQL query. Do not return anything else.",
|
321 | 346 | "functionAppCallTranscriptSystemPrompt": "You are an assistant who supports wealth advisors in preparing for client meetings. \r\n You have access to the client’s past meeting call transcripts. \r\n When answering questions, especially summary requests, provide a detailed and structured response that includes key topics, concerns, decisions, and trends. \r\n If no data is available, state 'No relevant data found for previous meetings.",
|
322 | 347 | "functionAppStreamTextSystemPrompt": "You are a helpful assistant to a Wealth Advisor. \r\n The currently selected client's name is '{SelectedClientName}', and any case-insensitive or partial mention should be understood as referring to this client.\r\n If no name is provided, assume the question is about '{SelectedClientName}'.\r\n If the query references a different client or includes comparative terms like 'compare' or 'other client', please respond with: 'Please only ask questions about the selected client or select another client.'\r\n Otherwise, provide thorough answers using only data from SQL or call transcripts. \r\n If no data is found, please respond with 'No data found for that client.' Remove any client identifiers from the final response."
|
|
671 | 696 | "value": "[variables('solutionPrefix')]"
|
672 | 697 | },
|
673 | 698 | "solutionLocation": {
|
674 |
| - "value": "[variables('resourceGroupLocation')]" |
| 699 | + "value": "[parameters('AzureOpenAILocation')]" |
675 | 700 | },
|
676 | 701 | "keyVaultName": {
|
677 | 702 | "value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, resourceGroup().name), 'Microsoft.Resources/deployments', 'deploy_keyvault'), '2022-09-01').outputs.keyvaultName.value]"
|
|
2475 | 2500 | },
|
2476 | 2501 | "mode": "Incremental",
|
2477 | 2502 | "parameters": {
|
| 2503 | + "solutionLocation": { |
| 2504 | + "value": "[variables('solutionLocation')]" |
| 2505 | + }, |
2478 | 2506 | "HostingPlanName": {
|
2479 | 2507 | "value": "[format('{0}{1}', variables('abbrs').compute.appServicePlan, variables('solutionPrefix'))]"
|
2480 | 2508 | },
|
|
2641 | 2669 | "_generator": {
|
2642 | 2670 | "name": "bicep",
|
2643 | 2671 | "version": "0.34.44.8038",
|
2644 |
| - "templateHash": "160171358527496715" |
| 2672 | + "templateHash": "2369588288479285540" |
2645 | 2673 | }
|
2646 | 2674 | },
|
2647 | 2675 | "parameters": {
|
| 2676 | + "solutionLocation": { |
| 2677 | + "type": "string", |
| 2678 | + "metadata": { |
| 2679 | + "description": "Solution Location" |
| 2680 | + } |
| 2681 | + }, |
2648 | 2682 | "HostingPlanSku": {
|
2649 | 2683 | "type": "string",
|
2650 | 2684 | "defaultValue": "B2",
|
|
2999 | 3033 | "type": "Microsoft.Web/serverfarms",
|
3000 | 3034 | "apiVersion": "2020-06-01",
|
3001 | 3035 | "name": "[parameters('HostingPlanName')]",
|
3002 |
| - "location": "[resourceGroup().location]", |
| 3036 | + "location": "[parameters('solutionLocation')]", |
3003 | 3037 | "sku": {
|
3004 | 3038 | "name": "[parameters('HostingPlanSku')]"
|
3005 | 3039 | },
|
|
3013 | 3047 | "type": "Microsoft.Web/sites",
|
3014 | 3048 | "apiVersion": "2020-06-01",
|
3015 | 3049 | "name": "[parameters('WebsiteName')]",
|
3016 |
| - "location": "[resourceGroup().location]", |
| 3050 | + "location": "[parameters('solutionLocation')]", |
3017 | 3051 | "identity": {
|
3018 | 3052 | "type": "SystemAssigned, UserAssigned",
|
3019 | 3053 | "userAssignedIdentities": {
|
|
0 commit comments